Постоянные переменные в PHP после перезагрузки страницы

Я очень плохо знаком с PHP, поэтому, пожалуйста, извините, если это глупый вопрос.

Итак, вот сценарий.

Я пишу PHP все на одной странице, которая получает случайное слово из массива, шифрует слово, а затем позволяет пользователю угадать слово.

Теперь я использую isset (), поэтому он объявляет переменную, а затем, когда нажимают на submit, он получает входные данные пользователя через _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

Решение

Вы можете просто включить значение в качестве скрытого поля ввода в вашей форме.

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

Затем, когда форма отправлена, вы можете просто получить ее через $_POST['myCalculatedValue']

1

Другие решения

Вы можете использовать сеанс и поставить галочку, что если у сеанса он уже не перезаписан.

И когда вы хотите перезаписать, вы можете сделать это, передав еще один флаг скрипту в вашем пост-запросе.

0

По вопросам рекламы [email protected]