Использование переменной из разных $ _POST - PullRequest
0 голосов
/ 10 мая 2018

Допустим, мой код выглядит так:

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

1 Ответ

0 голосов
/ 10 мая 2018
<?php
if ( isset( $_POST['submit'] ) ) {
    $emailid = $_POST['email'];
    echo "email - ". $emailid;
}
?>
<form class="form-horizontal" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="email" name="email" class="form-control" placeholder="Email"> 
<button type="submit" name="submit" class="btn btn-primary">submit</button>
</form>
...