Autor | Zpráva | ||
---|---|---|---|
Wroxman Profil |
#1 · Zasláno: 6. 9. 2008, 13:15:12
Zdravím.
Vytvořil jsem si svůj skript na přhlašování uživatelů s využitím PHP a MYSQL. Kód přihlašovacího skriptu je: <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head> <body> <?php $login = $_POST["username"]; $heslo = $_POST["password"]; $link = mysql_connect("localhost", "XXXXX", "XXXXXX"); mysql_select_db("XXXXXX"); $result = mysql_query("SELECT * FROM uzivatele WHERE login='".$login."' and heslo='".$heslo."'", $link); $radku=mysql_num_rows($result); if ($radku == 1) { session_start(); session_register("prihlasen"); $_SESSION["prihlasen"] = true; echo "Vitejte v intranetu..."; } else { echo "<b>Nesprávné uživatelské jméno nebo heslo</b><br>"; echo "<a href=\"index.php\">Zpět na přihlašovací stránku</a>"; } mysql_close($link); ?> </body> </html> Přihlašovací údaje jsou: Uživatelské jméno: test Heslo: test URL skriptuhttp://www.khubajsn.mitranet.cz/intranet/ ----- A teď o co jde. Když si vyzkoušíte přihlásit se s výše uvedenými přihlašovacími údaji, skript login.php se připojí k databázi, ověří údaje, a pokud souhlasí, vytváří session prihlasen a nastavuje ji hodnotu true. Ostatní skripty, přístupné pouze pro přihlášené kontrolují hodnotu této session, pokud je hodnota session prihlasen true, pokračuje se dál. Pokud není hodnota session prihlasen true, skript se přeruší příkazem exit; a je zobrazena chybová hláška. Skript funguje, ale vyhazuje chybu: Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /storage/home/www/khubajsn.mitranet.cz/subdomains/www/intranet/login.p hp:6) in /storage/home/www/khubajsn.mitranet.cz/subdomains/www/intranet/login.p hp on line 14 Řádek 14 obsažený v chybě je označen. Prosím, pomozte. Wroxman |
||
BetaCam Profil |
#2 · Zasláno: 6. 9. 2008, 13:19:23
Session musíš startovat ještě předtím než něco pošleš na výstup.
|
||
Tomashek Profil |
#3 · Zasláno: 6. 9. 2008, 13:19:41
zkus použít session hned na prvním řádku
|
||
Časová prodleva: 16 let
|
0