Bejelentkezés - setcookie probléma
Sziasztok!
Eléggé új vagyok a programozás terén, szóval előre is elnézést kérek mindenkitől, ha számotokra triviális dolgokra kérdezek rá.
Egy beléptető rendszert szeretnék létrehozni, ahol eljutottam addig, hogy leelenőrzi a felhasználót és a jelszavát és belépteti ha sikeres, ellenkező esetben nem.
A továbbiakban azt szeretném, ha sikeres bejelentkezés után létrehozna egy cookie-t, ami eltárolja a felhasználó nevét.
A kód:Amikor sikeresen bejelentkezik, azaz el kellene készülnie a cookienak, a következő hibát dobja ki:
Ami erre a sorra utal:Firefoxot használok és a cookie-k engedélyezve vannak.
Tudna valaki segíteni, hogy hol, miben lehet a hiba? Esetleg tudna valaki ajánlani valamilyen másik (számotokra logikusabb) bejelentkezés rendszert, ami nem cookie-val van megoldva?
- Előre is köszönet! -
■ Eléggé új vagyok a programozás terén, szóval előre is elnézést kérek mindenkitől, ha számotokra triviális dolgokra kérdezek rá.
Egy beléptető rendszert szeretnék létrehozni, ahol eljutottam addig, hogy leelenőrzi a felhasználót és a jelszavát és belépteti ha sikeres, ellenkező esetben nem.
A továbbiakban azt szeretném, ha sikeres bejelentkezés után létrehozna egy cookie-t, ami eltárolja a felhasználó nevét.
A kód:
- include('connect.php');
- $nick = $_REQUEST['nick'];
- $jelszo = $_REQUEST['jelszo'];
- $submit = $_REQUEST['submit'];
- $hibas = $_REQUEST['hibas'];
- $eredmeny = mysql_query("SELECT * FROM MyDB WHERE Nick like ('$nick') AND Jelszo like ('$jelszo')");
- $login = mysql_num_rows($eredmeny);
- if((isset($submit)) or (isset($hibas)))
- {
- if($login==1){
- setcookie("MyCookie", $nick); //ez történik ha sikerül belépni
- include('sikeres.php');
- }else{
- include('sikertelen.php'); //ez történik ha nem sikertül belépni
- }
- }else{
- if(isset($hibas))
- {
- include('sikertelen.php');
- }else{
- include('form_bej.php');
- }
- }
Warning: Cannot modify header information - headers already sent by (output started at ...index.php:9) in ...index.php on line 55.
Ami erre a sorra utal:
- setcookie("MyCookie", $nick); //ez történik ha sikerül belépni
Tudna valaki segíteni, hogy hol, miben lehet a hiba? Esetleg tudna valaki ajánlani valamilyen másik (számotokra logikusabb) bejelentkezés rendszert, ami nem cookie-val van megoldva?
- Előre is köszönet! -
Mindenekelőtt
Másodsorban: ha rékeresel akár itt a Weblaboron a hibaüzenetre találsz ezer és egy topicot, olyat, mint ez, akik szintén újat nyitottak ahelyett, hogy rákerestek volna. Röviden: a cookie (és más header függvények) előtt nem lehet semmilyen output, sem echo, sem print, sem pedig egy üres sor egy beiclude-olt fájl végén.
Keresd meg az index.php 9-es sorát (fekete fehéren ott a hibaüzenetben), majd szervezd át a kódodat, hogy a login még az output ELŐTT fusson le. Vagy kapcsold be az output bufferinget.
B
Egy üres sor lehet ;-)