Я создаю микро-сайт, и у меня возникают проблемы с поведением сброса пароля.
Существует форма, которая дважды запрашивает у пользователя пароль. Я не являюсь нацистским паролем, и единственное требование - пароль должен быть длиннее 5 символов. При отправке данные формы добавляются в массив $ _POST и отправляются в функцию setPass в моем скрипте функции php для всего сайта.
Функция
function setPass(){
$link= connectDB();
$query= "select * from People where Username='" . $_SESSION['name'] . "' Limit 1";
$result= $link->query($query);
if ($result->num_rows==0){
$_SESSION['status']= 'invaliduser';
header("location: ../index.php");
} else {
$first = $_POST['firstPass'];
$second = $_POST['secondPass'];
if (($first == $second) && (strlen($first) > 5)){
$password = sha1($first);
}
}
}
Я опускаю код вставки базы данных в этом примере.
Моя проблема в том, что этот скрипт echo $_SESSION['name'] . " and password: " . $first;
, включенный в тело страницы, печатает имя пользователя, но возвращает предупреждение unidentified variable: first
. Это также происходит, когда я пытаюсь получить доступ к переменной $password
.
Предыдущее тестирование показало, что первое условное условие истинно, поскольку страница не перенаправлена.
Так, что вызывает сбой выполнения в блоке else?