Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] Porównanie haseł z pól formiularza
Forum PHP.pl > Forum > Przedszkole
molesta
Witam mam taki kod:
  1. <?php
  2. function addNewUser($username, $password){
  3.  
  4.  global $conn;
  5.  $skad = $_POST['skad'];
  6.  $plec = $_POST['plec'];
  7.  $email = $_POST['email'];
  8.  $q = "INSERT INTO users VALUES ('$username', '$password', '$skad', '$plec', '$email')";
  9.  return mysql_query($q,$conn);
  10. }
  11. ?>


Chciałbym aby przed wysłaniem  danych do bazy sprawdzil czy wartoś z pola password jest taka sama jak wartoś z pola password2 i jesli sa takie same to dopiero wysyłal, jesli zas nie to wysyłał odpowiedni komunikat do przegladarki

Jak to zrobic?
Prosze o pomoc
Piniek
dajesz ifa przed zapytaniem do bazy gdzie porównujesz dwa pola
  1. <?php
  2. if ($_POST['password'] == $_POST['password2']) {
  3. // zapytanie
  4. }
  5. else {
  6. //komunikat
  7. }
  8. ?>
netmare
  1. <?php
  2. if(!isset($_POST['password'])||!isset($_POST['password2'])) {echo('Nie wypełniono pół z hasłem');die();}
  3. if($_POST['password']!=$_POST['password2']) {echo('Podano różne hasła!');die();}
  4. ?>
oomaster
  1. <?
  2. if($_POST['password']==$_POST['password2']) 
  3. {echo"OK, zgadza się wysyłam dalej";} 
  4. else { echo"STOP!!! Tragedia, hasła są różne tongue.gif ";}
  5. ?>


Chyba kumasz smile.gif jeśli nie, to pisz pomogę
molesta
czy to powinno tak wyglada?
  1. <?php
  2. function addNewUser($username, $password){
  3.  
  4.  global $conn;
  5.  $skad = $_POST['skad'];
  6.  $plec = $_POST['plec'];
  7.  $email = $_POST['email'];
  8.  if ($_POST['pass'] == $_POST['pass2']) {
  9.  
  10.  
  11.  $q = "INSERT INTO users VALUES ('$username', '$password', '$skad', '$plec', '$email')";
  12.  return mysql_query($q,$conn);
  13. }
  14. else {
  15. echo "hasła nie sa jednakowe";
  16. }
  17. ?>


Jesli tak to coś mam chyba nie tak z klamrami bo blad wywala :/
Piniek
jaki błąd questionmark.gif

a juz widze nie domknąłes funkcji na samym koncu daj
Kod
}
PawelC
Zobacz tak:
  1. <?php
  2. function addNewUser($username, $password){
  3.  
  4.  global $conn;
  5.  $skad = $_POST['skad'];
  6.  $plec = $_POST['plec'];
  7.  $email = $_POST['email'];
  8.  if ($_POST['pass'] == $_POST['pass2']) {
  9.  
  10.  
  11.  $q = "INSERT INTO users VALUES ('$username', '$password', '$skad', '$plec', '$email')";
  12.  return mysql_query($q,$conn);
  13. }
  14. else {
  15. echo "hasła nie sa jednakowe";
  16. }
  17. }
  18. ?>

Według mnie brakowało Ci klamry o ile to cały kod funkcji smile.gif Po function otworzyłeś klamrę ale jej nie zamknąłeś i zapewne miałeś parse error
molesta
dziekuje wam za pomoc , teraz działa biggrin.gif

a jesli chciałbym dodac jeszcze jeden warunek?
np taki:
  1. <?php
  2. ($_POST['email'] == $_POST['email2'])
  3. ?>

to jak go mam wstawic pod sprawdzanie haseł aby nie wywalało błedów?
PawelC
  1. <?php
  2. ($_POST['email'] == $_POST['email2'] && tu kolejny)
  3. ?>

Możesz zrobić dwa też dwa ify i jeżeli któryś będzie zły to wywala error i przywa prace skryptu.
prosty przykład:
  1. <?php
  2. if ($_POST['email'] == $_POST['email'] && $_POST['email2']==$_POST['email2'])
  3. { print "wszystko ok"; 
  4.  }
  5. else
  6. {print "no i lipa";
  7.  }
  8. ?>
Piniek
tylko wtedy nie bedzie mogl wyswietlic dokladnego błedu winksmiley.jpg zaraz napisze jak to zrobic ale narazie musze sie zebrac w sobie winksmiley.jpg
molesta
ok mam czas poczekam biggrin.gif
Cienki1980
Cytat(molesta @ 7.03.2008, 21:46:36 ) *
ok mam czas poczekam biggrin.gif

A może zamiast czekać spróbj sam rozwiązać problem questionmark.gif
Polecam zapoznać się ze składnią if ... elseif ... else
PawelC
Cytat(Piniek @ 7.03.2008, 22:41:06 ) *
tylko wtedy nie bedzie mogl wyswietlic dokladnego błedu winksmiley.jpg zaraz napisze jak to zrobic ale narazie musze sie zebrac w sobie winksmiley.jpg

Podałem mu tylko prosty przykład jak coś zrobić po wykonaniu dwóch warunków. Poza tym bardzo łatwo dojść gdzie może być błąd w tym kodzie winksmiley.jpg
molesta
no walcze z tym własnie
PawelC
Możesz zrobić dwa if-y:
  1. <?php
  2. if ($_POST['email'] == $_POST['email'])
  3. { print "Email ok"; 
  4.  }
  5. else
  6. {print "no i lipa";
  7.  }
  8.  
  9. if ($_POST['email2']==$_POST['email2'])
  10. {print "Email 2 ok";
  11. }
  12. else 
  13. {print "błąd przy email 2";
  14. }
  15. ?>

To jak to zrobisz to zależy od Ciebie jak Ci wygodniej, podałem Ci 2 proste przykłady jak można to zrobić winksmiley.jpg
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.