Autor | Zpráva | ||
---|---|---|---|
Kvilda Profil |
#1 · Zasláno: 4. 5. 2006, 09:43:46
Mám takovýto skript:
kde mám pouze jednoho uživatele a jedno heslo. Potřeboval bych aby mi tento skript prohledal DB user, kde je uloženo více uživatelů ........ <? $uzivatel = "kvilda"; $heslo = "kvilda"; $PHP_AUTH_USER = $_SERVER['PHP_AUTH_USER']; $PHP_AUTH_PW = $_SERVER['PHP_AUTH_PW']; if (!isset ($PHP_AUTH_USER)) overit(); elseif (!platne ($PHP_AUTH_USER,$PHP_AUTH_PW)) overit(); function overit() { Header( "WWW-authenticate: basic realm=\"Soukrome\""); Header( "HTTP/1.0 401 Unauthorized"); echo 'Špatný uživatel nebo heslo.'; exit; } function platne($user,$pass) { global $uzivatel,$heslo; return ($user != $uzivatel || $pass != $heslo) ? false : true; } ?> Pokusil jsem se to udělat takto: <? $result = mysql_query("SELECT * FROM users"); while ($row = mysql_fetch_assoc($result)) { $uzivatel=$row["login"]; $heslo=$row["pass"]; $PHP_AUTH_USER = $_SERVER['PHP_AUTH_USER']; $PHP_AUTH_PW = $_SERVER['PHP_AUTH_PW']; if (!isset ($PHP_AUTH_USER)) overit(); elseif (!platne ($PHP_AUTH_USER,$PHP_AUTH_PW)) overit(); function overit() { Header( "WWW-authenticate: basic realm=\"Soukrome\""); Header( "HTTP/1.0 401 Unauthorized"); echo 'Špatný uživatel nebo heslo.'; exit; } function platne($user,$pass) { global $uzivatel,$heslo; return ($user != $uzivatel || $pass != $heslo) ? false : true; } } ?> ALE TO NEJDE.................... nevíte někdo co je s tím?? DíKYS |
||
Michal Škrabálek Profil |
#2 · Zasláno: 4. 5. 2006, 10:05:20
Záleží na tom, kolik uživatelů plánujete řešit. Kdysi jsem řešil tři uživatele a pomohla jednoduchá konstrukce "if", při větším množství to ale nemá význam.
|
||
Kvilda Profil |
#3 · Zasláno: 4. 5. 2006, 10:19:16
předpokládám že bude docela dost uživatelů.............
|
||
Hugo Profil |
#4 · Zasláno: 4. 5. 2006, 10:39:09
SELECT * FROM users WHERE login = '$_SERVER['PHP_AUTH_USER']' AND password = '$_SERVER['PHP_AUTH_PW']';
Je to jen princip, synatkticky je to spatne. Prohledej db a pokud najdes zaznam s odpovidajicim loginem a heslem, tak uzivatele prihlas. |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0