POSTに対する認識とは?

このQ&Aのポイント
  • POSTに対しての認識は下記でよいでしょうか?
  • POSTメソッドの使い方とは?
  • POSTメソッドで値を取得する方法は?
回答を見る
  • ベストアンサー

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
  • 回答数2
  • ありがとう数2

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

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

JavaScriptでは、PHPでは、…ということよりも、 GETやPOSTはHTTPというHTMLなどのコンテンツの送受信に用いられる通信プロトコルで定義されているデータの受け渡しの仕方の話です。 PHPもHTMLのフォームを使ってデータを送信・受信する場合には、 HTMLのINPUTタグを使って各データを渡すことになり、 その変数の名前をName属性に、値をValue属性に設定して送ることになっているだけです。 それとは別に、JavaScriptではWebサーバと送受信せずにWebクライアント(ブラウザ)上だけで動作させることができるので、HTMLなどに設定したデータを getElementByIdでID属性から値を取得することもあれば、getElementByNameやgetElementByTagNameでName属性やタグの種類から値を取得することもできます。 PHPとJavaScriptではプログラムが動作している場所が違うということだと思います。

okweb12345
質問者

お礼

>>> <form method="POST" action="hoge.php"> <input type="text" name="text1" value="あいうえお"> <input type="text" name="text2" value="かきくけこ"> <input type="text" name="text3" value="12335"> <input type="submit" value="送信"> </form> action="hoge.php" は、上からhtmlを実行していってこのformタグを処理するときとど叔父にhogephpファイルの中身を実行し、 その後子要素のinputを処理していくという事でしょうか? >>> <input type="text" name="text1" value="あいうえお"> <input type="text" name="text1" value="あいうえお"> であればtext1が変数名あいうえおがその中に代入されている値となるという事でしょうか? 最後に少し話がそれてしまいますが、phpはjsと同じようにhtml内どこにでも記載できますが、 jsはそのまま記載せずにsxriptタグだけ記載して、中身は外部ファイル化する方が良いとされていますが、 phpも<?phpだけ書いてインクルード(外部ファイルの読み込みの事?)する方が良いソースなのでしょうか? jsはbody終了直前にすべて記載しますがphpはどうでしょうか?

その他の回答 (1)

回答No.1

<form method="POST" name="text1"> ~ </form> の内側、つまり、FORM要素内にある、<input>の内容が渡されます。 <form method="POST" action="hoge.php"> <input type="text" name="text1" value="あいうえお"> <input type="text" name="text2" value="かきくけこ"> <input type="text" name="text3" value="12335"> <input type="submit" value="送信"> </form> だった場合、hoge.php側へ、 $_POST["text1"] の値が "あいうえお" $_POST["text2"] の値が "かきくけこ" $_POST["text3"] の値が "12345" という具合に渡されます。

okweb12345
質問者

お礼

form内のすべてのinputだったんですね。 それが渡されたファイルで受け取ったテキストを利用できるようになるのですね。 例えば渡されたファイルに echo('text1') ときさいすれば 対象のinput内のテキストが表記されるのですね。 フロントjsは要素をid名などで取得しますがphpはname属性の値で取得するのでしょうか?

関連するQ&A

  • 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
  • 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
  • POSTで送りたい

    PHP初心者です HTMLタグが混じっ文字をHTMLごとPOSTで次ページに送る方法を教えてください ここでは<p><a href="./">TOPに戻る</a></p>をポストしたいです <form action = "test_view.php" method = "post" > <input type="text" name="<p><a href="./">TOPに戻る</a></p>"> <input type="submit" name="" value="送信"> </form> よろしくお願いします

    • ベストアンサー
    • PHP
  • 複数のフォームから送信

    複数のフォームからtextの値を送信したいのですができますか?〒番号を入力して検索ボタンをおすと住所がでてきて最後に登録をしたいです。検索だけのプログラムはできてますがフォームを二つにすると両方のsubmitが登録になります・・・ 一応自分でいろいろためしましたがだめでした。。。 html,php,javascriptです。 二つともだめでした。。。。 rei1.php ------------------------- <html> <body <form method="POST" action="1.php"> お名前:<input type="text" name="name"> <br> <br> <form method="POST" action="yubin.php"> 〒:<input type="text" name="yubin"> <input type="submit" value="検索"> <br> 住所:<input type="text" name="zyu"> <br> </form> メールアドレス:<input type="text" name="email"> <br> <input type="submit" value="登録する"> </form> </body> </html> -------------------------------------- rei2.php -------------------------------------- <html> <head> <script language="javascript"><!-- function send() { document.nform.submit(); document.nform2.submit(); document.nform3.submit(); } //--></script> </head> <body> <form name="nform" method="POST" action="1.php"> お名前:<input type="text" name="name"> <br> </form> <form name="nform2" method="POST" action="yubin.php"> 〒:<input type="text" name="yubin"> <input type="submit" value="検索"> <br> 住所:<input type="text" name="zyu"> <br> </form> <form name="nform3" method="POST" action="1.php"> メールアドレス:<input type="text" name="email"> <br> <input type="submit" value="登録する"> </form> </body> </html> ------------------------------------

  • postのタイムラグ

    以下のソースでPOSTの値が取れないときがあるので困っています。 具体的にはページを表示してから30秒程度待ってからの クリックじゃないとPOSTの値が取れません。 GETの場合はページ表示後すぐにボタンをクリックしても大丈夫でした。 原因が分からず途方に暮れています。 お知恵をお貸しください。 PHP Version 5.2.3 <?php $P_data = $_POST["pg"]; print("POST=>".$P_data."<BR>"); $G_data = $_GET["pg"]; print("GET=>".$G_data."<BR>"); print <<< DOC_END <html> <head> </head> <body> DOC_END; echo"<form action=test.php method=post>"; echo"<input type=hidden name=pg value=1>"; echo"<input type=submit value=あ>"; echo"</form>"; echo"<form action=test.php method=post>"; echo"<input type=hidden name=pg value=2>"; echo"<input type=submit value=い>"; echo"</form>"; echo"<form action=test.php>"; echo"<input type=hidden name=pg value=3>"; echo"<input type=submit value=う>"; echo"</form>"; echo"<form action=test.php>"; echo"<input type=hidden name=pg value=4>"; echo"<input type=submit value=え>"; echo"</form>"; print <<< END </body> </html> END; ?>

    • 締切済み
    • PHP
  • post送信のについて

    post送信について ボタン部分は画像にし、下記のように設定しましたが ちゃんとできてますでしょうか?ボタンを押しても飛ぶのはとびますが ちゃんとPOST送信になってるのか不安です。 ちなみにURLを残さないようにしてるはずがfirefoxだと残ってましたので 間違ってると思ってます。。 <script type="text/javascript" > var element = document.createElement("input"); document.form[0].appendChild(element); document.form[0].method = "post"; document.form[0].action = "test.aspx"; </script> <body> <form action="URL" method="post"> <input name="form1" type="image" src="images/test.jpg" alt=""> </form> <form action="URL2" method="post"><input name="form2" type="image" src="images/test.jpg" alt=""> </form> </body>

  • 同一ページの複数のフォーム通信

    お世話になります。 <form method='POST' action='#1'> <input name='text1'> <input name='text2'> <form method='POST' action='#2'> <input name='text3'> <input method='submit' value='B'> </form> <input method='submit' value='A'> </form> Aにて text1,2,3を#1へ送信 Bにて text3を#2へ送信 したいのですが、上手くできません。 <form></form>で囲まれている中に 更に<form></form>する事はできないのでしょうか? 代替案はありますか?? よろしくお願いします。

  • open.window(javascript) を使わないで、新規windowを3つ開く方法

    JavaScpript の open.window を使うと、値がGET で渡ってしまいます。 POST でデータを渡したいので、FORM で window を 3つ開く方法って ないでしょうか? <FORM method=POST name=form1 target="window1" ACTION="/cgi-bin/search1.pl"> <input type="text" name="searchword1"> </form> <FORM method=POST name=form1 target="window2" ACTION="/cgi-bin/search2.pl"> <input type="text" name="searchword2"> </form> <FORM method=POST name=form1 target="window3" ACTION="/cgi-bin/search3.pl"> <input type="text" name="searchword3"> </form> の 3 つのフォームを 1 つの <input type="submit" name="Search" value=" 検索 "> で起動させるってことです。 (または、open.windows で値を渡すとき、POST で渡したい) よろしくお願いします。

    • ベストアンサー
    • CGI
  • form変数の初期化

    <br /><b>Notice</b>: Undefined index: your_name in <b>C:\xampp\htdocs\test\index.php</b> on line <b >83</b><br /> 入力画面で上記のエラーが解決しません。 どうすればいいでしょうか? 入力画面 <?php $_POST = array(); ?> <form method="post" action="./form_check.php"> <div class="element_wrap"> <label>氏名</label> <input type="text" name="your_name" value="<?php echo $_POST["your_name"]?>"> </div> <div class="element_wrap"> <label>メールアドレス</label> <input type="text" name="email" value=""> </div> <input type="submit" name="btn_confirm" value="入力内容を確認する"> </form> 確認画面 <?php $your_name = $_POST["your_name"]; ?> <form method="post" action="./test.php"> <div class="element_wrap"> <label>氏名</label> <p><?php echo $your_name; ?></p> </div> <div class="element_wrap"> <label>メールアドレス</label> <p><?php echo $_POST['email']; ?></p> </div> <input type="submit" name="btn_submit" value="送信"> </form> <form method="post" action="./index.php"> <!--<input type="button" name="btn_back" onclick="history.back()" value="戻る">--> <input type="submit" name="btn_back" value="戻る"> <input type="hidden" name="your_name" value="<?php echo $_POST['your_name']; ?>"> <input type="hidden" name="email" value="<?php echo $_POST['email']; ?>"> </form>

    • 締切済み
    • PHP
  • 一つのformで、複数のaction指定

    レイアウトなどの関係で、formの配置が基本とは異なるものになってしまい、うまく動作させる方法が見つからず困っています。 現在は <form> <input type="checkbox" name="select[]" value="●●"> <input type="checkbox" name="select[]" value="●●"> <input type="checkbox" name="select[]" value="●●"> </form> …… <form method="POST" action="A.php"> <input type="submit" name="aa" value="あああ"> </form> <form method="POST" action="B.php"> <input type="submit" name="bb" value="いいい"> </form> <form method="POST" action="C.php"> <input type="submit" name="cc" value="ううう"> </form> <form method="POST" action="D.php"> <input type="submit" name="dd" value="えええ"> </form> のようになっていて、チェックボックスの値を送信したいのは、Dのボタンを押したときだけPOSTされるようにしたい状態です。 この値を取得する方法か、もしくは <form method="POST" action="(ボタンに応じたもの)"> <input type="checkbox" name="select[]" value="●●"> <input type="checkbox" name="select[]" value="●●"> <input type="checkbox" name="select[]" value="●●"> …… <input type="submit" name="aa" value="あああ"> <input type="submit" name="bb" value="いいい"> <input type="submit" name="cc" value="ううう"> <input type="submit" name="dd" value="えええ"> </form> このように、一つのフォームの中に埋めてしまい、actionに入る値をボタンによって分ける方法はありませんでしょうか? もしくは他の方法でも構いません。 お分かりの方がいましたら、是非ご教授お願いいたします。

    • 締切済み
    • PHP

専門家に質問してみよう