Autor | Zpráva | ||
---|---|---|---|
zero Profil * |
#1 · Zasláno: 16. 6. 2006, 18:03:06
Mám problém, žádný výstup do prohlížeče nenastal a přesto se vypíše tato hláška, že již byli hlavičky odeslány:
Warning: Cannot modify header information - headers already sent by (output started at /home/www/auto-domaci/public_html/www/administrace/db1.php:13) in /home/www/auto-domaci/public_html/www/administrace/login2.php on line 8 kód je tento: <?php require 'db1.php'; $heslo = $_POST[heslo]; if (authenticateUser($heslo)) { //toto je problematické místo setcookie ("cookie_passwd", $heslo); //prihlaseni probehlu uspesne, prejdeme do administrace echo "<html><head><meta HTTP-EQUIV=\"Refresh\" CONTENT=\"8; URL=sprava.php\"></html>"; exit(); } else { echo ("<SCRIPT language='JavaScript'> alert('Vstup do administraèního prostøedí odepøen. Zadali jste špatné heslo.'); </SCRIPT> "); echo "<html><head><meta HTTP-EQUIV=\"Refresh\" CONTENT=\"0; URL=login.php\"></html>"; exit(); } ?> |
||
zero Profil * |
#2 · Zasláno: 16. 6. 2006, 18:06:48
a db1:
<? $server_name="xxxxxxx"; $db_name="xxxxxx"; $db_user="xxxxxxxx"; $db_password="xxxxxxxxx"; //pripojeni k databazi $spojeni=@mysql_connect($server_name, $db_user, $db_password) or die ('Nastala chyba, nepoarilo se pripojit k databázi! Obratte se na administrátora'); @mysql_select_db($db_name,$spojeni) or die ('Nastala chyba,obratte se na administrátora'); //overovani hesla uzivatele function authenticateUser($password) { //overeni jmena a hesla if (!($result = mysql_query("select * from login"))){ DisplayErrMsg(sprintf("interni chyba %d:%s\n", mysql_errno(), mysql_error())); return 0; } if (($row = mysql_fetch_array($result)) && ($password == $row["heslo"] && $password != "")) return 1; else return 0; } ?> nevíte někdo, kde je chyba? Sedím nad tím už dlouhou dobu, přesně takový kód jsem již jednou použila a funguje jak má.... |
||
souki Profil |
#3 · Zasláno: 16. 6. 2006, 18:12:22
je to tu pořád dokola.... mrkni do FAQ téhle kategorie
|
||
souki Profil |
#4 · Zasláno: 16. 6. 2006, 18:16:11
headers already sent... Pokud už byl generovaný nějaký výstup, tak už nelze používat funkce header(), setcookie() ani session_start(). Jejich volání skončí chybou. Přesvědčete se, že před začátkem <?php ?> není žádný text (ani mezera) a že nebylo nic odesláno třeba funkcemi jako echo nebo print. Pokud je text v UTF-8, tím výstupem může být i tzv. BOM signatura, vizte výše zmíněný Divný znak (čtvereček).... nejjednodušší je dát na začátek ob_start(); a na konec ob_end_flush(); |
||
Leo Profil |
#5 · Zasláno: 16. 6. 2006, 18:42:07
"nejjednodušší je dát na začátek ob_start(); a na konec ob_end_flush();"
No nevim, jestli nejjednodussi, snad nejpohodlnejsi pro programatora, ktery ma bordel v kodu... Leo |
||
souki Profil |
#6 · Zasláno: 16. 6. 2006, 18:43:47
Leo
opravuji: nejjednosušší pro programátora prasáka... |
||
zero Profil * |
#7 · Zasláno: 16. 6. 2006, 18:53:58
díky, byla tam mezera.... Jsem "prasák"
|
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0