我是会话的新手,因为我现在需要使用其中的一大部分,所以创建问题似乎是不可避免的。
我被告知只使用PHP和HTML制作纸牌游戏(BlackJack)。到目前为止一切都那么好,拿到卡片及其中的所有内容,启动,点击,站立和重置工作都很好。
我是通过使用表单来完成的。用于启动表单的表单和用于表单的表单。通过使用会话,它会提醒所有卡片和分数。
但问题来自于我开始插入投注系统。我从标准银行开始,这是100
我的开始表单中有一个输入字段,也就是下注的位置。当用户点击开始表单时,它会在其他一些表单中调用此函数:
// Calculate the bank
function calc_bank() {
$_SESSION["bet"] = $_POST["bet"];
$_SESSION["bank"] = 100 - $_SESSION["bet"];
}
这个也适用,当用户点击开始时它会回显95(最小赌注为5)。当用户点击匹配时,它将转到命中表单,记住所有会话并显示95,与支架相同。
这是我的问题,当说,我按下命中并获得23分。 $ _SESSION [“银行”]没有任何反应,投注将保持95.但是当用户改变他的下一个赌注说20时。然后点击开始它将再次计算银行,并且你可以猜测,它将需要标准100 - 20并制作SESSION 80,而它应该是75.
我真的希望我能为你们清楚地解释我的问题,如果没有请告诉我!
提前致谢!
答案 0 :(得分:1)
问题在于,每次调用函数时,$ _SESSION [“bank”]等于100减去赌注。
试试这个
function calc_bank() {
if (!isset($_SESSION["bank"])){$_SESSION["bank"]=100;}
$_SESSION["bet"] = $_POST["bet"];
$_SESSION["bank"] = $_SESSION["bank"] - $_SESSION["bet"];
}
答案 1 :(得分:0)
您应该在创建游戏时填写$_SESSION['bank']
值,以便它始终可用。然后,当用户执行操作时,您可以随意执行任何操作。
此外,您在会话库计算功能中硬编码了银行值。也许您应该考虑在另一个函数中动态设置银行值?这使您可以选择更改每场比赛的开始数量。