-3

重複の可能性:
PHPの「警告:ヘッダーはすでに送信されています」

<?php
 session_start(); 

 $_SESSION['page'] = "test.php";

 echo "Page to load in iframe = ". $_SESSION['page']; 

 setcookie('PagetoShow', $_SESSION); 

 if(isset($_COOKIE['PagetoShow']))
$Page = $_COOKIE['PagetoShow']; 
echo "Page to load in iframe = ". $Page;
 else
$Page="welcome.php"

 ?>

構文エラーだと思いますが、phpが少なすぎるか、まったくわかりません。なにが問題ですか?

4

2 に答える 2

2
<?php
 session_start(); 

 $_SESSION['page'] = "test.php";

少なくともsession_start()、セッションキーを設定する前に実行することを忘れないでください。

 echo "Page to load in iframe = ". $_SESSION['page']; 

 setcookie('PagetoShow', $_SESSION); 

これには問題があります。Cookieはヘッダーフィールドで送信されますが、何かをエコーすることですでにヘッダーをフラッシュしています。

 if(isset($_COOKIE['PagetoShow']))
$Page = $_COOKIE['PagetoShow']; 
echo "Page to load in iframe = ". $Page;
 else
$Page="welcome.php"

ここに構文エラーがあります。if-bodyの括弧を追加する必要があります。

if(isset($_COOKIE['PagetoShow'])) {
    $Page = $_COOKIE['PagetoShow']; 
    echo "Page to load in iframe = ". $Page;
}

いくつかのドキュメント:

于 2012-11-13T22:05:12.740 に答える
0

の2番目の引数setcookieは文字列である必要があります-配列($ _SESSION)を渡します。できるよ:

 $_SESSION['page'] = "test.php"; 

 setcookie('PagetoShow', $_SESSION['page']); // <-- this is the only change needed

 if(isset($_COOKIE['PagetoShow']))
   $Page = $_COOKIE['PagetoShow']; 
   echo "Page to load in iframe = ". $Page;
 else
   $Page="welcome.php"
于 2012-11-13T21:52:26.853 に答える