Autor | Zpráva | ||
---|---|---|---|
kokolino Profil * |
cawte stiahol som si si zrojak zo stranky Odkaz
vestko funguje tam funguje nasledovny odkaz robi problem tento kod sa nadhadza v odkaze 1 <?php /* * Pokud uživatel není přihlášený, místo obsahu se mu ukáže tato hláška. */ if(!isset($_SESSION['prihlasen']) or $_SESSION['Prava']<1){ echo "<h1>Tato stránka je jen pro registrované</h1>"; echo "Tvoje práva: " .$_SESSION['Prava'] ; exit; } ?> <h1>Tajný obsah</h1> <p> Pro 1 2 </p> ak sa neprihlasim vypise ,ze nemam pristup k udajom ak sa vsak prihlasim vypise mi to presne to iste :Tato stránka je jen pro registrované tvoje prava "0" tomuto nechapem, lebo po prihlaseni si includujed odkazy cize $_SESSION['Prava'] sa mi nastavi na 1, hore uvedeni kod som si upravil takto ,funfuje to,ale ..... /* * Pokud uživatel není přihlášený, místo obsahu se mu ukáže tato hláška. */ if(!isset($_SESSION['prihlasen']) or @$_SESSION['prihlaseny']!=1){ echo "<h1>Tato stránka je jen pro registrované</h1>"; echo "Tvoje práva: " .$_SESSION['Prava'] ; exit; } ?> funguje tak, ak as neprihlasim tak hlaska ,ze nie som prihlaseny ak sa prihlasim mam normalne pristup k udajom na stranke co ak bude uzivatel co ma pravo 2 ? v tedy mi to nejak padne na tej podmienke if(!isset($_SESSION['prihlasen']) or @$_SESSION['prihlaseny']!=1){ neviete mi poradit co robim zle ? |
||
kokolino Profil * |
#2 · Zasláno: 29. 12. 2009, 19:11:28
prepacte oprava kodu,ktory funguje
<?php /* * Pokud uživatel není přihlášený, místo obsahu se mu ukáže tato hláška. */ if(!isset($_SESSION['prihlasen']) or@ $_SESSION['prihlasen]<1){ echo "<h1>Tato stránka je jen pro registrované</h1>"; echo "Tvoje práva: " .$_SESSION['Prava'] ; exit; } ?> |
||
Alphard Profil |
#3 · Zasláno: 29. 12. 2009, 19:27:49
Odkazovaná stránka se zabývá cookies, vy tady máte SESSION.
Na začátku stránky musí být session_start() a $_SESSION['prihlasen'] se musí nastavit, to jste neukázal. |
||
kokolino Profil * |
#4 · Zasláno: 29. 12. 2009, 19:33:12
Alphard:
$_SESSION['prihlasen'] sa nastavuje pri prihlaseni <?php ob_start(); /* * Tetno soubor zjisti zda se takovy uzivatel s takovym heslem v databazi nachazi. * Pokud ano, do sessions o tom ulozime informaci. * Jinak se samozrejme presmerujeme zpet a dame uzivateli vedet, ze zadal spatne udaje */ session_start(); // Budeme pracovat se session, musíme je nastartovat. if(isset($_POST['jmeno'])){ require 'db.php'; $name = $_POST['jmeno']; $pass = md5($_POST['heslo']); $query = MySQL_Query("SELECT * FROM `uzivatele` WHERE `jmeno` = '$name' and `heslo` = '$pass'") or die (mysql_error()); // Vybereme uživatele se zadaným jménem a heslem $Vysledek = mysql_fetch_array($query); $Vysledek['jmeno']; if($Vysledek['jmeno']){ // pokud tato proměnná obsahuje data, bylo zadané správné jméno a heslo // Do sessions si uložíme pár informací o přihlášeném $_SESSION['prihlasen'] = 1; $_SESSION['login'] = $Vysledek['jmeno']; $_SESSION['UserId'] = $Vysledek['id']; $_SESSION['UserWeb'] = $Vysledek['web']; $_SESSION['UserMail'] = $Vysledek['mail']; $_SESSION['Prava'] = $Vysledek['prava']; $bl="index.php"; header("location: $bl"); // přesměrujeme na index }else{ $bl="index.php?Alert=6"; header("location: $bl"); // špatně zadané údaje // echo "Zadal jsi špatné údaje"; } mysql_free_result($query); }else{ echo "Zde nic není;-)"; } ob_end_flush(); ?> a session_start() mam v indexe, skusil som to dat aj to odkazu 1 , nepomohlo to |
||
Alphard Profil |
#5 · Zasláno: 29. 12. 2009, 19:44:38
Co se vám vypíše, když tam dáte print_r($_SESSION);?
|
||
Časová prodleva: 14 let
|
0