im使用php和sql编写子手游戏。我快完成了,当我尝试存储所有猜出的字母然后回显它们时,还有一些最终问题。以下代码仅显示游戏中的两个最新猜测,而不是全部(最多5个猜测)。有人可以帮我吗?
numFailed Guess变量可以正常工作,显示所有猜测,但是当我尝试回显那些猜测时,只会显示最新的猜测。
我在考虑数组解决方案,有什么想法吗?
这是我的代码...
//if word is incorrect
if($correct!=1){
$numFailedGuess++;
$_SESSION['numFailedGuess']= $numFailedGuess;
//entry to fail guesses
if(!isset($S_SESSION['incorrectGuesses'])){
$_SESSION['incorrectGuesses']="";
}
$_SESSION['incorrectGuesses'].=$alpha. ", ";
$incorrectGuesses=$incorrectGuesses.$_SESSION['incorrectGuesses'];
}else{...
答案 0 :(得分:1)
//entry to fail guesses
if(!isset($S_SESSION['incorrectGuesses'])){
$_SESSION['incorrectGuesses']="";
}
这是错误的,应该为$_SESSION
。您输入错误,导致您总是将会话重置为空白,因为$S_SESSION
不存在
答案 1 :(得分:-1)
首先,您需要调用session_start()函数,因此可以开始使用$ _SESSION全局变量。之后,您可以将值存储在数组中,使用它之后,可以将其存储在会话中。
我假设您正在使用$ _POST从用户那里获取值。
session_start();
if(!isset($_SESSION['incorrectGuesses']))
$arrayGuess = [];
else
$arrayGuess = $_SESSION['incorrectGuesses'];
if(isset($_POST['guess']))
{
array_push($arrayGuess, $_POST['guess']);
}
$_SESSION['incorrectGuesses'] = $arrayGuess;
print_r($arrayGuess);