我有這個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);`
你是否在頁面的頂部包含'session_start();'?看起來好像你的會話不是一頁一頁地保存。 (這包括用戶將繼續進行的任何頁面,即使是瞬間的)。 – Albzi
是BeatAlex是正確的...錯誤表示你的會話不存在。 – Dwza
@BeatAlex是的,在我的頁面頂部,我有一個session_start();它只會停止這一個,如果我按我的重置按鈕。如果我沒有聲明session_start,我的其他表單不應該工作嗎? –