2012-05-05 6 views
-1

セッション変数に基づいてループを実行しようとしています。 最初のページでセッションを読み込みません。 セッションを設定すると、セッション変数と警告が設定されます。PHPループセッション変数

問題は、それがすべてのページのロード:(

` 
<!-- language: lang-php --> 

$check = $_SESSION['cache']; 

if ($check == "xYx") { 

echo $word; 
} else { 

session_start(); 
?><script>alert ("Im reading it again !")</script><? 

echo $word; 
$_SESSION['cache'] = "xYx"; 
} 

`

+2

セッションを開始する前にセッションを開始する必要があります。 –

+0

はポイントの種類なので、最初に$ checkを読むとxYxと等しくないので、セッションを作成して$ checkをxYxに設定します。 – Tanjitsu

+0

Alexが言ったように、$ _SESSIONスーパーグローバルを使う前にsession_start()を呼び出さなければなりません。 "読み込みコールバックは保存されたセッションデータをPHPセッション処理に戻すときに、($ _SESSIONのスーパーグローバルを自動的に設定するために)シリアル化されずに使用される既存のセッションデータ(特別なシリアライズされたフォーマットで保存された)を取得します。 http://php.net/manual/en/function.session-start.php – micahwittman

答えて

1

ちょうど行いますthis:

session_start(); 
$check = $_SESSION['cache']; 

if ($check == "xYx") { 

echo $word; 
} else { 

?><script>alert ("Im reading it again !")</script><? 

echo $word; 
$_SESSION['cache'] = "xYx"; 
} 

コメントは次のように単純にsession_start()を移動しているだけです。

+0

完璧な、私はそれがsimplesであることを知っていた。 スピーディーな返信のためのThx。 – Tanjitsu

1
$check = $_SESSION['cache']; 

動作しません
session_start(); 

前に起こる警告する。