Я создал рабочий сеанс (с помощью здесь я мог бы добавить), и мне удалось получить его для хранения переменной в нескольких файлах без каких-либо проблем.PHP Session не установлен, если я не обновляюсь
Когда $ username не заполнено, есть приглашение предоставить пользователю свое имя пользователя и после отправки $ username присваивается значение имени пользователя, а форма заменяется текстом, больше не запрашивая пользователя ввести имя пользователя, теоретически.
Вот код, я прямо сейчас:
<?php
session_start();
?>
<header>
<!DOCTYPE html>
<link rel="stylesheet" type="text/css" href="style/main.css">
<title>webshop</title>
</header>
<div id="LogIn">
<?php
if(isset($_SESSION['username'])){
echo 'Current session username: '.$_SESSION['username'];
echo '<br /><a href="logout.php">Destroy current session</a>';
} else {
?>
<form class="form1" method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>" id="form1">
<fieldset>
<ul>
<p>Please enter your username to continue to the webshop.</p>
<label for="name">User Name:</label><span><input type="text" name="username" placeholder="User Name"
class="required" role="input"
aria-required="true"/></span>
<input class="submit transparentButton" value="Next" type="submit" name="Submit"/>
</ul>
<br/>
</fieldset>
</form>
<?php
if (isset($_POST['Submit'])) {
$_SESSION['username'] = $_POST['username'];
}
}
?>
</div>
<a href="cart.php">cart</a><br />
<a href="index.php">index</a>
Проблема у меня в том, что после того, как пользователь ввел свое имя пользователя в форму и нажимает кнопку «Далее», перезагружается страницы и форма все еще там. Если вы затем обновите эту страницу, она заменяет форму текстом и переменной сеанса $ username, обработанной как обычный текст, с ссылкой на выход (session_destroy()).
Мой вопрос: почему мне нужно обновить страницу для переменной сеанса, которая будет отображаться правильно? Это как-то связано с утверждением if?
Заранее спасибо.
Ничего себе, это было легко, спасибо большое! Я отмечу, как разрешено через несколько минут, когда смогу, спасибо большое! –