Autor | Zpráva | ||
---|---|---|---|
BuGeR Profil |
#1 · Zasláno: 17. 4. 2010, 12:15:39
Zdravím..
Mám problém, mam panel, vněm mam formulář na přihlášování, pak mam soubor functions.php, vněm mam php část přihlašování, vypadá asi takto: <?php session_start(); ... ... Podmínky pokud vyplnil přihlašovací formulář ... $_SESSION["prihlasen"] = 1; $_SESSION["user_id"] = $login["id"]; // - v $login jsou informace o uzivateli ... if(isset($_SESSION["prihlasen"]) && $_SESSION["prihlasen"] == 1) { $result = mysql_query("SELECT * FROM lf_users WHERE id='".$_SESSION["user_id"]."'"); $user = mysql_fetch_assoc($result); } ... if(isset($_SESSION["prihlasen"]) && $_SESSION["prihlasen"] == 1) { $loged = true; } else { $loged = false; } define("USER", $loged); Pak mam soubor userpage.php ten vypadá asi takto: <?php include "functions.php"; ... ... if(USER) { echo "Ahoj ".$user["name"]; } .. ?> Jenže když se přihlásím, a spustím soubor userpage.php tak to vyhodí jen hlášku "Ahoj" přitom by to mělo vyhodit "Ahoj BuGeR". Je to divné, protože pokud jsem udělal špatně SESSION tak by USER nevracelo TRUE. A jsem si jistý, že SQL dotaz sem položil dobře. Děkuji. S pozdravem BuGeR:) |
||
fuckin Profil |
#2 · Zasláno: 17. 4. 2010, 13:03:46
BuGeR:
„Je to divné, protože pokud jsem udělal špatně SESSION tak by USER nevracelo TRUE.“ Ta podmínka ti vrátí TRUE pokaždé. Nemá tam být spíše toto? if($loged) { echo "Ahoj ".$user["name"]; } |
||
BuGeR Profil |
#3 · Zasláno: 17. 4. 2010, 13:05:57
Dal jsem tam $loged a dělá to uplně to samé..
Ale spíš by mě zajímalo proč nefunguje to $user :) |
||
fuckin Profil |
#4 · Zasláno: 17. 4. 2010, 14:01:08 · Upravil/a: fuckin
BuGeR:
„Ale spíš by mě zajímalo proč nefunguje to $user :)“ Porovnáváš konstantu USER, nikoli proměnou $user. Přes var_dump() si to projeď ať vidíš kde je problém |
||
BuGeR Profil |
#5 · Zasláno: 17. 4. 2010, 14:22:01
Když jsem zadal var_dup($user) vrátilo mi to bool(false) .. co stím?
|
||
fuckin Profil |
#6 · Zasláno: 17. 4. 2010, 15:10:36
Máš chybu v mysql dotazu.
Uprav tento řádek ať vidíš tu chybu $result = mysql_query("SELECT * FROM lf_users WHERE id='".$_SESSION["user_id"]."'") or die(mysql_error()); A až to opravíš a v $user budeš dostávat správnou hodnotu, pak ještě uprav toto <?php include "functions.php"; ... ... if($user) { echo "Ahoj ".$user["name"]; } .. ?> |
||
BuGeR Profil |
#7 · Zasláno: 17. 4. 2010, 15:16:14
Opravil jsem ten $result, ale nikde se chyba neobjevila což je divné..
Když jsem dal if($user).. tak to vypsalo "Notice: Undefined variable: user ...." To asi znamená že $user neni definováno.. Takže chyba bude asi v podmínce která obaluje to $user =.. if(isset($_SESSION["prihlasen"]) && $_SESSION["prihlasen"] == 1) Ale nechápu co je na tom špatně.. |
||
SpotRudloff Profil * |
#8 · Zasláno: 17. 4. 2010, 18:17:55
Tak ji utlum, napiš do výpisu proměnný @$user.
|
||
BuGeR Profil |
#9 · Zasláno: 17. 4. 2010, 18:24:40
Nejde..
|
||
BuGeR Profil |
#10 · Zasláno: 17. 4. 2010, 19:08:17
Už to mám..moc se omlouvám chyba byla když jsem zadával do relace user_id, id člena měl jsem $login["id"], no a u toho $login jsem nevybíral z DB id ale jen name.
Moc se omlouvám .. můžete lock |
||
fuckin Profil |
#11 · Zasláno: 17. 4. 2010, 19:11:01
Locknout to můžeš i ty sám jako autor tohoto vlákna. Dole to najdeš.
|
||
Časová prodleva: 14 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0