PHP会话虽然循环不工作

问题描述:

我有这个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,我的其他表单不应该工作吗? –

除了缺少在session_start();你还应该设置$ _SESSION [“dealer_pile”]

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

我有一个session_start();在我的页面顶部。如果按下重置按钮,它只会停止会话。 –

+0

你还在某处设置$ _SESSION [“dealer_pile”]吗? – koenoe

+0

检查我编辑的问题,阵列是你的意思是对吗? –