2009-07-08 5 views
0

を開始します。セッションは、私が持っているheader.phpので

<?php 
if(!isset($_SESSION)) 
{ 
session_start(); 
} 
?> 

と私が持っているのさらに下:

$_SESSION[theme] = $_GET[theme]; 

Basiclyユーザーがウェブサイトのテーマを選択し、ドロップダウンボックスがあり、これが設定されます$ _GET [theme]の値と私は選択を覚えておきたいと思いますが、ページが変更されるとテーマはデフォルトにリセットされます。

header.phpはすべてのページのヘッダーファイルです。これが問題であるかどうかはわかりません。

print_r($ _ SESSION)の場合、Array [theme] =>の後に正しい値が表示されますが、別のページをクリックするとArray [theme] =>が空白にリセットされます。

私を助けてください!あなたはおそらくあなたのheader.phpの中で意図した何

答えて

9

かかわらず、それは$ _GET配列にあるかどうかの$ _SESSION [「テーマ」]を設定したように見えます。この

session_start(); 

//initialise new session 
if (!isset($_SESSION['theme'])) 
{ 
    $_SESSION['theme']='default theme'; 
} 

//change theme if user requested it 
if (isset($_GET['theme'])) 
{ 
    $_SESSION['theme'] = $_GET['theme']; 
} 

のようなものでした。

また、配列インデックスの周りに引用符を使用していることにも注意してください。この目的のためにbarewordsを使用しないでください。

+0

適切なトラックに沿って、print_rはArray()を表示します。 –

+0

header.php全体を質問に追加してください。 –

+0

+1の配列インデックスを追加します。 –

0

直感的に、使用しているすべてのPHPページでセッションを開始する必要があります。希望が役立ちます。

関連する問題