Autor Zpráva
silver
Profil *
<?

ob_start();
session_start();
if(isset($_POST['nick']) && isset($_POST['password']))
.
.
.
header("location: $presmeruj");
.
.
.
ob_end_flush();
?>


Mám asi takýto kód. aj napriek tomu mi vždy zahlási Warning: session_start(): Cannot send session cookie - headers already sent by... a Warning: session_start(): Cannot send session cache limiter - headers already sent.
Ja už neviem kde je chyba, na diskusii som niečo našiel ale nič nepomohlo. A tak vás prosím o radu. Používam PSPad. Ďakujem
silver
Profil *
v premennej $presmeruj je cesta kde sa chcem presmerovať...
koudi
Profil
Něco už šlo na výstup. Zkontroluj si, zda na začatku nemáš třeba prázdnou linku. Dalši problem by mohlo způsobovat třěba BOM (pokud použiváš UTF8).
silver
Profil *
pred týmto php kódom už nie je nič teda ani prázdna linka...
a dočítal som sa, že ob_start a ob_end_flush majú zabezpečiť, aby výstupy ukladalo do buffera a vypísalo ich nakoniec...myslím
bukaj
Profil
silver
to bude asi tou BOM signaturou. zkus otevřít skript třeba v notepadu, a jestli před začátkem skriptu je takový čtvereček, tak to je ono. mě se takový problém ještě nevyskytl, ale hádám BACKSPACE :)
silver
Profil *
škoda ale štvorček tam nie je ...skúsil som pridať mysql_query(SET CHARACTER SET cp1250); a <meta http-equiv="content-type" content="text/html" charset="windows-1250"> ale nič...
Alphard
Profil
skúsil som pridať mysql_query(SET CHARACTER SET cp1250); a <meta http-equiv="content-type" content="text/html" charset="windows-1250">
to je v této fázi úplně jedno, podstatný je výstup před session_start() a vzhledem ke kódu výše je nějaký výstup ještě před <?, stačí jediný bílý znak a nepůjde to
silver
Profil *
ja už neviem...posielam celý kód...
<?

ob_start();
session_start();
if(isset($_POST['nick']) && isset($_POST['password']))
{
mysql_connect("server","user","heslo");
mysql_select_db("databaza");
mysql_query("SET CHARACTER SET cp1250");
$meno=$_POST['nick'];
$heslo=sha1($_POST['password']);
$vyber="SELECT * FROM tabulka WHERE meno='".$meno."' AND heslo='".$heslo."'";
$vysledok=mysql_query($vyber);
$uzivatel=mysql_fetch_array($vysledok);
if($uzivatel['meno'])
{
$_SESSION['prihlaseny']==1;
$_SESSION['meno']=$uzivatel['meno'];
$presmeruj="nejaka stranka";
header("location: $presmeruj");
}
else
{
echo "<p align='center'>Zadali ste nesprávne údaje!!!<br>";
echo '<input type="button" onclick="window.location.href('nejaka stranka')" value="Späť"></p>';
}
}
else
{
echo "<p align='center'>Nezadali ste Vaše meno a heslo!!!<br>";
echo '<input type="button" onclick="window.location.href('nejaka stranka')" value="Späť"></p>';
}
ob_end_flush();
?>


je v ňom chyba? asi som už z toho celkom paf...
Alphard
Profil
a) používáš UTF?
b) skutečně není žádný, ani bílý, znak před <?
c)byl by problém vystavit celý soubor na web jako *.txt a uvést odkaz?
silver
Profil *
Alphard
a) nie
b) nie
c) nie
silver
Profil *
jeziiiiis ja som blb
Alphard
Profil
nemohu radit, mně to funguje, dostal jsem se až k: Nezadali ste Vaše meno a heslo!!! bez chyb
PS: změň si přihlašovací údaje k databázi
silver
Profil *
už som to urobil...všimol som si to hneď po uploade...sakra...tak vďaka za ochotu a čas
Toto téma je uzamčeno. Odpověď nelze zaslat.