Witam, mam pewien problem, z logowaniem się, i wylogowaniem z sesji.
Przeczytałem podobne posty do tego, ale w każdym co innego pisze, więc za bardzo nie mogę się zorientować.
No ale przejdźmy do rzeczy.
Zamieszcze 2 skrypty: logowanie oraz wylogowanie, oto one:
logowanie.php:
<?php
session_start();
mysql_connect("localhost","root","vertrigo");
mysql_select_db("nihil");
if(isset($_SESSION['zalogowany']))
{
header("Location: admin/kier.html");
echo "Witam, ".$_SESSION['login'];
echo " Jestes zalogowany";
exit();
}else{
if(isset($_POST['wyslij'])) {
if(mysql_num_rows(mysql_query("SELECT login, haslo
FROM kontaa WHERE login = '".$_POST['login']."'
&& haslo = '".$_POST['haslo']."' ")) > 0) {
if(mysql_num_rows(mysql_query("SELECT nr FROM kontaa
WHERE login = '".$_POST['login']."'
&& haslo = '".$_POST['haslo']."' ")) > 0 ) {
$_SESSION['zalogowany'] = true;
$_SESSION['login'] = $_POST['login'];
$_SESSION['haslo'] = $_POST['haslo'];
echo "Jesteś zalogowany.";
}
else {
echo "Złe hasło, proszę spróbować ponownie";
}
} else {
echo "Nie ma takiego użytkownika";
}
} else {
?>
<?php } } ?>Gwoli wyjaśnienia:
[php]header("Location: admin/kier.html");
to strona do której przekierowuje mnie skrypt - dopiero z kier.html klikam w link który przenosi mnie do właściwych stron
teraz plik odpowiedzialny za wylogowanie:
logout.php:
<?php
session_start();
if(session_is_registered('username'))
{
session_unset();
session_destroy();
echo "sesja zniszczona";
}
else
{
echo "sesja niezniszczona ?";
}
?>
Wychodzi mi napis "sesja niezniszczona ?" - czyli de facto sesja nie jest zalożona.
Logowanie i wylogowanie mi normalnie działa, ale cały mój problem, polega na sesjach - nie wiem co zrobić aby to kompletnie działało, byłbym dozgonnie wdzięczny, jakby ktoś mi napisał po kolei jak to ma być, co gdzie dać, a najlepiej żeby ekhm, może taki mały banalny przykład napisał.
Na stronie po zalogowaniu mam ramki, więc chyba czeka mnie żmudna praca zakładania sesji na każdym pliku, ale jakoś sobie z tym poradzę, najważniejsze, to poznać, zobaczyć jak ta sesja działa.