- ベストアンサー
a hrefの値渡し
今回も質問させていただきますが、よろしくお願いします。 a hrefを使って別のページに飛ぶときに、いっしょに二つの$変数名に入っている値を渡そうとしたいのですが、うまくいきません。 <html> (input.php) <head> <meta http-equiv="Content-type" content="text/html; charset=EUC-JP"> <title>入力</title> </head> <?php $rand = $_POST['rand']; $charenge= $_POST['charenge']; ?> <body> <h1>値を入力してください</h1> <form action="judgement.php" method="POST"> <input type="text" name="num"/> <input type="submit" value="比較します"> <input type="hidden" name="rand value="<?php echo $rand?>"/> <input type="hidden" name="charenge" value="<?php echo $charenge?>"/> </form> </body> </html> <html> (judgement.php) <head> <meta http-equiv="Content-type" content="text/html; charset=EUC-JP"> <title>比較結果</title> </head> <?php $rand = $_POST['rand']; $charenge = $_POST['charenge']; $num = $_POST['num']; ?> <body> <h1>比較結果</h1> <?php if($num == $rand){ print("あたりです。"); }else{ $charenge++; print("はずれです。 <br/>"); print("<a href=\"input.php\">入力ページ</a>からやり直してください"); } ?> </body> </html> 上のjudgement.phpのif文の中にある, <a href=\"input.php\">入力ページ</a>を どのように変えれば、$randと$charengeの値を input.phpに正しく渡すことができるのでしょうか? アドバイスをお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
print "<a href=\"input.php?rand=$rand&charenge=$charenge\">入力ページ</a>からやり直してください。\n"; として、 input.php の方に、 if(isset($_GET['rand'])) $rand = $_GET['rand']; if(isset($_GET['charenge'])) $jdgmt_= $_GET['charenge']; とすれば受け取れます。 ただ、 $rand = $_POST['rand']; $charenge= $_POST['charenge']; があってバッティングしてしまので、 if(isset($_GET['rand'])) $jdgmt_rand = $_GET['rand']; if(isset($_GET['charenge'])) $jdgmt_charenge= $_GET['charenge']; とかは、どうでしょうか。
その他の回答 (1)
- warez
- ベストアンサー率57% (29/50)
・URL パラメータに仕込む(input.php では GET で受け取る) ・Javascript で input.php に POST する ・クッキーで値を受け渡す ・セッションやファイルや DB で値を受け渡す
お礼
回答ありがとうございます。 渡し方には、何種類もあることを知ることができました。
お礼
回答ありがとうざごいました。 プログラムまで載せていただき参考になりました。
補足
回答を元に、作り替えたら正しく渡すことができましたが、 GETを使うのでrandの値が見えてしまいます。 randの値を隠したいのですが,どうやればいいかわかりません。 よろしければ、アドバイスをお願いします。