Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: If zwraca fałsz pomimo, że sprawdzane zmienne zawierają tą samą wartość
Forum PHP.pl > Forum > PHP
Ultear
Witam,

mam taki skrypt:

  1. public function auth($username, $password){
  2. $result = $this->db->select("SELECT * FROM airadmin_users WHERE username = :username", array(':username' => $username), true);
  3.  
  4. if($result['count'] == 1){
  5.  
  6. $passwordhash = Hash::create('sha1', $password, $result['data'][0]['salt']);
  7. echo $passwordhash; //Sprawdzanie co zwraca zahashowane hasło
  8. echo '<br />';
  9. echo $result['data'][0]['password']; //sprawdzanie wyniku hasła z bazy
  10. //exit();
  11. if($result['data'][0]['password'] == $passwordhash){
  12.  
  13. $_SESSION['user'] = array(
  14. 'username' => $result['data'][0]['username'],
  15. 'session_id' => uniqid("", true)
  16. );
  17.  
  18. $this->db->update(DB_PREFIX.'users', array('session_id' => $_SESSION['user']['session_id'], 'username' => 'admin'), '`username` = :username');
  19.  
  20. return true;
  21.  
  22. } else{
  23. return false;
  24. }
  25. } else{
  26. return false;
  27. }
  28. }


No i pomimo, że $passwordhash i $result['data'][0]['password'] zawierają:
  1. cf9b4e1c6e2c46dd0979e8d3e153e9701ac6e8b0
  2. cf9b4e1c6e2c46dd0979e8d3e153e9701ac6e8b0


To i tak po sprawdzaniu

  1. if($result['data'][0]['password'] == $passwordhash){

idzie do else, i zwraca fałsz...


Co mam w takiej sytuacji zrobić?
matiit
Sprawdź var_dump'em zamiast echo tongue.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.