Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] sprawdzenie czy chasła są takie same
Forum PHP.pl > Forum > Przedszkole
akuma666
Witam.

Jest to mój pierwszy post na forum więc proszę o wyrozumiałość. Mój problem polega na ty że gdy już napisałem skrypt logowania (wszystko w nim działa) okazało się że muszę dodać weryfikację hasła (czy oba hasła wpisane podczas rejestracji są takie same).

starałem się dodawać nowe linijki kodu lecz nawet jeżeli hasła są różne logowanie przebiega pomyślnie.

poniżej kod:

  1. <?php
  2.  
  3. if(isset($_POST['ok']))
  4. {
  5. $nick = trim($_POST['nick']);
  6. $pass = trim($_POST['pass']);
  7. $pass2 = trim($_POST['pass2']);
  8.  
  9.  
  10.  
  11. // sprawdzamy czy wszystkie dane zostały podane
  12. if(empty($nick) || empty($pass) || empty($pass2) ) echo 'Wpisz wszystkie pola!';
  13.  
  14. // jeśli tak...
  15. else
  16. {
  17. // filtrujemy dane
  18.  
  19.  
  20. // sprawdzamy czy jest już użytkownik o takim loginie
  21. $result = mysql_query("SELECT * FROM users WHERE nick='$nick'");
  22.  
  23. // jeśli już istnieje
  24. {
  25. if(mysql_num_rows($result)!=0) echo 'Już istnieje konto z takim loginem!';
  26. // jeśli nie...
  27. else
  28. {
  29. // pobieramy aktualną date
  30. $data = time();
  31.  
  32. // kodujemy hasło
  33. $pass = md5($pass);
  34.  
  35. // tworzymy zapytanie
  36. $query = "INSERT INTO `users` (`nick` , `pass`, `data_rejestracji`) VALUES ('$nick', '$pass', '$data')";
  37. //sprawdzenie poprawności haseł
  38.  
  39.  
  40. // jeśli zapytanie wykona się poprawnie to zostanie wyświetlony stosowny komunikat
  41. if(mysql_query($query)) echo 'Zostałes poprawnie zarejestrowany! Możesz się teraz <a href="index.php">zalogować</a>';
  42. }
  43. }
  44. }
  45. }
  46. ?>


bardzo proszę o pomoc
pitu
pod
// jeśli tak...

wstaw:
  1. else if($pass != $pass2){
  2. echo 'Hasła muszą być takie same!';
  3. }
akuma666
Po wstawieniu kodu, nawet jeżeli hasła są inne rejestruje użytkownika (pojawia się też informacja że chasła są niepasujące).

kod wygląda teraz tak :

  1. <?php
  2.  
  3. if(isset($_POST['ok']))
  4. {
  5. $nick = trim($_POST['nick']);
  6. $pass = trim($_POST['pass']);
  7. $pass2 = trim($_POST['pass2']);
  8.  
  9.  
  10.  
  11. // sprawdzamy czy wszystkie dane zostały podane
  12. if(empty($nick) || empty($pass) || empty($pass2) ) echo 'Wpisz wszystkie pola!';
  13.  
  14. // jeśli tak...
  15. else if($pass != $pass2){
  16.  
  17. echo 'Hasła muszą być takie same!';
  18.  
  19. }
  20. {
  21. // filtrujemy dane
  22.  
  23.  
  24. // sprawdzamy czy jest już użytkownik o takim loginie
  25. $result = mysql_query("SELECT * FROM users WHERE nick='$nick'");
  26.  
  27. // jeśli już istnieje
  28. {
  29. if(mysql_num_rows($result)!=0) echo 'Już istnieje konto z takim loginem!';
  30. // jeśli nie...
  31. else
  32. {
  33. // pobieramy aktualną date
  34. $data = time();
  35.  
  36. // kodujemy hasło
  37. $pass = md5($pass);
  38.  
  39. // tworzymy zapytanie
  40. $query = "INSERT INTO `users` (`nick` , `pass`, `data_rejestracji`) VALUES ('$nick', '$pass', '$data')";
  41. //sprawdzenie poprawności haseł
  42.  
  43.  
  44. // jeśli zapytanie wykona się poprawnie to zostanie wyświetlony stosowny komunikat
  45. if(mysql_query($query)) echo 'Zostałes poprawnie zarejestrowany! Możesz się teraz <a href="index.php">zalogować</a>';
  46. }
  47. }
  48. }
  49. }
  50. ?>
nospor
Na początku miałeś
IF
ELSE

Jedyne co miałeś zrobić to dodać ELSEIF czyli
IF
ELSE IF
ELSE

A ty zrobiłeś tak:
IF
ELSE IF

czyli skasowałeś ELSE co miałeś.
akuma666
Wielkie dzięki. teraz wszystko działa.

Pozdrawiam
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.