Допустим, мой код выглядит так:
if (isset($_POST["reset"])){
//selects email and phoneNo from database based on values entered in form
$_SESSION['email'] = $_POST['email'];
}else if (isset($_POST["submit"])) {
//line 68 -- $rePas = "UPDATE user SET 'password' = '" .password_hash($_POST['password'], PASSWORD_DEFAULT) . "' WHERE email = '$_SESSION[email]'";
}
У меня есть session_start();
в начале страницы, за пределами любого if и т. Д.
Я захожу на страницу, чтобы увидеть форму, которая просит меня ввести адрес электронной почты и номер телефона, затем я нажимаю кнопку Reset
, если sql-код возвращает что-то, форма изменяется на другую форму, которая просит меня ввести пароль. Как только я это сделаю, я нажимаю кнопку Submit
и получаю $_POST['submit']
Я получаю Notice: Undefined index: email in ... on line 68
Я не могу понять, почему переменная сеанса устанавливается в нуль после нажатия кнопки отправки, есть ли способ передать переменную через две формы, если это имеет смысл?
Я просмотрел похожий вопрос на stackoverflow, но не смог найти работающего решения.
Похоже, что этот кусок кода и объяснения недостаточно, поэтому вот ссылка на полный код файла: https://pastebin.com/fDEBCakp