Чтобы страница благодарности работала

#php

#php

Вопрос:

Я написал этот код, чтобы создать страницу благодарности.
Должно получиться, что только один раз она показывает спасибо, чтобы избежать повторения с простым обновлением или перенаправлением с другой внешней страницы, но только из индекса, где я установил переменную в ‘true’.

Сначала я устанавливаю переменную на index.php таким образом:

 $_SESSION['fromMain'] = "true";
 

Затем в thankyou.php Я написал это:

 if($_SESSION['fromMain'] == "true"){
    
    $_SESSION['fromMain'] = "false";
    echo "TRUE, thank you!";
    
}  else {

    echo "FALSE";
    
}
 

Он всегда показывает ‘TRUE’.
Я сделал что-то не так?

Комментарии:

1. как вы установили $_SESSION['fromMain'] ? если вы установите его в начале своего кода и никогда не измените, он всегда будет true

2. Я установил для параметра fromMain значение true в index.php просто чтобы проверить это. Затем я иду к thankyou.php и это оказалось правдой. Но когда он показывает true, для переменной уже установлено значение false, но если я обновлю его, он все равно покажет true.

3. Вы правильно запустили сеанс снова в thankyou.php ?

4. @CBRO может быть, не так, как это сделать?

5. Я спрашиваю session_start(); , правильно ли вы вызывали в начале каждого задействованного скрипта?

Ответ №1:

Вы объявили $_SESSION['fromMain'] = "true"; , что затем вы проверяете, правда это или нет, и так будет всегда

я думаю, что проблема здесь

 if($_SESSION['fromMain'] == "true"){

$_SESSION['fromMain'] = "false";
echo "TRUE, thank you!";
 

}

Комментарии:

1. $_SESSION['fromMain'] = "true"; устанавливается на другой странице (index.php ).