2012-06-12 32 views
0

如果遊戲根據這些問題試圖猜測您想要的生物,我做了一個是/否的測驗,只有16個可能的答案。在測驗中使用PHP會話

我想要的是,如果用戶通過測驗關閉了部分網站,然後當他們返回到測驗時,他們將採取相同的問題,他們離開了。以下是我迄今爲止所做的工作,但無法正常工作(請參閱http://s504518.brunelweb.net/Creatures.php)您必須對第一個問題回答「是」,然後關閉瀏覽器,因爲迄今爲止我只爲該問題完成了一個會話。下面是部分是我迄今所做

//These are used for saving the session 
$q2 = "<div class='questions'><p>{$questions[0][0]}</p></div>"; 
$q3 = "<div class='questions'><p>{$questions[0][1]}</p></div>"; 

$f2 = "<div class='questions'><form method ='GET' action='Creatures.php'> 
    <input type='submit' name='answer1' value='Yes' class='buttons' /> 
    <input type='submit' name='answer1' value='No' class='buttons' /> 
    </form></div>"; 
$f3 = "<div class='questions'><form method ='GET' action='Creatures.php'> 
    <input type='submit' name='answer2' value='Yes' class='buttons' /> 
    <input type='submit' name='answer2' value='No' class='buttons' /> 
    </form></div>"; 

//If start button has not been pressed, display nothing 
if (!isset($_POST['start'])){ 

} //If start button has been pressed, display questions 
else 
{ 
//Display the first question 
echo $firstquestion; 
    echo "<div class='questions'><form method ='GET' action='Creatures.php'> 
    <input type='submit' name='yes1' value='Yes' class='buttons' /> 
    <input type='submit' name='no1' value='No' class='buttons' /> 
    </form></div>"; 
} 
//Question 2 
if (isset($_SESSION['form'])) 
{ 
echo $_SESSION['question']; 
echo $_SESSION['form']; 
} 
else{ 
if ($_GET['yes1']) //If answer to Q1 is yes then display this 
{ 
echo "<div class='questions'><p>{$questions[0][0]}</p></div>"; 
showquestion(1); 
$_SESSION['question'] = $q2; 
$_SESSION['form'] = $f2; 
} 
} 

什麼我想在這裏實現的,如果一個會話已經設置,則顯示來自該會話的問題和形式,如果它沒有顯示直到他們點擊開始按鈕。我不知道爲什麼它不能正常工作,任何幫助將不勝感激。

+0

關閉網站時會話被破壞。看看使用Cookie。 http://php.about.com/od/advancedphp/qt/php_cookie.htm –

+0

我知道這可以按照我之前看到的完成,請訪問http://pbambridge.brunelweb.net/aw/expert。 php – Harry12345

+0

你確定這是使用會話嗎? – andrewsi

回答

0

您需要創建在session_start()會話,把這個到PHP的第一行:

session_start(); 

由於php.net告訴我,它也將使用已經產生的會話。在開始會話之前,請確保您沒有html輸出

+0

是的,我已經完成了這個 – Harry12345

+0

哦,該死的,我只是很累,閱讀......在session_start之前使用session_name(「測驗」)創建並獲取指定的會話 – Nurickan

+0

我已經完成了它,但不是保存的問題轉到下一個問題,而只是停留在那裏,下一個問題出現在下方。 – Harry12345