Autor | Zpráva | ||
---|---|---|---|
Kuta Profil |
#1 · Zasláno: 23. 12. 2005, 00:55:01 · Upravil/a: Kuta
Ahoj. Mam problem se session a s naslednym prihlasovacim formularem pro administraci...
Kdyz vlozim uzivatelske jmeno: "zkouska" a heslo: "zkouska" do login-x.php, tak to vychodi chybu, ktera je popsana nize na strance. Vypis zdrojaku (login-x.php) je zde: ========================= <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <head></head> <body> <? //Zde nastav uz. jmeno a heslo $user="zkouska"; $pass="zkouska"; //kterou stránku otevřít po přihlášení? $protected="admin.php"; //Česky $auth="Přihlášení"; #End of configuration.............................................. if ($_GET['action']=='validate'){ if(($_POST['user']==$user)&&($_POST['passwd']==$pass)){ header("Cache-control: private"); session_start(); $_SESSION["user_is_logged"] = 1; header("Location: ".$protected); exit; } } ?> <h1>Login</h1> <form action="login-x.php?action=validate" method="post"> <table> <tr> <td>Uživatelské jméno</td> <td><input type="text" name="user"></td> </tr> <tr> <td>Heslo</td> <td><input type="password" name="passwd"></td> </tr> <tr> <td></td><td><input type="submit" value="Pokračovat"></td> </tr> </table> </form> </div> </body> </html> Vypis chyby je zde: ============== Warning: Cannot modify header information - headers already sent by (output started at login-x.php:6) in login-x.php on line 21 Warning: session_start(): Cannot send session cookie - headers already sent by (output started at login-x.php:6) in login-x.php on line 22 Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at login-x.php:6) in login-x.php on line 22 Warning: Cannot modify header information - headers already sent by (output started at login-x.php:6) in login-x.php on line 24 Dokaze mi nekdo prosim pomoci? Jakym zpusobem muzu obejit ten problem s cookies? Predem diky za vsechny reakce. |
||
WertriK Profil * |
#2 · Zasláno: 23. 12. 2005, 01:16:29
Dokaze mi nekdo prosim pomoci? - Ano, dokaze. Dokonce i ty by jsi zvladl sam kdyby jsi se podival na http://php.ftp.cvut.cz/manual/cs/function.header.php, hned v prvnim odstavci je tvuj problem popsany...
Jakym zpusobem muzu obejit ten problem s cookies? Viz odpoved c.1 Zadem nemas zac. Po logickem uvazeni a dedukci by jsi mel dojit k necemu podobnemu tomuto : <? //Zde nastav uz. jmeno a heslo $user="zkouska"; $pass="zkouska"; //kterou stránku otevřít po přihlášení? $protected="admin.php"; //Česky $auth="Přihlášení"; #End of configuration.............................................. if ($_GET['action']=='validate'){ if(($_POST['user']==$user)&&($_POST['passwd']==$pass)){ header("Cache-control: private"); session_start(); $_SESSION["user_is_logged"] = 1; header("Location: ".$protected); exit; } } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <head></head> <body> <h1>Login</h1> <form action="login-x.php?action=validate" method="post"> <table> <tr> <td>Uživatelské jméno</td> <td><input type="text" name="user"></td> </tr> <tr> <td>Heslo</td> <td><input type="password" name="passwd"></td> </tr> <tr> <td></td><td><input type="submit" value="Pokračovat"></td> </tr> </table> </form> </div> </body> </html> |
||
Honza Široký Profil |
#3 · Zasláno: 24. 12. 2005, 00:54:22
Nebo jsou ještě 2 možnosti:
1) Veškerý html kód ukládat do proměnné a tu nakonec vypsat 2) úplně na začátek skriptu dát <?php ob_start (); ?> a na konec <?php ob_end_flush ();?> |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0