人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

CGIについて質問です。商品が複数あって、そこから注文フォームにリンクがあるとき、商品ごとのリンクをクリックすると、注文フォームにいったときに金額、商品名、商品番号がわかるように設定することはできますか。参考となるページなど教えて頂ければ幸いです。よろしくおねがいします。


●質問者: oz8
●カテゴリ:インターネット ウェブ制作
✍キーワード:クリック リンク CGI
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● koujirou
●35ポイント

HTMLのFROMタグを利用して、GETかPOSTで注文フォームCGI送信すればいいのではないでしょうか。


GETの場合

<form action="test.php" method="get"></form>


POSTの場合

<form action="test.php" method="POST"></form>

HTMLのFORMタグに金額、商品名、商品番号を記載します。

ユーザに情報を表示させない場合はFROMタグのhiddenオプションを利用してください。

nameオプションを利用して、金額、商品名、商品番号、などCGIに送信するデータを記入します。

これでFROMは完成します。


CGI側ですが、FROMで利用したnameオプション指定した変数に向けてGET or POSTで取得します。

GETの場合

$money = $_GET['money']


POSTの場合

$money = $_POST['money']

http://www.kanzaki.com/docs/html/htminfo32.html

◎質問者からの返答

ありがとうございます。助かりました。

ちなみに、この変数には日本語をいれることはできるのでしょうか。


2 ● niwa-mikiho
●35ポイント

変数に日本語など a?z、0?9、_ などの文字以外を使うことは上級者にならないと危険と考えた方がいいです。

なので、データベース側に1つ1つの商品に対して重複のないユニークな ID を割り当てる必要があります。

面倒な作業ではありますが、これをしておくことで商品 ID さえ別の CGI に渡してしまえば、そのしょうひんに対する全ての情報が知ることが出来ます。


koujirou6218 さんの回答は PHP なので、perl で書く場合は

<form action="test.cgi" method="get">

<input type="hidden" name="uid" value="postit00_large">

<input type="submit" name="submit" value="詳細">

</form>


CGI から取得するには

use strict;

use CGI;

my $in = new CGI;

my $itemID = $in->param('uid');

で出来ます。


こういった、商品 ID を渡す程度のときには、ユーザーの観点から POST よりも GET の方がおすすめです。


といいますも、ブラウザなどによっては 「期限が切れています。 再送信しますか?」 などのダイアログが出てしまいとても煩わしいです。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ