PHP - $ _SESSION не сохраняет данные после обновления страницы - PullRequest
0 голосов
/ 14 сентября 2018

У меня следующая проблема, и я чувствую, что решение простое, но после 8 часов попыток и поиска я сдаюсь.

У меня есть эта простая страница:

<?php
// Start the session
$lifetime=600;
session_set_cookie_params($lifetime);
session_start();
?>
<!DOCTYPE html>
<html>
<head>
    <title>Change the Yoda!</title>
</head>
<body>

<?php
// Set session variables
$_SESSION["post-data"] = $_POST;
?>
    <form action="yoda_is.php" method="POST">
        YODA IS: <input type="text" name="name">
        <input type="submit">
    </form>
</body>
</html>

После отправки он отправляет меня на эту страницу:

<?php
// Start the session
session_start();
?>
<!DOCTYPE html>
<html>
<head>
    <title>Who is Yoda?</title>
</head>
<body> 
    <?php
    // Echo session variables that were set on previous page 
    echo "YODA IS " . $_SESSION['post-data'] = $_POST['name'];
    ?>!
</body>
</html>

Значение, которое вы вводите на первой странице, успешно отображается на второй странице.

Однако, как только я закрываюВ окне браузера снова откройте вторую страницу, значения больше нет, и оно возвращает ошибку.

У меня простой вопрос: что я делаю неправильно / нужно ли мне делать, чтобы введенное значениена первой странице, чтобы быть там после того, как я вернусь ко второй странице?

Большое спасибо за вашу помощь и предложения, в продвинутом.

KR MD

1 Ответ

0 голосов
/ 14 сентября 2018

На вашей первой странице удалите это:

// Set session variables
$_SESSION["post-data"] = $_POST;

На вашей второй странице используйте это вместо:

// If the user filled out the form, set our session variable to the new value
if(isset($_POST['name']))
{
    $_SESSION['post-data'] = $_POST['name'];
}

// Echo session variable set above
echo "YODA IS " . $_SESSION['post-data'] . "!";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...