Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]problem z haszowaniem md5
Forum PHP.pl > Forum > Przedszkole
plurr
  1. <?php
  2. function regUser($login, $imie, $nazwisko, $email, $haslo) //rejestracja 
  3. {
  4.  $db = conn();
  5.  $haslo = md5($haslo);
  6. $reg = $db -> query ("insert into ul_user (id_login, passwd, email, imie, nazwisko)
  7.  values ('$login', '$haslo','$email', '$imie', '$nazwisko')");
  8.  
  9.  if (!$reg)
  10.  throw new Exception ('Rejestracja nie powiodła się');
  11.  
  12.  return 1; 
  13. }
  14. ?>


napisalem funkcje ktora rejestruje uzytkownika, jednak mam problem z haszowaniem hasla. A mianowicie, cokolwiek uzytkownik wpisze w formularzu to w bazie i tak dodaje sie taki sam hasz. Moze to byc slowo "phpforum" lub 'elemelek' a i tak bedzie taki sam wpis "da39a3ee5e6b4b0d3255bfef95601890afd80709" - co jest dziwne dla mnie.
Kiedy wpisywalem recznie - nie poprzez formularz, to wpis sie roznil.

Prosze o pomoc, w ktorym miejscu robie blad ?
drPayton
Jak na mój gust, to w funkcji którą podałeś nie ma błędu. Wychodziłoby na to, że każdorazowo podajesz takie samo $haslo do funkcji.
Może jest puste/null/undefined etc? Po wpisaniu w google tego hashu jest ponad 45tys wyników wyszukiwania więc...
Pokaż formularz i miejsce wywołania tej funkcji.
Ojebejbe
A spróbuj zrobić

  1. <?php
  2. $haslo_hash = md5($haslo);
  3. ?>


i potem:

  1. <?php
  2. $reg = $db -> query ("insert into ul_user (id_login, passwd, email, imie, nazwisko)
  3.  values ('$login', '$haslo_hash','$email', '$imie', '$nazwisko')");
  4. ?>


Jak na moje, to w tym co masz, to Ci się pętla robi :]
mike
~Ojebejbe może ja się starzeję, ale w tym co podałes a w tym co autor juz ma różnicy nie ma żadnej.
I jaka pętla exclamation.gifquestionmark.gif


~plurr pokaż jak wykonujesz tą funkcję. Inacze nic nie poradzimy.
plurr
tak wiec, umieszczam formularz:

  1. <?php 
  2. function regForm()
  3. {
  4. ?>
  5. <table border='1'>
  6.  
  7. <form action='register.php' method='post'>
  8. <tr>
  9. <td> Login: </td>
  10. <td> <input type='text' name='login' /> </td>
  11. </tr>
  12. <tr>
  13. <td> Imie: </td>
  14. <td> <input type='text' name='imie' /> </td>
  15. </tr>
  16. <tr>  <td> Nazwisko: </td>
  17.  <td> <input type='text' name='nazwisko' /> </td>
  18. </tr>
  19. <tr> 
  20. <td> E-mail: </td>
  21. <td> <input type='text' name='email' /> </td>
  22. </tr>
  23. <tr> 
  24. <td> Hasłoo: </td>
  25. <td> <input type='password' name='haslo1' /> </td>
  26. <tr> 
  27. <td> Powtórz hasĹ_o: </td>
  28. <td> <input type='password' name='haslo2' /> </td>
  29.  
  30. </tr>
  31. <tr>
  32. <td> <input type='submit' value='WyĹ_lij' /> </td>
  33. </tr>  
  34. </form>
  35. <?php 
  36. }
  37. ?>


i jeszcze skrypt w ktorym wywoluje te ww funkcje procz zdefiniowania zmiennych:

  1. <?php
  2. try {
  3.  
  4.  if (!formEmpty($login, $imie, $nazwisko, $email, $haslo1, $haslo2))
  5.  {
  6.  throw new Exception('Któreś z pól formularza jest puste.');
  7.  }
  8.  
  9.  if (!loginCheck($login))
  10.  {
  11.  throw new Exception('Użytkownik o wybranym loginie juz istnieje!'); 
  12.  }
  13.  
  14.  if (!emailCheck($email))
  15.  {
  16.  throw new Exception('Podany email już istnieje w bazie danych.');
  17.  }
  18.  if (strlen($login)>15)
  19.  {
  20.  throw new Exception('Login nie może być dłuższy niż 15 znaków.');
  21.  }
  22.  
  23.  if ($haslo1 != $haslo2)
  24.  {
  25. throw new Exception('Podane hasła różnią się. Oba podane przez Ciebie hasła muszą być identyczne.');
  26.  }
  27.  
  28.  if (strlen($haslo1)<6)
  29.  {
  30. throw new Exception('Wpisane hasło jest za krótkie - minimum 6 znaków!');
  31.  }
  32.  
  33.  
  34. $reg = regUser($login, $imie, $nazwisko, $email, $haslo);
  35.  if ($reg)
  36.  echo "Rejestracja zakończona.";
  37.  
  38. }
  39. catch (Exception $msg)
  40. {
  41. echo $msg -> getMessage();
  42. regForm();
  43. }
  44. ?>
Kicok
Cytat
  1. <?php
  2. $reg = regUser($login, $imie, $nazwisko, $email, $haslo);
  3.  if ($reg)
  4.  echo "Rejestracja zakończona.";
  5.  
  6. }
  7. ?>


Przecież nie masz takiej zmiennej jak $haslo, przypatrz się dokładnie ;]
plurr
sciana.gif noo taaak, przeciez dalem tam haslo1 hah, wielkie dzieki ! guitar.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.