2015-12-27 5 views
0

Я имею вопрос с моей страницей Войти чтение функции для входаВойти Страницу Hash вопрос UPDATE

на моей странице книги, которую я горд сказать, работает отлично

это мой пароль хэш-код

$password = password_hash($password, PASSWORD_BCRYPT); 

моя страница Войти имеет 2 поля

электронной почты & пароль

я повторно очистить свой код и решить проблему то, что некоторые

функции работают

, когда я ввожу адрес электронной почты и пароль, он запускает

Внимание! E-mail или пароль Некорректное

плюс ошибка в верхней

Notice: Undefined индекс: пароль в C: \ Program Files (x86) \ Zend \ Apache2 \ HTDOCS \ CMS \ функции \ functions.php на линии 249

это линия 249
$ db_password = $ row ['password'];

/* Validate Login */ 


function validate_login() 
{ 
    $errors = []; 

    if ($_SERVER['REQUEST_METHOD'] == "POST") { 

     $email = clean($_POST['email']); 
     $password = clean($_POST['password']); 

     if (empty($email)) { 

      $errors[] = "Email Required"; 
     } 

     if (empty($password)) { 

      $errors[] = "Password Required"; 
     } 

     if (! empty($errors)) { 
      foreach ($errors as $error) { 
       echo validation_errors($error); 
      } 
     } else { 

      if (login_user($email, $password)) { 

       redirect("../account/profile.php"); 
      } else { 

       echo validation_errors("Email or Password Incorrect"); 
      } 
     } 
    } 
} // End Function 





/* User Login */ 

function login_user($email, $password) 
{ 
    $sql = "SELECT user_pwd, uid FROM userss WHERE user_email = '" . escape($email) . "'"; 

    $result = query($sql); 
    if (row_count($result) == 1) { 

     $row = fetch_array($result); 
     $db_password = $row['password']; 

     if (hash_algos($password) == $db_password) { 

      return true; 
     } else { 

      return false; 
     } 
    } 
}// End Function 

ответ

0

ОК я просто понял вопрос

if (hash_algos($password) == $db_password) { 

      return true; 
     } else { 

      return false; 
     } 

изменила его к этому

if(password_verify($password, $db_password)){ 

      return true; 
     } else { 

      return false; 
     } 
0

Похоже, вам не хватает закрывающей скобки для validate_login() функции так что определение функции login_user() только после того, как первая функция вызывается. Поэтому, когда вы продвигаетесь через свою функцию validate_login(), вы вызываете функцию login_user() до ее создания, так как она создается после завершения инструкции if.