Autor Zpráva
aaa
Profil
nevím proč mi nefunguje odhlášení se ze stránky. hází mi to chybu:

Warning: Cannot modify header information - headers already sent by (output started at /srv/www/justart.org/subdomains/nr/login.php:10) in /srv/www/justart.org/subdomains/nr/index.php on line 26

Warning: Cannot modify header information - headers already sent by (output started at /srv/www/justart.org/subdomains/nr/login.php:10) in /srv/www/justart.org/subdomains/nr/index.php on line 27

bohužel nevim jak to vyřešit (odhlášení je ta 3 podmínka)... díky...

if($_POST['nr'])
{$out = mysql_query("select * from `users` where (`login`='".$_POST['login']."' AND `pass`='".$_POST['pass']."') limit 1;");
if($radek = mysql_fetch_array($out)) {
$login = $radek ['login'];
$vip = $radek ['vip'];
SetCookie("loggedin",$login,time()+1800);
SetCookie("vip",$vip,time()+1800);
$rightLoggedIn = true;
}}

if ($_GET['logoff']=1){
SetCookie("loggedin",$login,time()+0);
SetCookie("vip",$vip,time()+0);
}
Petr Tichý
Profil
Voláš fci header po výstupu na obrazovku. Musíš ji přesunout před jakýkoliv výstup. Koukni do FAQ tady v sekci PHP.
aaa
Profil
já vim, ale jak to mám udělat, když předtim volám připojení k db? a bez něj se nepřihlásim...
Pavel Prochazka.zde.cz
Profil *
aaa to vybec nevadi... muzes vykonavat temer jakykoliv kod ne NESMIS nic zapsat na vystup!!! to znamena nesmis pouzit echo a nesmi se ti vypsat zadne chybove hlaseni a podobne....
krteczek
Profil
i jakýkpliv prázdný znak i v includovaném souboru před <?php a po?> a mezi ?><?php znamená odeslání hlaviček (nový řádek, mezera, tabulátor...)
Petr Tichý
Profil
Může tím být i nějaký ten BOM na začátku souboru v UTF-8. Seš si jistý, že jej tvůj editor neukládá?
aaa
Profil
už to funguje... ale při odhlašování při změněném scriptu:


include_once ('login.php');

if($_POST['user_login'])
{$out = mysql_query("select * from `users` where (`login`='".$_POST['login']."' AND `pass`='".$_POST['pass']."') limit 1;");
if($radek = mysql_fetch_array($out)) {
$time = microtime();
$SID=md5($time.$_SERVER["HTTP_USER_AGENT"].$_SERVER['REMOTE_ADDR']);
session_id($SID);
session_start();
$_SESSION['login_time']= $time;
$_SESSION['user_id'] = $radek['id'];
$_SESSION['user_vip'] = $radek['vip'];
$_SESSION['user_login'] = $radek['login'];
$sidd = "&sid=".$SID;
$rightLoggedIn = true;
if($_POST['cookies_on']==true) {setcookie ("SID",$SID,time()+1800,'/');$sidd='';}
}}


if ($_GET['logoff']){session_destroy();$_SESSION['user_id']='';unset($_SE SSION['user_id']);$SID='';$sidd='';setcookie ("SID",'',time()-1,'/');
}


to hází


Warning: session_destroy(): Trying to destroy uninitialized session in /srv/www/justart.org/subdomains/nasreg/index.php on line 20


Warning: Cannot modify header information - headers already sent by (output started at /srv/www/justart.org/subdomains/nasreg/index.php:20) in /srv/www/justart.org/subdomains/nasreg/index.php on line 20
Petr Tichý
Profil
Není to náhodou tím, že na začátku vkládáš login? Nevypisuje se uvnitř login.php něco?
aaa
Profil
login.php:



<?
$SQL_Server = "localhost";
$SQL_Uzivatel = "nasregion.xxx.xx";
$SQL_Heslo = "xxxxx";
$databaze = "nasregion_xxx_xx";
$pripojeni = MySQL_Connect($SQL_Server, $SQL_Uzivatel, $SQL_Heslo) or Die(MySQL_Error());
MySQL_Select_Db($databaze, $pripojeni) or Die(MySQL_Error());
?>
aaa
Profil
problém s utf8 určitě neni, dělám to v pspadu...
aaa
Profil
nemůžete někdo poradit, protože mě fakt nenapadá proč to nejde...
Alphard
Profil
{session_destroy(); $_SESSION['user_id']=''; unset($_SESSION['user_id']); $SID=''; $sidd='';setcookie ("SID",'',time()-1,'/');
nemůžeš session prvně zničit a pak s ní dál pracovat, proto chyba:
Warning: session_destroy(): Trying to destroy uninitialized session in /srv/www/justart.org/subdomains/nasreg/index.php on line 20

následkem tohoto výstupu to háže chybu:
Warning: Cannot modify header information - headers already sent by (output started at /srv/www/justart.org/subdomains/nasreg/index.php:20) in /srv/www/justart.org/subdomains/nasreg/index.php on line 20
aaa
Profil
ještě mi vrtá hlavou proč sessiony nejsou i v dalších stránkách... prostě to zas uživatele odhlásí pokud přejdu na stránku addclanek.php ...



<?
include_once ('login.php');
if($_POST['user_login'])
{$out = mysql_query("select * from `users` where (`login`='".$_POST['login']."' AND `pass`='".$_POST['pass']."') limit 1;");
if($radek = mysql_fetch_array($out)) {
$time = microtime();
$SID=md5($time.$_SERVER["HTTP_USER_AGENT"].$_SERVER['REMOTE_ADDR']);
session_id($SID);
session_start();
$_SESSION['login_time']= $time;
$_SESSION['user_id'] = $radek['id'];
$_SESSION['user_vip'] = $radek['vip'];
$_SESSION['user_login'] = $radek['login'];
$sidd = "&sid=".$SID;
$rightLoggedIn = true;
if($_POST['cookies_on']==true) {setcookie ("SID",$SID,time()+1800,'/');$sidd='';}
}}

if ($_GET['logoff']){unset($_SESSION['user_id']);session_destroy();$_SESS ION['user_id']='';$SID='';$sidd='';setcookie ("SID",'',time()-1,'/');
}

echo "id: ".$radek['id']."&nbsp;";
echo "user: ".$radek['login']."&nbsp;";
echo "vip level: ".$radek['vip']."&nbsp;";

?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>justart.org</title>
</head>
<body>
<br>


<?

switch ($type_place)
{
case 'login': include "prihlaseni.php";break;
case 'addclanek': include "addclanek.php";break;
default : echo "...<br><br>";break;
}


?>

<?
if ($_SESSION['user_id']){
echo "<b><a href='index.php?sid=".$SID."&logoff=".time()."'>Odhlásit Se</a></b><br><a href='?type_place=addclanek'>přidat článek</a>";
}else{
echo "<b><a href='?type_place=login'>přihlásit se</a></b>";
}


?>

</body>
</html>
aaa
Profil
tak už mi všechno funguje... díky vám všem moc...
Toto téma je uzamčeno. Odpověď nelze zaslat.