Autor Zpráva
hynek
Profil
Zdravím.
Mám potíže s nalogováním...
Používám kód, který mi na jiných webech normálně funguje. Jen jsem pozměnil databázové údaje. Jakoby se to v pořádku přihlásí, ale pak na další stránce už přihlášený nejsem.
session_start(); tam mam. pošlu kód na přihlášení:

if (empty($_POST['nick'])) {

$nick = FALSE;
echo '<p><font color="red" size="+1">Nebylo zadáno uživatelské jméno!</font></p>';

} else {
$nick = $_POST['nick'];
}

if (empty($_POST['heslo'])) {
$heslo = FALSE;
echo '<p><font color="red"size="+1">Nebylo zadáno heslo!</font></p>';
} else {
$heslo = $_POST['heslo'];
}

if ($nick && $heslo) {

$dotaz = "SELECT id,nick FROM uzivatele WHERE nick='$nick' AND heslo=PASSWORD('$heslo')";
$vysledek = @mysql_query ($dotaz);
$radek = mysql_fetch_array ($vysledek, MYSQL_NUM);

if ($radek) {


$_SESSION['nick'] = $radek[1];

$_SESSION['id'] = $radek[0];


echo $radek[1];


ob_end_clean();

header ("Location: eshop_hlavni.php");

} else {
echo '<p><font color="red" size="+1">Uživatelské jméno a heslo neodpovídají záznamům uloženým v databázi.</font></p>';
}



} else {
echo '<p><font color="red" size="+1">Zkuste to znovu</font></p>';
}


Všude jinde to takhle funguje. když se to dostane na tu eshop_hlavni.php, tak tam je že se obsah zobrazí pouze, když jsou nastaveny sessions.. no.. a podle toho že to píše chybu v tom, že musím být přihlášený tak asi nastaveny nejsou. čím to je že se nenastaví?
Děkuji.
fuckin
Profil *
povol vsechny warningy... Co obsahuji ty session? Jsou prazdne?

Kdyz to vsude funguje tak hledej problem jinde ne?
bohyn
Profil
hynek
session_start() mas jen na prihlasovaci strace nebo i na dalsich strankach?
JD
Profil *
Mám stejný problém a téma nebylo vyřešené, proto bych byl rád, kdyby se někdo pokusil poradit. Taky mám zapnutý session_start(); nastavím hodnoty session, stránka s nimi normálně pracuje, ale při přechodu na novou stránku nebo načtení té samé stránky session neexistují (neplatí isset)
radas
Profil *
jen se tak zeptám a když zadaš echo session_id(); zobrazise na všech stránkách?
JD
Profil *
ano, zobrazí
bohyn
Profil
JD
Zeptam se znovu ([#3]): session_start() mas jen na prihlasovaci (nebo tam kde to nastavujes) strance nebo i na dalsich strankach?
session_start() je treba volat na vsech strankach kde chces mit session dostupne.
JD
Profil *
proto jsem psal, že session vypadne i při volání té samé stránky. Navíc všechy stránky mají samozřejmě stejnou hlavičku header.inc, kde session_start(); je první příkaz a de facto první příkaz vůbec. Běží to na localhostu, běží to i na jiném hostingu, jen na tom, kde bych potřeboval ne. Zkoušel jsem měnit nastevaní pro session přes ini_set, ale stále se nedaří.
AM_
Profil
zkontroluj si, jestli se ti vytváří PHPSESSID cookie.
JD
Profil *
tady vypadá, že tady bude problém, na všech doménách se cookie generuje a na téhle ne. To bude ono. Čím to tedy odstranit, změnou nastavení session.use_cookies nebo session.use_only_cookies?
Lubošek
Profil *
mrkni, jestli někde nemáš session_destroy();
JD
Profil *
Mám:-D! Ale u odhlašování:-)! Tohle nebude jedna z těch chyb z nepozornosti, na jiném hostingu to běží, spíš to bude chtít nějakým příkazem někde něco zapnout nebo přijímat jiným způsobem PHPSESSID, ale nejradši bych přes ty cookies.

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