- ベストアンサー
header(Location: next.php) だとPOSTした値が渡らない?
文末は(だいぶ端折ってますが), (1) エラーがあればエラー表示, (2) エラーがなければnext.phpに飛ぶ という動作をするのですが, next.php 内に echo $_POST["Name"]; とか echo $_POST["reg"]; とか書いても valueの中身が渡ってきていません. header("Location: next.php"); で飛ばすとだめなのでしょうか. http://oshiete1.goo.ne.jp/qa2706500.html でも,#2さんのアドバイスのようにしようとしましたが, #1さんのご教示のように,セッションを利用するしかないですか? ちょっとセッションで値の渡し方がチンプンカンプンなのですが・・・ <?php session_cache_limiter('none'); session_start(); header("Cache-control:no-cache"); header("Pragma:no-cache"); $errFlg=false; if ( $_POST["reg"] == "" ) $errFlg = true; if ( !$errFlg ) { if ( $_POST["Name"] == "" ) { $errFlg = true; $errStr["Name"] = "未入力"; } } if ( $errFlg ) { ?> <html><body> <form method="post" action="<?php $_SERVER["PHP_SELF"] ?>"> <?= $errStr["Name"] ?></td> <input type="text" name="Name" value="<?php echo $_POST["Name"]; ?>"> <input type="submit" name="reg" value="登録"></td> </form> </body></html> <?php } else { header("Location: next.php"); } ?>
- みんなの回答 (2)
- 専門家の回答
お礼
php504さん 早速のご回答ありがとうございました. シンプルな解決方法で,直ぐに飛びつきました. 早速ご教示のとおりに組み込んでみたのですが, (1) $_POST["Name"];は渡ってくるのですが $_POST["reg"];(登録ボタンのvalue)が渡ってこないことと, > else { > require "next.php"; > } の下に書いてある $con = mysql_close($con); が 「Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource ....」 などとエラーを吐いてしまいます(原因突き止められず) 引き続き調査しているところですが, もし他に方法があったらよろしくお願い致します.