2014-02-06 63 views
1

我有這個while循環不停地重複同樣的事情,直到它給了我一整頁的錯誤。PHP會話雖然循環不工作

我會解釋一下我在做什麼:我做了一個BlackJack遊戲,只使用PHP。因此,通過使用3種不同的形式,我開始遊戲(給我2張卡片和經銷商1張卡片),我創建了一個按鈕(每次點擊它時給我1張卡片)和一個展臺形式(這將給經銷商卡)。隨着會話的使用,我記得所有的卡片,所以他們不會迷失在點擊按鈕上。隨着重置按鈕,我開始並銷燬會話,以便新的遊戲成爲可能。所有這些工作,除了站立按鈕。

它應該給經銷商卡,直到他的點是=> 17.但由於某種原因它不斷重複,直到我的整個頁面充滿了錯誤。我使用了一些不同的循環:

if(FORM_stand("Stand")){ 
    while($total_dealer < 17){ 
    draw_dealer_card(); 
    } 
    list_dealer_hand(); 
} 

if(FORM_stand("Stand")){ 
    list_dealer_hand(); 
    do { 
     draw_dealer_card(); 
    } while ($total_dealer < 17); 
} 

我用他們都沒有sucess。

draw_dealer_card();看起來像這樣:

function draw_dealer_card() { 
    $dealer_card = array_rand($_SESSION["dealer_pile"]); 
    $_SESSION["dealer_hand"][$dealer_card] = $_SESSION["dealer_pile"][$dealer_card]; 
    unset($_SESSION["dealer_pile"][$dealer_card]); 
} 

而且list_dealer_hand();像這樣:

function list_dealer_hand() { 
    foreach($_SESSION["dealer_hand"] as $dealer_card=>$points) { 
     echo $dealer_card; 
     echo ', '; 
    } 
} 

我真的不知道還有什麼是重要的,請讓我知道如果你錯過了一些信息!

在此先感謝!

ps:不要問爲什麼我只用PHP,因爲這是這個任務的重點。 (只使用,或儘可能多的PHP)

如果你想知道我的錯誤是什麼樣的,他們會在我按下stand,加載幾秒鐘,然後一遍又一遍地顯示這些錯誤再次:

Notice: Undefined index: dealer_pile

Trying to destroy uninitialized session

Notice: Undefined index: dealer_pile

編輯:在我的頁面頂部我運行只得到,如果我PRES中斷session_start();是重置按鈕。

編輯:

if(!isset($_SESSION["dealer_pile"])) $_SESSION["dealer_pile"] = array(

2   => 2, 
    3   => 3, 
    4   => 4, 
    5   => 5, 
    6   => 6, 
    7   => 7, 
    8   => 8, 
    9   => 9, 
    10   => 10, 
    'Jack'  => 10, 
    'Queen'  => 10, 
    'King'  => 10, 
    'Ace'  => 11);` 
+2

你是否在頁面的頂部包含'session_start();'?看起來好像你的會話不是一頁一頁地保存。 (這包括用戶將繼續進行的任何頁面,即使是瞬間的)。 – Albzi

+0

是BeatAlex是正確的...錯誤表示你的會話不存在。 – Dwza

+0

@BeatAlex是的,在我的頁面頂部,我有一個session_start();它只會停止這一個,如果我按我的重置按鈕。如果我沒有聲明session_start,我的其他表單不應該工作嗎? –

回答

1

除了缺少在session_start();你還應該設置$ _SESSION [「dealer_pile」]

$_SESSION["dealer_pile"] = "foobar"; 
+0

我有一個session_start();在我的頁面頂部。如果按下重置按鈕,它只會停止會話。 –

+0

你還在某處設置$ _SESSION [「dealer_pile」]嗎? – koenoe

+0

檢查我編輯的問題,陣列是你的意思是對嗎? –