Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Porównywanie dwóch pól formularza z rekordami z bazy
Forum PHP.pl > Forum > Przedszkole
XxmanxX
Witam,

Chce napisać formularz w którym w dwa pola podaje dane (user,password) a następnie są one sprawdzane w tabeli USERS czy są zgodne z danymi w polu user_name i password.
Dopiero zacząłem naukę więc będe wdzięczny za naprowadzenie mnie jak ma wyglądać sprawdzanie danych z pól formularza z danymi umieszczonymi w bazie. W momencie kiedy będą się zgadzać ładuje inną stronę a jeśli nie to try again.
Pozdrawiam
nospor
Cytat
Dopiero zacząłem naukę
Tak wiec pisz we wlasciwym dziale. przenosze.

A umiesz wogole pobrac w php jakiegolwiek dane z bazy danych?
greg.paw.90
wyciągasz dane z bazy przez mysql_fetch_array -> http://pl2.php.net/function.mysql_fetch_array

potem sprawdzasz warunkiem if :

  1. <?php
  2. if ($haslo == $_POST['haslo'] && $login == $_POST['login']){
  3.  
  4. ...
  5.  
  6. }
  7.  
  8. else{
  9.  
  10. echo 'nieprawidłowe hasło lub login';
  11.  
  12. }
  13. ?>


tak jest chyba najprościej smile.gif
Spawnm
hasło zapisujesz w czystej postaci bez md5() ?

sprawdzaj przez mysql_query i select ... where login='$login' and pass='$pass'
viking
W porównaniu do greg.paw.90 ja bym sugerował abyś zainteresował się od razu PDO to przynajmniej jest szansa że będzie to zabezpieczone.

  1. <?php
  2. $sth = $dbh->prepare('SELECT * FROM users
  3.    WHERE login = ? AND pass = ? LIMIT 1');
  4. $sth->bindParam(1, $_POST['user']);
  5. $sth->bindParam(2, sha1($_POST['pass']));
  6. $sth->execute();
  7. if...
  8. ?>
greg.paw.90
tak na szybko napisałem kod - sobie przeanalizuj:

  1. <?php
  2. $login=$_POST['login'];
  3. $haslo=$_POST['haslo'];
  4. $pass=md5($haslo);
  5.  
  6. $polaczenie=mysql_connect('localhost','root','');
  7. $baza=mysql_select_db('users',$polaczenie);
  8.  
  9.   $zapytanie="SELECT login FROM users WHERE login='$login' and haslo ='$pass'";
  10.  
  11.   $wynik=mysql_query($zapytanie);
  12.  
  13.    $user=mysql_num_rows($wynik);
  14.  
  15.   if ($user==1)
  16.  
  17.   {
  18.  
  19. ...
  20.  
  21.   }
  22.  
  23. else {
  24.  
  25. echo 'nieprawidłowe hasło lub login';
  26.  
  27. }
  28. ?>
Spawnm
no i podatne na atak, użyj mysql_real_escape_string na loginie.
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.