Autor Zpráva
vojja01
Profil *
Zdravím všechny,
mám takový problém s jedním skriptem. Vytvářím jeden web kde se přihlašují uživatelé (uložení v databázi), ale nemůžu je odhlásit. Mám stránku login.php na kterou míří formulář na přihlášení z index.php:
<?php
include "./etc/database_login.php";
session_start();
session_register("userid");
session_register("prihlasen");
function Login($username, $password) {
//funkce vrací false jestli databáze nevrací ani 1 uživatele, id uživatele pokud v db existuje záznam se zadanými parametry
$vysledek = mysql_query("SELECT * FROM uzivatele WHERE usrnm like '$username' AND drwsp like '$password'");
$zaznam = mysql_Fetch_Array($vysledek);
if(mysql_num_rows($vysledek) == 0) return false; else return $zaznam["id"];
}
if(!Login($_POST["username"], $_POST["password"])):
  echo "Špatné přihlášení";
else:
  $_SESSION["userid"] = KNCBKLogin($_POST["username"], $_POST["password"]);
  $_SESSION["prihlasen"] = 1;
  header('Location: index.php');
endif;
?>
Stránka index.php,:
<?php
session_start(); 
include "./etc/database_login.php";
$userId = $_SESSION["kncbkuserid"];

if($_SESSION['kncbkprhlsn']): 
  //stránka pro přihlášené uživatele
 else:
  //stránka pro nepřihlášené uživatele
endif;
?>
která po (správném) přihlášení úspěšně zobrazí 1. stránku, z níž vede odkaz na odhlášení unlogin.php:
Odhlašování...
<?php
unset($_SESSION['kncbkprhlsn']);
unset($_SESSION['kncbkuserid']);
header("Location: http://ta-stranka.ic.cz");
?>
Jenže... po té stránce se zobrazí znovu ta pro přihlášené uživatele. Zkoušel jsem to i testovat a ty sessions měnit, ale vůbec se nezměnily.
Nevíte někdo, prosím, čím to je? Jak je mám odhlásit a zas zobrazit stránku s formulářem pro přihlášení? Předem děkuji za všechny rady a připomínky.
pcmanik
Profil
vojja01:
V odhlasovani tiez musi byt session_start();
Izolex
Profil
Nebo zkus dát místo unset session_destroy();
vojja01
Profil *
Aha, děkuji moc.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0