Я создаю страницу профиля, где можно редактировать имя пользователя. Кажется, я не могу понять, как обновить имя пользователя, которое отображается на верхней странице (например, Привет, Кана!) После успешного редактирования.
Имя создается с использованием переменной сеанса в вверху моей страницы $ _ SESSION ['username']
<?php
session_start();
if(isset($_POST['submit']) && isset($_SESSION['newusername'])){
unset($_SESSION['username']); //clear existing username session
$_SESSION['username'] = $_SESSION['newusername']; //replace with the new username
echo $_SESSION['username'];
} else {
echo $_SESSION['username'];
}
?>
После нажатия кнопки отправки с другим именем, установленным во вводе текста, оно должно измениться, но это не так. Это строки кодов после кода, который я упомянул выше.
<?php
$textinput = $_POST['textinput'];
if(isset($_POST['submit']))
{
if(strlen($_POST['textinput']) < 2)) {
$errormessage = 'too short';
}
else
{
$_SESSION['newusername'] = $textinput; //setup a new session for the new username to be used above.
}
}
?>
Обратите внимание, что два цитируемых набора кодов находятся на одной странице.
Имя все еще отображается предыдущее имя, которое якобы перезаписано. Я попытался обновить страницу, но она по-прежнему не меняется, мне нужно отправить еще раз (второй раз), чтобы отобразить новое имя.