| 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: 14 let
|
|||
0