Autor | Zpráva | ||
---|---|---|---|
hynek Profil |
#1 · Zasláno: 5. 6. 2009, 16:53:28
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 * |
#2 · Zasláno: 5. 6. 2009, 17:23:25
povol vsechny warningy... Co obsahuji ty session? Jsou prazdne?
Kdyz to vsude funguje tak hledej problem jinde ne? |
||
bohyn Profil |
#3 · Zasláno: 5. 6. 2009, 20:33:55
hynek
session_start() mas jen na prihlasovaci strace nebo i na dalsich strankach? |
||
Časová prodleva: 4 dny
|
|||
JD Profil * |
#4 · Zasláno: 9. 6. 2009, 15:07:46
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 * |
#5 · Zasláno: 9. 6. 2009, 15:33:48
jen se tak zeptám a když zadaš echo session_id(); zobrazise na všech stránkách?
|
||
JD Profil * |
#6 · Zasláno: 9. 6. 2009, 15:44:30
ano, zobrazí
|
||
bohyn Profil |
#7 · Zasláno: 9. 6. 2009, 18:45:03
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 * |
#8 · Zasláno: 9. 6. 2009, 20:16:31
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 |
#9 · Zasláno: 9. 6. 2009, 20:22:39
zkontroluj si, jestli se ti vytváří PHPSESSID cookie.
|
||
JD Profil * |
#10 · Zasláno: 9. 6. 2009, 20:26:38
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 * |
#11 · Zasláno: 9. 6. 2009, 20:28:41
mrkni, jestli někde nemáš session_destroy();
|
||
JD Profil * |
#12 · Zasláno: 9. 6. 2009, 22:55:15
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.
|
||
Časová prodleva: 15 let
|
0