Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]Porównywanie dwóch pól formularza z rekordami z bazy
XxmanxX
post
Post #1





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 22.07.2009

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


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Dopiero zacząłem naukę
Tak wiec pisz we wlasciwym dziale. przenosze.

A umiesz wogole pobrac w php jakiegolwiek dane z bazy danych?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
greg.paw.90
post
Post #3





Grupa: Zarejestrowani
Postów: 71
Pomógł: 8
Dołączył: 12.06.2009
Skąd: Wielkopolska

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


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

Ten post edytował greg.paw.90 22.07.2009, 08:42:20
Go to the top of the page
+Quote Post
Spawnm
post
Post #4





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




hasło zapisujesz w czystej postaci bez md5() ?

sprawdzaj przez mysql_query i select ... where login='$login' and pass='$pass'
Go to the top of the page
+Quote Post
viking
post
Post #5





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


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


--------------------
Go to the top of the page
+Quote Post
greg.paw.90
post
Post #6





Grupa: Zarejestrowani
Postów: 71
Pomógł: 8
Dołączył: 12.06.2009
Skąd: Wielkopolska

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


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. ?>
Go to the top of the page
+Quote Post
Spawnm
post
Post #7





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




no i podatne na atak, użyj mysql_real_escape_string na loginie.
Go to the top of the page
+Quote Post

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 Aktualny czas: 19.08.2025 - 09:14