Я пытаюсь построить игру с угадыванием слов, где люди вводят свое имя, и им дают 5 попыток угадать игру (первое письмо бесплатное).
У меня была игра, в которой все отлично и денди, но я решил добавить страницу '' start '', где люди могут вводить свои имена и где случайное слово уже предварительно выбрано для реальной игровой страницы. (Это rand слово из массива из 20 слов)
Но теперь, по какой-то причине, каждый раз, когда у меня появляются люди, они сразу проскакивают мимо игрового экрана и сразу же перескакивают на экран win... Он должен показывать имя и выигрышное слово на этом экране, но это не так, t показать любой из них, он просто пустой.
Поэтому я предполагаю, что по какой-то причине эти две переменные не запоминаются после ввода имени, так как игра сравнивает значение null с нулем и игра "выиграна"...
Очевидно, этого не должно быть. Из массива следует выбрать слово и ввести session_variable. То же самое происходит с именем, которое вы вводите в форму.
Увидев, что это трехстраничный PHP-скрипт, я буду размещать ссылки на Hastebin, а не публиковать фрагменты здесь. Извините за это заранее, но я думаю, что это будет работать лучше...
Начальный экран: http://hastebin.com/orisazubis.xml
Экран игры: http://hastebin.com/akuzekawil.php
Я не просмотрел все это, но почему бы не попробовать $_SESSION
с тех пор, как заполняется PHP? Вы знаете, что переменные PHP чувствительны к регистру?
замените $session
и $_session
на $_SESSION
везде
в вашей:
http://hastebin.com/orisazubis.xml изменить:
if($random == null) {
$session = $woorden[rand(0,19)];
}
в
if($random == null) {
$_SESSION['random'] = $woorden[rand(0,19)];
}
и, наконец, в файле http://hastebin.com/akuzekawil.php
изменение:
$random = $_session['random'];
в
if (isset($_SESSION['random'])) {
$random = $_SESSION['random'];
}else{
$random=null;
}
проверьте здесь также:
$_session['naam'] = $_POST['naam'];
изменить на:
if (isset($_POST['naam']) && !empty($_POST['naam']){
$_SESSION['naam'] = $_POST['naam'];
} else {
$_SESSION['naam'] = null;
}
строка обновления:
if($random == $testen){
в
if(!empty($testen) && $random == $testen){
если я правильно понял вашу логику