Autor | Zpráva | ||
---|---|---|---|
pávek Profil * |
#1 · Zasláno: 11. 5. 2011, 21:07:33
Ahoj,
prosím o pomoc. Při přihlašování uživatelů se uživatel přihlásí, ale session nefunguje. Začne fungovat až kdzž se ručně odhlásím (napíšu do URL /odhlaseni.php). Pak vše funguje tak jak má. Nevíte někdo co s tím? Na fóru jsem to nenašel Děkuju za odpovědi přihlášení nefunguje na stránkách www.cafevincent.cz |
||
Anonymní Profil * |
#2 · Zasláno: 11. 5. 2011, 21:10:53
Myslíš, že tu najdeš věštce, co věští tvůj kód?
|
||
pávek Profil * |
#3 · Zasláno: 11. 5. 2011, 21:30:32
Anonymní:
<?php session_start(); if (!isset( $_SESSION [ 'uziv_jmeno' ])) ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs"> <head><!-- ščřžýŠČŘŽÝ --> ............. ............. ............. <div class="sidebar"> <?php if (!isset( $_SESSION [ 'uziv_jmeno' ])) echo ' <h2> Přihlášení </h2> <form action="prihlaseni.php" method="post"> <table> <tr> <td> Jméno:</td> <td><input type="text" name="uziv_jmeno" value="" size="10" tabindex="1" /></td> </tr> <tr> <td> Heslo:</td> <td><input type="password" name="heslo" value="" size="11" tabindex="2" /></td> </tr> <tr> <td colspan="2"><input type="submit" name="submit" value="Přihlásit se" /></td> </tr> <tr> <td colspan="2"><a href="registrace.php">Registrace</a></td> </tr> </table> </form>'; else { echo "<h2>Přihlášen</h2> pan/paní ".$_SESSION["prijmeni"]; echo '<br><BR> <a href="ucet.php">Váš účet</a>'; echo '<BR> <a href="odhlaseni.php">odhlásit</a>';} ?> </div> |
||
Tori Profil |
#4 · Zasláno: 11. 5. 2011, 21:32:08
pávek:
Nechybí tam pár složených závorek za oběma IF? |
||
pávek Profil * |
#5 · Zasláno: 11. 5. 2011, 21:44:18
Tori:
To první IF tam být nená, to jsem zkoušel jen pokud není $_SESSION [ 'uziv_jmeno' ] A to druhé sem opravil a stále to nefunguje. ale děkuji. |
||
Davex Profil |
#6 · Zasláno: 11. 5. 2011, 21:57:37
Chybí tam kód, kterým by se nějak přesypaly přihlašovací údaje do $_SESSION.
|
||
pávek Profil * |
#7 · Zasláno: 11. 5. 2011, 22:03:56
Davex:
ten kód má v jiným scriptu ......... ......... ......... $overeni = mysql_num_rows($dotaz);$row = mysql_fetch_array($dotaz); if($overeni == 1) { $_SESSION['uziv_jmeno'] = stripslashes($login); $_SESSION['id'] = $row["id"]; $_SESSION['prijmeni'] = $row["prijmeni"]; $_SESSION['jmeno'] = $row["jmeno"]; $_SESSION['ulice'] = $row["ulice"]; $_SESSION['mesto'] = $row["mesto"]; $_SESSION['email'] = $row["email"]; $_SESSION['telefon'] = $row["telefon"]; $_SESSION['admin'] = $row["admin"]; if(!isset($_SESSION["cas"])) $_SESSION["cas"]=time(); header("location: galerie.php"); echo "<h1>Úspěšně jste se přihlásili</h1>"; echo "<BR>Čas přihlášení: ".date("j.n.Y G:i:s",$_SESSION["cas"]); echo "<BR>Vaše uživatelské jméno je: ".$_SESSION["uziv_jmeno"]; echo "<p><a href=\"index.php\">Pokračujte zpět na hlavní stránku</a>"; |
||
pávek Profil * |
#8 · Zasláno: 11. 5. 2011, 22:06:51
Tady to ještě funguje normálně to vypíše Session, ale jak přepnu na jinou stránku, tak už to nefunguje.
ale když zadam ručně do URL /odhlaseni .php tak už po přihlášení funguje Session normálně. |
||
1Pupik1989 Profil |
#9 · Zasláno: 11. 5. 2011, 22:10:27
A je všude session_start()?
|
||
pávek Profil * |
#10 · Zasláno: 11. 5. 2011, 22:12:51
1Pupik1989:
Všude na každý stránce, ale dokud to ručně neodhlásím tak to prostě nefunguje. |
||
Davex Profil |
#11 · Zasláno: 11. 5. 2011, 22:44:48
Nemůže tam být konflikt s nějakým starým Session ID z předchozích pokusů? Zkus vymazat cookies v prohlížeči.
|
||
pávek Profil * |
#12 · Zasláno: 11. 5. 2011, 22:56:17
Davex:
Tak to taky nefunguje. nemůže to být nějaké nastavení v php.ini? |
||
Tori Profil |
#13 · Zasláno: 11. 5. 2011, 23:00:31
pávek:
„když zadam ručně do URL /odhlaseni.php tak už po přihlášení funguje Session normálně.“ Tohle je zajímavé. Co je v tom skriptu takového, že pak už všechno funguje? |
||
pávek Profil * |
#14 · Zasláno: 11. 5. 2011, 23:03:27
Tori:
No, to by mě taky zajímalo... |
||
1Pupik1989 Profil |
#15 · Zasláno: 11. 5. 2011, 23:23:16
dal bych na začátek v přihlašovacím scriptu "session_destroy()". Jinak nahoď i ten odhlašovací script, třeba to někoho trkne.
|
||
pávek Profil * |
#16 · Zasláno: 12. 5. 2011, 05:46:23
1Pupik1989:
<?php session_start();// Zapneme session session_destroy();// Smažeme všechna session header("location: index.php"); // Přsesmeruje na přihlašovací stránku ?> Kdyžtak můžete vyzkoušet co to dělá. Odkaz UŽIV. JMENO: test HESLO:test |
||
1Pupik1989 Profil |
#17 · Zasláno: 12. 5. 2011, 06:19:41
No pokud se to odhlašuje, tak je jasný, že problém tam nebude, to už se ale ví. Chtělo by to celé kódy, třeba index.php, jinak se asi nehneme. Kontrolovat se bude muset od začátku do konce. Mě se tohle tenkrát dělo na jedné webové stránce, ale už nevím čím to bylo.
|
||
sacharoza Profil * |
#18 · Zasláno: 12. 5. 2011, 10:21:14
Na index.php a prihlaseni.php se nevytvareji sessions. Pred funkci session_start nesmi byt zadny vystup - prectete si o tom neco v PHP FAQ. Varovani od PHP se Vam nezobrazi, protoze je vypnute zobrazovani chyb.
|
||
pávek Profil * |
#19 · Zasláno: 12. 5. 2011, 20:38:54
Tak už to funguje, smazal jsem v prihlaseni.php
header("location: galerie.php"); |
||
Časová prodleva: 13 let
|
0