Autor Zpráva
carix
Profil *
Zdravim všechny,

Programuju teď jeden ne moc složitý systém, ale nemůžu zaboha zprovoznit session. Kód vypadá nějak takhle:



<?php
if (!$_SESSION['id'])
{
Header("WWW-Authenticate: Basic realm="oblast_hesel"");
Header("HTTP/1.0 401 Unauthorized");

$_login = $_SERVER['PHP_AUTH_USER'];
$_heslo = $_SERVER['PHP_AUTH_PW'];

if($_login && $_heslo):
$query = mysql_query("select id from h_users where jmeno = '$_login' and heslo = '$_heslo'");
$check = mysql_num_rows($query);

if($check == 1):
session_start();
$user_data = mysql_fetch_array($query); //Zpracování dotazu
$_SESSION["id"] = $user_data["id"]; //Uložíme si do session ID uživatele pro pozdější použití
// $id=$_SESSION["user"]["id"];
//echo "přihlášen pod id: ".$id;
else:
echo "Neznámé jméno a heslo";
exit;
endif;
else:
echo "Zadejte jméno a heslo";
exit;
endif;
}
echo "aaaaaaaaaaaaaa".$_SESSION["id"];
?>



A teď kde je problém. V FF to nefunguje vůbec. Pořád dokola se mě ptá na přihlašovací jméno a heslo. V IE už je to lepší. Zeptá se mě to 3x a když zadám 3x správný tak mě to ,,přihlásí" vypíše správně z databáze ID ale jak jsem řekl až napotřetí. Největší problém je ten že když kliknu na jakýkoli odkaz opět se mě to ptá 3x na jméno a heslo... Nenapadá prosím někoho čím by to mohlo být? Zkoušel jsem na několika strojích
Joker
Profil
carix
Nemůže to být třeba tím, že prohlížeč má vypnuté cookies a webserver má nastavené předávání session ID jenom pomocí cookies?
Joker
Profil
Áááá, už to vidím, ono na začátku chybí
session_start();
...tohle se musí dělat vždycky a ne jen za nějaké podmínky.
Anebo musí mít server nastavené, aby zahajoval relaci (session) automaticky.
carix
Profil *
Člověče diky moc pomohl jsi mi, ale teď se to neptá na jméno a heslo už třikrát ale dvakrát :) Takže ještě tam bude asi nějaký detail...

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