2015-01-08 4 views
0

Я пытаюсь построить игру с угадыванием слов, где люди вводят свое имя, и им дают 5 попыток угадать игру (первая буква бесплатна).Переменные сеанса не будут запомнены на следующую страницу.

У меня была игра, в которой все отлично и денди, но я решил добавить страницу «« Начало », где люди могут вводить свои имена и где случайное слово уже предварительно выбрано для реальной игровой страницы. (Это слово rand из массива из 20 слов)

Но теперь, по какой-то причине, каждый раз, когда у меня появляются люди, они сразу проскакивают мимо игрового экрана и сразу же перескакивают на экран win ... Предполагается чтобы показать имя и выигрышное слово на этом экране, но он не отображает ни одного из них, он просто пуст.

Так что я предполагаю, что по какой-то причине, эти две переменные не вспомнили после того, как вы вводите название, поскольку такой игре сравнения нулевой нулю, и игра будучи «» выиграл «» ...

Очевидно, этого не должно быть. Из массива следует выбрать слово и ввести session_variable. То же самое происходит с именем, которое вы вводите в форму.

Увидев, что это трехстраничный PHP-скрипт, я буду размещать ссылки на Hastebin, а не публиковать фрагменты здесь. Извините за это заранее, но я думаю, что это будет работать лучше ...

Начало Экран: Экранhttp://hastebin.com/orisazubis.xml

игры:http://hastebin.com/akuzekawil.php

+0

поэтому ваш код находится в одном файле php? – Alex

+0

Нет, все три страницы находятся в их собственных файлах PHP. Ссылки на и с каждого из них работают правильно. – deknegt

ответ

1

Я не просмотрел все это, но почему бы не попробовать $_SESSION, так как это то, что заполняет PHP? Вы знаете, что переменные PHP чувствительны к регистру?

+0

Итак, вы говорите, что вам нужно не только писать имена переменных с учетом регистра, но и $ _SESSION? Я никогда не думал об этом, и после попытки, он действительно работает! Спасибо, чувак, я узнал что-то новое, и я чувствую себя глупо :) – deknegt

+0

Да: http://php.net/manual/en/language.variables.basics.php и http://php.net/manual/en/session. examples.basic.php – AbraCadaver

0

заменить $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){ 

, если я пойду t правильно ваша логика

+0

К сожалению, это не имело заметной разницы. Он по-прежнему проскакивает прямо мимо моей игровой страницы и на страницу победы. – deknegt

+0

проверить мой ответ обновить – Alex

+0

проверить последнее обновление. – Alex

Смежные вопросы