[php] Wylogowywanie się ze strony...

0

Mam taki problem, napisalem skrypt który pozwala mi na logowanie się na strone, hasła i userzy sa w bazie danych. no i logowanie mi działa ale wylogowac sie nie mogę, dane zalogowanego usera sa przechowywane w cookies, jak sie pozbyc tego cookies? ja zrobiłem cały skrypt tak, ale wylogowac się nie moge, ktoś zechce mi pomóc?

include("include/db_dane.inc"); 
if($_GET['opcja']=="logout"){ 
    setcookie("u_login"); 
    setcookie("u_password"); 
} 
$connection = mysql_connect($db_host,$db_user,$db_password); 
$db = mysql_select_db($db_name,$connection); 
$sql = "SELECT u_nick, u_password FROM $tabela_forum_users WHERE u_nick = '$u_login' AND u_password = '$u_password'"; 
$sql_result = mysql_query($sql,$connection); 
$authorized = mysql_num_rows($sql_result); 
if(($authorized==1)&&($u_login!="")&&($u_password!="")){ 
    if($autologin==1){ 
        setcookie("u_login",$u_login,time()+3600*24*365); 
        setcookie("u_password",$u_password,time()+3600*24*365); 
    } else { 
        setcookie("u_login",$u_login,time()+600); 
        setcookie("u_password",$u_password,time()+600); 
    } 
}

Formularz logowania wygląda tak:
[code]<font color="red">

Login:

Hasło

Zaloguj automatycznie przy nastepnej wizycie

Rejestracja

</span>[/code]
z góry dzięki za pomoc
pozdrawiam sanneo...

//Pisz prefixy i używaj tagu <php> - m.M

0

Wyślij jeszcze raz cookie ale juz z czasem który mynął
np:
setcookie("u_login" , $u_login, 0 );
setcookie("u_password" , $u_password, 0 );

P.S.
Hashuj hasła md5();)

0

This doesn't work :-(
i nie mam pojecia dlaczego, może lepiej wylogowywanie i logowanie w 2 oddzielnych plikach zrobic? bo mnie chyba szlak trafi :-(

0

a tak <ort>w ogóle</ort> to niebezpiecznie jest trzymac login i password usera w cookie, lepiej zrobic to na sesjach, a i z wylogowaniem latwiej, bo wystarczy odrejestrowac zmienne sesyjne [hurra]

0

Czy na sesjach to ma wyglądac tak?

include("include/db_dane.inc"); 
if($_GET['opcja']=="logout"){ 
session_destroy(); 
} 
$connection = mysql_connect($db_host,$db_user,$db_password); 
$db = mysql_select_db($db_name,$connection); 
$sql = "SELECT u_nick, u_password FROM $tabela_forum_users WHERE u_nick = '$u_login' AND u_password = '$u_password'"; 
$sql_result = mysql_query($sql,$connection); 
$authorized = mysql_num_rows($sql_result); 
if(($authorized==1)&&($u_login!="")&&($u_password!="")){ 
  session_start();
  session_register(u_login);
  session_register(u_password); 
}
0

to nie przejdzie. napisze Ci ze naglowek juz zostal wyslany.
po prostu nie mozesz polaczyc sie z baza danych a potem rejestrowa czmienne sesyjne.

moze np. rejestrowac od razu dane z formularza, a pozniej sprawdzac czy sa poprawne, jesli tak to ok, jesli nie to odrejestrowac je i wywalic komunikat ze blad przy logowaniu.

pewnie inni podzuca Ci inne pomysly, a moze sam cosik wykombinujesz ? ;-)

0

prosta spr z ort! wystarczy czesc z start_session(); i session_register(); wstawic na poczatku =]

1 użytkowników online, w tym zalogowanych: 0, gości: 1