Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] porónywanie stringów z bazy danych i z formularza
charli_22
post 19.03.2008, 11:13:56
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 10.03.2008

Ostrzeżenie: (0%)
-----


Witam
Mam problem z porównaniem stringu z bazy danych i z formularza. Tu jest fragment kodu odpowiedzialny za to porównanie:

  1. <?php
  2. $email=$_POST['email'];
  3. $passwd=$_POST['passwd'];
  4.  
  5. while ($row=mysql_fetch_assoc($result)) {
  6. $row_login=$row['email'];
  7. $row_pass=$row['passwd'];
  8. $porownanie=strcmp($row_pass, $passwd); //sprawdzam co zwraca funkcja
  9. echo 'Funkcja zwróciła: ' . $porownanie;
  10. if(!(strcmp($row_pass, $passwd))) {
  11. $_SESSION['email'] = $row_login;
  12. $_SESSION['passwd'] = $row_pass;
  13. echo 'Zostałeś zalogowany.';
  14. } else {
  15. echo 'login nie powiodł się';
  16. }
  17. }
  18. ?>


Chodzi o to, że przy porównywaniu stringa pochodzącego z formularza ze stringiem pobieranym z bazy danych zwraca mi -1 a powinno 0, bo stringi są takie same. W bazie mam kodowanie UTF8.

Ten post edytował charli_22 19.03.2008, 11:50:50


--------------------
Test-Com - blog o testowaniu
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nowotny
post 19.03.2008, 11:24:21
Post #2





Grupa: Zarejestrowani
Postów: 875
Pomógł: 122
Dołączył: 2.02.2008

Ostrzeżenie: (0%)
-----


Generalnie źle to robisz... nigdy nie powinieneś przechowywać haseł w czystym tekście... przy rejestracji usera robisz hasza md5" title="Zobacz w manualu PHP" target="_manual hasła i przechowujesz tylko hasz w bazie... potem przy logowaniu haszujesz hasło które user wpisał w formularzu i porównujesz tego hasza z haszem w bazie...

Ale wracając do tematu... pokaż skąd bierzesz zmienną $g_passwd... poza tym raz porównujesz ze zmienną $g_passwd a raz z $passwd... która jest prawidłowa...?

Cytat(charli_22 @ 19.03.2008, 11:19:32 ) *
Czytałem że dla operatora '==' dwa stringi '1ala' i '1ola' są równe i zwracane jest TRUE. wstydnis.gif Chyba że się myle.

Be-ze-dura... Czytałeś a nie sprawdziłeś...?

Ten post edytował nowotny 19.03.2008, 11:26:01
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 14:04