| 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: 16 let
|
|||
Toto téma je uzamčeno. Odpověď nelze zaslat.
0