Autor | Zpráva | ||
---|---|---|---|
davidmyska Profil |
dobrý den, toto je celý kód stránky:
<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Language" content="cs"> <title>title</title> <style media="all" id="zalozky"> .polozka {display: none} #home {display: block} .zalozka a {border: 4px ridge red; border-bottom: none; padding: 4px; background-color: khaki; text-decoration: none;} .zalozka {border-bottom: 4px ridge red; padding-bottom: 4px;} a {color: blue;} a:hover {color: black;} #login {width: 160px; float: right;} #light {width: 105px; float: right;} #cela {width: 1000px;} #text {width: 830px; float: left;} body {text-align: center;} .log {width: 160px;} </style> <script> var zobrazena = "home"; function zobraz(polozka){ if (document.getElementById){ document.getElementById(zobrazena).style.display = "none"; document.getElementById(polozka).style.display = "block"; zobrazena = polozka; return false; } else { if(document.stylesheets) document.stylesheets["zalozky"].disabled = true; return true; } } function zmenaStylu(co, zmena) { switch (co) { case 'backgroundColor': document.getElementById('barvy').style.backgroundColor=zmena; break; } } </script> </head> <body id="barvy"> <div id="cela" align="left"><br> <span id="light"> Světlo <select onChange="zmenaStylu('backgroundColor', this.value);"> <option value="white">On</option> <option value="grey">Šedo</option> <option value="#333333">Off</option> </select> </span> <p class="zalozka"> <a href="" onclick="return zobraz('home'); ">Úvodní stránka</a> </p> <div id="login"> <?php session_start(); $path = "/"; function gpc_addslashes($str) { return get_magic_quotes_gpc() ? $str : mysql_real_escape_string($str); } include "db.php"; if (isset($_SESSION['username']) && isset($_GET['logout'])) { $_SESSION = array(); if (isset($_COOKIE[session_name()])) { setcookie(session_name(), '', time()-42000, '/'); } session_unset(); session_destroy(); header("location:http://localhost:3305/index.php", TRUE, 303); exit; } elseif (isset($_SESSION['username'])) { echo "<p>Přihlášen: $_SESSION[username] <a href=\"http://localhost:3305/index.php?logout=1\">odhlásit</a></p>\n"; if ($username == admin){ echo "<a href=\"\" onclick=\"return zobraz('admin'); \">Admin</a>"; } else { echo ""; } } else { if (isset($_POST['username']) && isset($_POST['password'])) { $username = gpc_addslashes(trim($_POST['username'])); $password = gpc_addslashes(trim($_POST['password'])); $result = mysql_query("SELECT COUNT(*) FROM users WHERE username = '$username' AND password = sha1('$password')"); if (mysql_result($result, 0)) { $_SESSION['username'] = $username; $_SESSION['cas_prihlaseni'] = time(); header ("location:http://localhost:3305/index.php", TRUE, 303); exit; } else { header ("location:http://localhost:3305/index.php?incorrect_login=1", TRUE, 303); exit; } } else { if (isset($_GET['incorrect_login'])) { echo "<p style=\"color: #F00\">Zadali jste neplatné uživatelské jméno nebo heslo</p>n"; } ?> <form action="index.php" method="post"> Jméno: <input name="username" type="text"><br> Heslo: <input name="password" type="password"><br> <input name="submit" type="submit" value="Přihlásit"><br> <a href="" onclick="return zobraz('registrace'); ">Registrace</a> </form> <?php } } ?> </div> <div id="text"> <div id="home" class="polozka"><a name=""></a> <h1>Vítejte</h1> </div> <div id="admin" class="polozka"><a name=""></a> </div> <div id="registrace" class="polozka"><a name=""></a> <form action="registrace.php" method="post"> <input type="hidden" name="reg_sent" value=""/> <input type="text" name="reg_username" maxlength="32"/> <b>Už. jméno</b> <br/> <input type="password" name="reg_password" maxlength="32"/> <b>Heslo</b> <br/> <input type="password" name="reg_password_znovu" maxlength="32"/> <b>Heslo znovu</b> <br/> <input type="text" name="reg_mail" value="" maxlength="64"/> <b>Email</b><br/> <input type="text" name="reg_web" value="http://" maxlength="128"/> Web<br/> <input type="submit" name="reg_send" value="Registrovat"/> </form> </div> </div> </div> </body> </html> píše mi to že mám chybu na řádku 60 a 102 prosím pomozte mi najít ty chyby vypíšemi to toto: Warning: session_start() [function.session-start.html]: Cannot send session cookie - headers already sent by (output started at C:\ComplexWebServer\http_docs\index.php:6) in C:\ComplexWebServer\http_docs\index.php on line 60 Warning: session_start() [function.session-start.html]: Cannot send session cache limiter - headers already sent (output started at C:\ComplexWebServer\http_docs\index.php:6) in C:\ComplexWebServer\http_docs\index.php on line 60 Warning: Cannot modify header information - headers already sent by (output started at C:\ComplexWebServer\http_docs\index.php:6) in C:\ComplexWebServer\http_docs\index.php on line 102 Moderátor Davex: Titulek „php script chyba v kódu“ nevystihuje podstatu dotazu. Příště zkus prosím vymyslet lepší.
|
||
meris Profil |
#2 · Zasláno: 8. 10. 2011, 10:48:27
ahoj, mrkni se do php FAQ zde na diskuzi, a hledej "heades already sent", odkaz na stránku je tu
|
||
davidmyska Profil |
#3 · Zasláno: 8. 10. 2011, 11:01:50
jedno se tím vyřešilo ale pořád je chyba zde:
if (mysql_result($result, 0)) { $_SESSION['username'] = $username; $_SESSION['cas_prihlaseni'] = time(); header ("location:http://locahost:3305/index.php", TRUE, 303); exit; } ta se zobrazí ale až po přihlášení |
||
Davex Profil |
#4 · Zasláno: 8. 10. 2011, 13:51:37
davidmyska:
„jedno se tím vyřešilo ale pořád je chyba zde:“ Má to stále stejnou příčinu. Když už se odešle nějaký obsah, tak se nemůže dodatečně posílat hlavička. |
||
davidmyska Profil |
#5 · Zasláno: 8. 10. 2011, 13:59:20 · Upravil/a: davidmyska
pardon ale to nevím jak vyřešit
a pak jsem oběvil chyby ještě zde: if (isset($_SESSION['username']) && isset($_GET['logout'])) { $_SESSION = array(); if (isset($_COOKIE[session_name()])) { setcookie(session_name(), '', time()-42000, '/'); } session_unset(); session_destroy(); header("location:http://localhost:3305/index.php", TRUE, 303); exit; } |
||
Davex Profil |
#6 · Zasláno: 8. 10. 2011, 14:02:50
Můžeš to celé předělat, aby výpis probíhal až na konci skriptu nebo si na začátku skriptu zapnout bufferování pomocí
ob_start() .
|
||
davidmyska Profil |
#7 · Zasláno: 8. 10. 2011, 14:09:10
díky dal jsem to takto a už to jede:
<?php ob_start(); session_start(); ?> <!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head>.... |
||
Časová prodleva: 13 let
|
0