• 締切済み

form入力数字 をphpでurlの後ろ反映させる方法

html の <form method="GET" action="post.php"> <input name="u_id" type="text" size="10"> <input type="submit" value="login"> </form> に入力された数字を以下のurlの後ろの●●に反映させhttp://localhost/schuler/php/pic/detail.php?num=●● ページを表示させたいのですが、どのように構文を作成すればよろしいでしょうか。 post.php ファイルを以下のように作成いたしましたが、全く反映されません。アドバイスをよろしくお願いいたします。 <?php $strKey = urlencode($_POST['u_id']); header("Location: http://localhost/schuler/php/pic/detail.php?num=$strKey"); ?>

みんなの回答

  • wp_
  • ベストアンサー率54% (132/242)
回答No.2

何故そのような回りくどい処理をするのかはあえて追求しますまい。 >$strKey = urlencode($_POST['u_id']); POSTになってます。GETメソッドの場合は$_GETで取得します。 $strKey = urlencode($_GET['u_id']); // $_REQUESTは「$_REQUESTを使う」という確固たる信念の元に // 設計されたシステム以外での使用は避けるべきです。 http://jp2.php.net/manual/ja/reserved.variables.php#reserved.variables.request http://jp2.php.net/variables.predefined ですが、Locationヘッダをリクエストしネットワークに無駄な負荷をかけるよりかは javascriptを用いてクライアント側で値を操作し送信する方が環境にやさしいです。 // そうは出来ない環境なのかもしれませんが <form method="GET" action="post.php" onsubmit="on()" id='f'> <input name="u_id" id='u_id' type="text" size="10" /> <input type="submit" value="login" /> <input type="hidden" name="num" value="" /> </form> <script type="text/javascript"><!-- function on() {  document.getElementById('num').value = document.getElementById('u_id').value;  document.getElementById('u_id').value = "";  document.getElementById('f1').submit(); } // --></script>

  • tumeno
  • ベストアンサー率41% (5/12)
回答No.1

まず、$strKeyは正しく入っているかを確認しましょう。 formは method="GET" ですよね。 GETの場合は$_REQUEST['u_id'])です。 または、method="POST"に変更しましょう。

takeranman
質問者

お礼

早速のご返答ありがとうございます。 phpファイルの方を method="POST" に修正し無事解決いたしました。

関連するQ&A

専門家に質問してみよう