• ベストアンサー

別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{・・・・・・・・ --------------------------------------------------

質問者が選んだベストアンサー

  • ベストアンサー
  • carroll
  • ベストアンサー率61% (13/21)
回答No.1

includeかrequireでどうでしょうか f ($check2==1) { include("check2.php"); exit; } else{・・・・・・・・

fireghl
質問者

お礼

超早のご回答ありがとうございます。意図したことは完璧にできました。ありがとうございました。PHP便利です。

その他の回答 (1)

回答No.2

変数はそのスクリプト内のみで有効です。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["変数名"]で参照して下さい。

fireghl
質問者

お礼

パラメータで渡す方法でも完璧に出来ました。セッションはまだ理解していないので試していないのですが、勉強がてら試行してみようと思います。ありがとうございました。

関連するQ&A