ugrás a tartalomhoz

Nem fut le az ELSE ág!

supi007 · 2009. Már. 8. (V), 18.07
Hello,

Nem fut le az else ág és nem értem, hogy miért. Valaki szakértő vetne rá egy pillantást?
 
1

A kód

supi007 · 2009. Már. 8. (V), 18.08
  1. <?php  
  2. //A felhasználói bejelentkezést végzi el  
  3. session_start();  
  4. //felépíti a kapcsolatot azz adatbázissal  
  5. include ("csatlakozas.php");  
  6. //lekérem az 'felhasznalo' tábla értékeit  
  7. $felhasznalo = "SELECT `user_name`,`password`,`name` FROM `felhasznalo` WHERE user_name='$_POST[name]' AND password=md5('$_POST[pswd]');";  
  8. $felhasznalo_result = mysql_query($felhasznalo$sql_csatlakozasor die(mysql_error());  
  9. while ($felhasznalo_array = mysql_fetch_array($felhasznalo_result))  
  10. {  
  11.     if($_POST['name'] == $felhasznalo_array['user_name'] && md5($_POST['pswd']) == $felhasznalo_array['password'])  
  12.     {  
  13.         $_SESSION['user'] = $felhasznalo_array['user_name'];  
  14.         $_SESSION['real'] = $felhasznalo_array['name'];  
  15.         header("Location: /cimlap.php");  
  16.     }  
  17.         else   
  18.         {  
  19.         header("Location:".$_SERVER['HTTP_REFERER']);  
  20.         }  
  21. }  
  22. ?>  
2

Miért futna?

abesto · 2009. Már. 8. (V), 18.48
Javíts ki ha tévedek, de az SQL lekérdezésben már garantáltad, hogy a kapott rekord(ok)ban csak a megadott felhasználónév és jelszó szerepelhet. Így az else ág nem is futhat le.. felesleges a PHP-s ellenőrzés.
3

Hogyan

supi007 · 2009. Már. 8. (V), 19.10
Akkor hogyan tudom elérni azt, hogy hibás eredmény esetén is történjen valami.
4

Attól függ...

abesto · 2009. Már. 8. (V), 19.21
Ha 'hibás eredmény' alatt azt érted, hogy nincs ilyen rekord az adatbázisban, akkor próbálj ilyesmit:
  1. $felhasznalo = "SELECT `user_name`,`password`,`name` FROM `felhasznalo` WHERE user_name='$_POST[name]' AND password=md5('$_POST[pswd]');";    
  2. $felhasznalo_result = mysql_query($felhasznalo$sql_csatlakozasor die(mysql_error());  
  3.   
  4. if (mysql_num_rows($felhasznalo_result) == 0) {  
  5.   // Rossz felhasználónév/jelszó  
  6. else {  
  7.   // Van ilyen user_name/password pár  
  8. }  
6

Köszi szépen!

supi007 · 2009. Már. 8. (V), 20.07
Köszi szépen!
5

off: SQL injection-ra figyelj

solkprog · 2009. Már. 8. (V), 19.31
Ügye az SQL injection-ról hallottál már, és csak a fenti kódból azért marad ki a szűrés mert csak példakód...

üdv,
Balázs
7

hallani

supi007 · 2009. Már. 8. (V), 20.10
Hallani már hallottam, de nem tudom hogy kell :lol:
Hogy kell olyat? nem vicc
8

Nekem ez a cikksorozat

Ustak · 2009. Már. 8. (V), 21.01
nagyon tetszett, és a fent említett dolog is benne van többek között:

writing secure php

Üdv:
Gábor
9

OK

supi007 · 2009. Már. 8. (V), 22.17
OKÉ,

Köszi, utánajárok.