• ベストアンサー

ブラウザからPOSTで受け取れるデータについて

ブラウザからPOSTで受け取れるデータについて 理解不足で調べてみたのですが、よくわからないので教えてください。 <input name="NAMAE" type="text"... で入力したデータがsubmit後、POSTで受け取れるのはわかったのですが 何も入力しないでsubmitした場合、 NAMAE="" のように取得できると思っていたのですが NAMAEという環境変数名(?)そのものが標準入力で取得できないのでしょうか? よろしくお願いします。

  • jg1wjz
  • お礼率91% (148/162)
  • CGI
  • 回答数1
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

HTML4/XHTMLではvalueが入っていない場合、送信する「必要がない」とだけ定義してあります。 http://www.w3.org/TR/html4/interact/forms.html#h-17.13.2 (邦訳 http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/interact/forms.html#h-17.13.2 ) > If a control doesn't have a current value when the form is submitted, user agents are not required to treat it as a successful control. ですので、それを送信するかどうかはブラウザ依存です。 が、たぶんほとんどのブラウザが送信しないと思います。

jg1wjz
質問者

お礼

talooさん、ありがとうございます。 おかげさまで納得できました!

関連するQ&A

  • POSTデータのNAME属性をVALUEによって取得する方法

    HTML→PHPのPOSTデータのやりとりについて、 【HTML】 <form name="form1" method="post" action="xxx.php"> <input name="01" type="text" value="1"> <input name="02" type="text" value="0"> <input name="03" type="text" value="0"> <input name="04" type="text" value="1"> <input type="submit" name="Submit" value="送信"> </form> 【xxx.php】 フォームから送信されたデータを使って、「value」が"1"の「name」を拾うのにはどのように書けばいいでしょう? ↓このように取得したいです。 $data[0]="01"; $data[1]="04"; よろしくお願いします。

    • ベストアンサー
    • PHP
  • フォームデータを保持するには、ブラウザによる違いについてい

    フォームにデータを入力し、一度別のページへ移動し、 また戻ってきたときにデータが保持されたままにするにはどのようにすればよいのでしょうか。 ブラウザによって動作が異なるようで 以下のコードではIE6では保持されますがFirefox3.0.3では保持されません。 test1.html ---------------- <form action="test2.php" method="POST"> <input type="text" name="text" /> <input type="submit" /> </form> ----------------

    • 締切済み
    • PHP
  • POSTに対しての認識は下記でよいでしょうか?

    POSTに対しての認識は下記でよいでしょうか? http://www.phpbook.jp/appli/form/index3.html ・<form method="POST" action="./kaitou2.php">' action指定のphpファイルに入力した情報が渡される。 ・method="POST POSTという転送方法を採用 ・<form method="POST" name="text1"> <input type="submit" name="btn1" value="回答"> </form> </body> </html> name="text1" どのようその値を取得するか。getelementbyidと同じこれがついている要素の値を取得して下記に渡される。 $input_data = (int)$_POST['text1'];

    • ベストアンサー
    • PHP
  • $_POST['hoge']のデータをフラッシュするには

    <form method="post" action=""> <input type="text" name="hoge1" value="$_POST['hoge1']"> <input type="text" name="hoge2" value="$_POST['hoge2']"> <input type="submit" value="送信"> </form> データ送信してもフォーム内にデータが残るようにしたのですが、HTMLをこのままにして、PHPの方で$_POST['hoge']の中身を消去したいのですが、どのようにすればいいでしょうか? 記入漏れの時にはそのデータが残り、すべてを記入してデータ送信後は再び何も書かれていない状態にしたいのです。できれば、Javascriptを使わないでやりたいと考えています。よろしくお願い致します。

    • 締切済み
    • PHP
  • POSTで配列のデータを渡す方法は?

    初歩的な質問で申し訳ございません。配列でデータを入力し、POSTで配列のデータを渡す方法を知らなくて困っています。いろいろ調べましたが、見つかりません。 だれか、教えてください。 ..... &ReadParse(*in); for ($i = 0 ; $i <=10 ; $i++){    $data[$i] = $in{'data[$i]'}; } sub main { 。。。以下修正部分・。。。 print "<form method=\"POST\" action=\"$userpro\">"; print " <input type=\"hidden\" name=\"mode\" value=\"miss1\"><p>"; print " <input type=\"text\" name=\"data[1]\" size=\"20\" value=\"$data[1] \">"; print " <input type=\"text\" name=\"data[2]\" size=\"20\" value=\"$data[2] \">"; print " <input type=\"text\" name=\"data[3]\" size=\"20\" value=\"$data[3] \">"; ...... print " <p><input type=\"submit\" value=\"修正\" name=\"B1\"></p>\n" ; print "</form>\n" ; ・・・・ } #Submit後実行される関数 sub miss1 { print "Content-type: text/html\n\n"; for ($i = 0 ; $i <=10 ; $i++){ print "$i-$data[$i]<br>"; } exit; } 結果は 0-空(空白) 1-空(空白) 2-空(空白) 。。。 にです。 何が間違っているでしょうか。よろしくお願いします。

    • ベストアンサー
    • Perl
  • フォームから受け取ったデータを変数に/PHP

    入力フォームからデータを送信し、受け取ります。 <form action="index.php" method="post"> <input type="text" name="hoge"> <input type="submit"> </form> <?php echo htmlspecialchars($_POST['hoge']); ?> この時に受けったデータが、「りんご」だとして この「りんご」を変数にしたいです。 ↓ <?php $keyword = "りんご"; ?> このようにするには、 <form action="index.php" method="post"> <input type="text" name="hoge"> <input type="submit"> </form> <?php echo htmlspecialchars($_POST['hoge']); ?> の後にどのような処理をすればよいでしょうか? または初めから「$keyword」としてフォームからデータを送ることはできるのでしょうか? 何卒ご指導の程よろしくお願いします。

    • ベストアンサー
    • PHP
  • POSTで送信したデータを使いたいのですが

    はじめまして、最近やり始めたばっかりの初心者です。 質問なのですがブラウザ上でテキストにデータベース名を入力して <form action=database5.cgi method=post> <input type=text name ="data1"> <INPUT TYPE=submit VALUE=" 送信 "> でdatabase5.cgiにわたして そのcgiのなかで #------------------------------------------<SELECT文 設定> $SQL = "select column_name,data_type from user_tab_columns where table_name = 'この指定の仕方がわからない '"; $hSt = $hDb->prepare($SQL) or die &err_ora; のtable_name として用いたいのですが、いったいどのようにそのテキストに 入力したテーブル名を取り出したらいいのかわからないのです。 あらかじめテーブル名を記述しておいてブラウザ上で呼び出すと結果でる というのはわかったのですが、実際にブラウザ上で任意のテーブル名を いれて同様の結果を得るという操作がどうしてもできません。 まだ初心者な者で質問の仕方も非常にわかりにくいのですが どなたかよきアドバイスをお願いいたします。

  • フォームから値を受け取る方法について

    例えば <form method="post" name="frm" action="mail.php">名前<input type="text" name="namae"><br> 住所<input type="text" name="jyuusyo"><br> 電話番号<input type="text" name="denwa"><br> 職業<input type="text" name="syokugyou"><br> 年齢<input type="text" name="nenrei"><br> <input type="submit" value="送信"><br> </form> というフォームがあるとして、それをmail.phpで 名前を取得する場合$_POST['namae']と書く以外で フォームの1番目の値を取得するというような書き方はあるのでしょうか? frmのパラメータの数(上記の場合5コ)というのは取得出来るのでしょうか? ご存知の方教えてください。お願いします。

    • ベストアンサー
    • PHP
  • POSTされない

    xamppにてローカル環境でやっているのですがなぜか type="file"だけPOSTされません。 ie6とfairefox3で試しましたが取得できませんでした。 調べてみたのですが同様の事例が見つからずわからかったのですが これは何が原因なのでしょうか? ---html--- <form action="index.php" method="post" enctype="multipart/form-data"> <input type="text" name="name" /> <input type="file" name="img" /> <input type="submit" name="send" value="送信する" /> </form> ---php--- if (isset($_POST['send'])) { echo '<pre>'; print_r($_POST); echo '</pre>'; } print_r($_FILES);を試すと正常に値が表示されます。全く意味不明 なのですが何かセキュリティ上の問題などが原因なのでしょうか?

    • 締切済み
    • PHP
  • JavaScriptにおいてPOSTで送信されたデータを取得出来ますか

    <form action="自分" method="POST"> <input type="hidden" name="abc" value="1"> <input type="submit" name="OK" value="OK"> </form> 上記のように、POST渡しで送信したとき、Javascriptにて、hiddenのデータを取得することができるのでしょうか? 出来るのであればその方法を教えてくださいませんか。 よろしくお願いします。

専門家に質問してみよう