im очень новый для 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 с ее повторной генерацией.
Вы можете просто указать значение в виде скрытого поля ввода в своей форме.
<input type="hidden" name="myCalculatedValue" value="<?= $tempWord ?>" />
Затем, когда форма отправлена, вы можете просто получить ее через $_POST['myCalculatedValue']
Вы можете использовать сеанс и поставить чек, если в сеансе он уже не перезаписывается.
И когда вы хотите перезаписать, вы можете сделать это, передав другой флаг скрипту в свой пост-запрос.
$_SESSION
чтобы оно сохранялось при загрузке страницы. php.net/manual/en/reserved.variables.session.php иsession_start()