页面重新加载后PHP中的常量变量

时间:2015-03-07 21:21:18

标签: php global-variables constants

我对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中使用变量而不重新生成它。

2 个答案:

答案 0 :(得分:1)

您只需将值作为隐藏输入字段包含在表单中即可。

<input type="hidden" name="myCalculatedValue" value="<?= $tempWord ?>" />

然后,在提交表单后,您可以通过$_POST['myCalculatedValue']

获取该表单

答案 1 :(得分:0)

您可以使用会话并检查会话是否已经覆盖。

当你想要覆盖时,你也可以通过在你的帖子请求中将另一个标志传递给脚本来实现。