プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (2件)

includeかrequireでどうでしょうか


f ($check2==1) {
include("check2.php");
exit;
}
else{・・・・・・・・
    • good
    • 3
この回答へのお礼

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

お礼日時:2005/06/27 13:42

変数はそのスクリプト内のみで有効です。

readfileを使ってcheck2.phpを開いていますが、check2.phpは別なスクリプトファイルなので、変数は引き継がれません。ですので、変数を引き継ぐのであればパラメータで渡してやるか、セッションを使うしかないです。

とりあえず簡単に行うには
$utl="http://localhost/check2.php?tuki=$tuki&ome=$ome& …の形で、パラメータを渡してあげて下さい。この時はGETでデータが渡されるので、chech2.phpでは$_GETで変数を受け取る必要があります。

セッションを使うのであれば、両方のページのスクリプトの最初の方でsession_start()関数を実行し、check1.phpで引き継ぎたい変数を$_SESSION["変数名"]でセッション変数に格納します。そしてcheck2.phpで$_SESSION["変数名"]で参照して下さい。
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/06/27 13:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています