Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Problem z logowaniem
Forum PHP.pl > Forum > Przedszkole
Herrtyt
Mam problem z logowaniem. Hasło trzymam w bazie zakodowane w md5 ,ale jak chcę się zalogować to w ogóle nie loguje. Co jest nie tak? . Co jest dziwne. Jak usunę md5 z $_POST['pass'] i wkleję to kodowanie co jest w bazie do pola z hasłem to mnie loguje normalnie, ale jak już wpisuję prawidłowe hasło to co jest kodowane to nie.
Tak wygląda kod:

  1. <?php
  2.  
  3. mysql_connect('localhost','root','some');
  4. mysql_select_db('system');
  5.  
  6.  
  7. $select= "SELECT nick,password FROM `admins` WHERE nick= '".$_POST['nick']."'";
  8. $query= mysql_query($select);
  9. $row= mysql_fetch_assoc($query);
  10.  
  11. $nick= $row['nick'];
  12. $pass= $row['password'];
  13.  
  14. if ($nick== htmlspecialchars($_POST['nick']) && $pass== md5($_POST['pass'])) {
  15.  
  16. $_SESSION['admin']= $_POST['nick'];
  17. header ("Location: index.php");
  18.  
  19. }
  20. else {
  21. header ("Location: admin.html");
  22. }
  23.  
  24.  
  25.  
  26. ?>


  1. <!DOCTYPE html
  2. PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us" lang="en-us">
  5. <title>Title</title>
  6. </head>
  7. <div id="sign">
  8. <form action="signin.php" method="post">
  9. <div id="form">
  10. <input type="text" name="nick" />
  11. <input type="password" name="pass" />
  12. <input type="submit" value="Sign in" />
  13. </div>
  14. </form>
  15. </div>
  16. </body>
  17. </html>
punoljoe
spróbuj md5 zrobić w zapytaniu SQLa a nie jako funkcja php. miałem podobny problem z SHA1 . dasz radę , czy podać Ci kod jak ja to zrobiłem?

w zapytaniu SQL zrób tak:

$nick=$_POST['nick'];
$password=$_POST['password'];
$sql="SELECT nick, password FROM admins WHERE nick='$nick' and haslo=md5('$password') ";
$wynik = @mysql_query($sql);
if (!$wynik) {
echo 'blad z baza SQL';
}

while ($result=mysql_fetch_array($wynik)) {
echo "HASLO POPRAWNE";
}

chyba coś takiego. pozdro
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.