- ベストアンサー
別PHPファイルに変数を渡す
PHP初心者です。宜しくお願いいたします。 下記はcheck1.phpです。途中で $check2=1の場合は分岐でcheck2.phpにジャンプさせたいのですが、ジャンプした後は変数がすべて消えてしまうようです。check1.phpで得た変数を、そのままcheck2.phpで利用したい場合はどうすればいいのでしょうか? -------------------------------------------------- if ($_POST['write']) { $tuki= get_form($_POST["tuki"]); $ome = get_form($_POST["ome"]); $check1 = get_form($_POST["check1"]); $check2 = get_form($_POST["check2"]);} if ($check2==1) {$url="http://localhost/check2.php"; readfile($url);} else{・・・・・・・・ --------------------------------------------------
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
includeかrequireでどうでしょうか f ($check2==1) { include("check2.php"); exit; } else{・・・・・・・・
その他の回答 (1)
- wakame0729
- ベストアンサー率32% (245/765)
変数はそのスクリプト内のみで有効です。readfileを使ってcheck2.phpを開いていますが、check2.phpは別なスクリプトファイルなので、変数は引き継がれません。ですので、変数を引き継ぐのであればパラメータで渡してやるか、セッションを使うしかないです。 とりあえず簡単に行うには $utl="http://localhost/check2.php?tuki=$tuki&ome=$ome&check1=$check1&check2=$check2";の形で、パラメータを渡してあげて下さい。この時はGETでデータが渡されるので、chech2.phpでは$_GETで変数を受け取る必要があります。 セッションを使うのであれば、両方のページのスクリプトの最初の方でsession_start()関数を実行し、check1.phpで引き継ぎたい変数を$_SESSION["変数名"]でセッション変数に格納します。そしてcheck2.phpで$_SESSION["変数名"]で参照して下さい。
お礼
パラメータで渡す方法でも完璧に出来ました。セッションはまだ理解していないので試していないのですが、勉強がてら試行してみようと思います。ありがとうございました。
お礼
超早のご回答ありがとうございます。意図したことは完璧にできました。ありがとうございました。PHP便利です。