Autor | Zpráva | ||
---|---|---|---|
web2000 Profil * |
#1 · Zasláno: 11. 10. 2008, 14:46:50
Zdravím,
mám formulář k odeslání dvou proměnných, jméno a heslo, třetí proměnná ok pouze spouští skript pro zpracování formuláře na téže stránce. Zjistil jsem ale že hosting nepodporuje čisté odeslání proměnné ale je třeba ji zaobalit do globální proměnné či co ... tady trochu tápu a i když jsem použil tlačítko "Hledej" nějak stím nemohu pohnout aby to šlapalo. Děkuji za případné rady. <?php session_start(); include "db.php"; if ($ok) //zpracování formuláře { $sql = "SELECT password FROM admin WHERE username = '$jmeno'"; $res = mysql_query ($sql); if ($res && mysql_num_rows ($res) && md5 ($heslo) == mysql_result ($res,0)) { $_SESSION ["username"] = $jmeno; Header ("Location:$back"); exit; } else $chyba = true; } ?> <form action="<?php echo $PHP_SELF ?>" method="post" id="formAdmin"> <input type="hidden" name="back" value="<?php echo $back ?>" /> <h3>Přihlášení</h3> <table><tr> <td width="45">Login:</td> <td><input type="text" name="jmeno" /></td> </tr><tr> <td>Pass:</td> <td><input type="password" name="heslo" /></td> </tr><tr> <td></td><td><input type="submit" name="ok" value="Přihlásit" /></td> </tr></table> </form> |
||
DJ Miky Profil |
#2 · Zasláno: 11. 10. 2008, 15:15:17 · Upravil/a: DJ Miky
Pravděpodobně máš na mysli register_globals.
Tzn. místo $ok musíš ve skriptu použít $_POST['ok'] atp.: $jmeno → $_POST['jmeno'] $heslo → $_POST['heslo'] $PHP_SELF → $_SERVER['PHP_SELF'] A pokud ti můžu poradit, tak ten tvůj způsob není moc bezpečný: http://php.vrana.cz/obrana-proti-sql-injection.php |
||
web2000 Profil * |
#3 · Zasláno: 11. 10. 2008, 15:21:54
děkuji za radu, přiložený odkaz určitě probádám.
|
||
Časová prodleva: 16 let
|
0