我对PHP很新,所以如果这是一个愚蠢的问题,请原谅。
所以这是场景。
我在一个页面中编写一个PHP,它从一个数组中获取一个随机单词,对该单词进行加扰,然后让用户猜出该单词。
现在我正在使用isset(),所以它声明了变量,然后一旦点击提交,它将通过_POST()进入用户输入。
现在问题 我需要计算的变量保持不变,但一旦页面重新加载,它就会重新生成变量。
无论如何我可以通过这个吗?
<?php
function GetShuffWord()
{
$arrayName = array('word1','word2','word3','word4','word5');
$randWordIndex = rand(0,4);
$randomWord = $arrayName[$randWordIndex];
$shuffledWord = str_shuffle($randomWord);
return $shuffledWord;
}
if(!isset($_POST['Submit']))
{
define("shuffledWord", GetShuffWord());
$tempWord = shuffledWord;
// showing the user shuffled word
echo " <h1 style='font-size: 50px' align = 'center'> {$tempWord}
</h1>";
}
else
{
$tempWord = shuffledWord;
echo " <h1 style='font-size: 50px' align = 'center'>{$tempWord} </h1>";
echo "else part";
}
?>
另一个问题是,如果我在if中声明变量,我就不能在else中使用变量而不重新生成它。
答案 0 :(得分:1)
您只需将值作为隐藏输入字段包含在表单中即可。
<input type="hidden" name="myCalculatedValue" value="<?= $tempWord ?>" />
然后,在提交表单后,您可以通过$_POST['myCalculatedValue']
答案 1 :(得分:0)
您可以使用会话并检查会话是否已经覆盖。
当你想要覆盖时,你也可以通过在你的帖子请求中将另一个标志传递给脚本来实现。