- ベストアンサー
携帯サイトの入力フォームについて!修正画面編
こんにちわ! お世話になります。 すごく初歩的な質問になってしまいます。 入力フォームを作っているんですけど・・。 入力→確認→修正→完了 ぜんぶ1ページにまとめて作ってるんですけど現在、確認画面から修正画面に行くときにGETメソッドになってしまいます。 確認画面のソースです。 <form id="form1" name="form1" method="post" action="Auction.php?1=<?=$_POST['1'];?>"> 入力内容:<?=$_POST['1'];?> <input type="submit" name="Submit" value="修正" /><input type="submit" name="Submit" value="完了" /> </form> せっかくPOSTで受け取っているのに修正するときはGETになっていてちょっとおかしいですよね。。。 いまいち入力フォームは苦手項目なので分かりません。。。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
<form id="form1" name="form1" method="post" action="Auction.php"> <input type="hidden" name="1" value="<?=$_POST['1']?>"> 入力内容:<?=$_POST['1'];?> ってな風に、引き継ぎパラメータをhiddenにすればいいのではないでしょうか。 method="post"を指定していても、GETパラメータがついていると うまく動作してくれません。
その他の回答 (2)
- sykt1217
- ベストアンサー率34% (277/798)
#2です。 たぶんなんですけど、PHPとHTMLの関係があまりわかってないのかな?って思います。 例えば <input type="text" name="txtUkeTukeNo"> というテキストがHTML側にあるとして、フォームアクションが自画面、メソッドはPOSTだったとします。 とした場合、submitボタンが押されたら、自画面が再描画されます。 この際にPHP側で $_POST["txtUkeTukeNo"] とすると、「テキスト名:txtUkeTukeNo」に入力された値を取得することができます。 コントロール名(今回の場合はテキスト名)をキーにポストする、という点は理解されていますか?
お礼
こんにちわ! またまた有り難う御座いますっ! 基本的な受け渡しは分かっているつもりなんですけど・・・。 修正になってしまうと分かりません。 name= 1~6の項目あります。 <?=$_POST["1"];?> <?=$_POST["2"];?>等にて受け取ることまでは分かります。 これらをまた戻すになると分からなくなります。 確認画面に <input name="6" type="hidden" value="<?=$_POST[6];?>"> を入れて初めの入力画面に<?=$_POST["1"];?>と入れても確認画面には出ていたはずの<?=$_POST["1"];?>の項目が出てくれません。
補足
間違いました。 先程のお礼の訂正いたします。 確認画面に <input name="1" type="hidden" value="<?=$_POST[1];?>"> を入れて初めの入力画面に<?=$_POST["1"];?>と入れても確認画面には出ていたはずの<?=$_POST["1"];?>の項目が出てくれません。 こちらの間違いです。[]番号 [6] と[1]の間違いです。
- sykt1217
- ベストアンサー率34% (277/798)
ん~・・・どこから説明すればいいでしょうね^^; まず、フォームアクションにGETパラメータを渡す必要はないですよね。 JavaScriptの、 document.FormName.action = "Action.php"; などでフォームアクションは変更できますので、それを制御に用いればポストできるのではありませんか? それでなければ無条件にセッション($_SESSION)を使うのも手です。 ゲットパラメータはハッシュチェックなど以外は、あまり使用しない方がいいです^^;
お礼
ありがとう御座いますっ! ゲットパラメータはあんまり使わないんですね! でもちょっとドキュメントとか分かりません・_・ tetarea のフォームも一緒になっているのでお手上げです。
補足
出来たみたいです! いろいろすみませんでした。 有り難う御座いましたm(_ _)m
お礼
こんにちわ! 有り難う御座いますっ! ちなみに↓の確認画面に入れるんですか! <input type="hidden" name="1" value="<?=$_POST['1']?>">
補足
できました! <input type="hidden" name="1" value="<?=$_POST['1']?>"> のソースって言うのは実際は目に見えていないんですね。。。 受け渡しのためのプログラムだったんですね! 助かりました^^ 有り難う御座いました!