Autor | Zpráva | ||
---|---|---|---|
tanderzz Profil * |
#1 · Zasláno: 21. 6. 2012, 22:12:20
dobrý večer,
mám tu chybku v právech uživatele, když v databázi nastavím adminovi práva 2 a na webu mám tento kod: <?php if(isset($_SESSION['prihlasen']) && $_SESSION['prihlasen'] == 1) { switch((int) $_GET['prava']) { case 0: echo "<li> <h2><b>Student</b>: ".$_SESSION['login'] . "</h2> <ul> <li> <a href='add_post.php'>Add post to blog</a> </li> <li> <a href='logout.php?logout=yes'>Logout</a> </li> </ul> </li>"; break; case 1: echo "<li> <h2><b>Teacher</b>: ".$_SESSION['login'] . "</h2> <ul> <li> <a href='add_post.php'>Add post to blog</a> </li> <li> <a href='add_student.php'>Add student</a> </li> <li> <a href='logout.php?logout=yes'>Logout</a> </li> </ul> </li>"; break; //neřeším, když budou chybná práva case 2: echo "<li> <h2><b>Admin</b>: ".$_SESSION['login'] . "</h2> <ul> <li> <a href='add_post.php'>Add post to blog</a> </li> <li> <a href='add_student.php'>Add student</a> </li> <li> <a href='add_teacher.php'>Add teacher</a> </li> <li> <a href='logout.php?logout=yes'>Logout</a> </li> </ul> </li>"; break; } } else echo ""; ?> co mám změnit ? :/// nevím si rady díky tanderzz |
||
Tori Profil |
#2 · Zasláno: 21. 6. 2012, 22:50:27
tanderzz:
„když v databázi nastavím adminovi práva 2“ a potom porovnáváte ne hodnotu v DB/session, ale parametr z URL: switch((int) $_GET['prava']) |
||
tanderzz Profil * |
#3 · Zasláno: 21. 6. 2012, 22:57:22
?? nerozumím .. vždyt zavolám data z db ne ? :/
|
||
Chuchycek Profil |
#4 · Zasláno: 21. 6. 2012, 23:15:44
Tady v tom kodu, žádný data z DB nevoláš, jen porovnáváš s parametrem $_GET['prava'].
|
||
tanderzz Profil * |
#5 · Zasláno: 22. 6. 2012, 06:30:29 · Upravil/a: tanderzz
okey, ale když před to vložím
include("db.php"); tak to stejnak nejde .. :/jak to udělat tak abych ty data vyndal z db a porovnal ? :/ díky tanderzz |
||
Chuchycek Profil |
#6 · Zasláno: 22. 6. 2012, 13:51:30
Když už to děláš, tak jak to děláš, tak hádám, že hodnoty, co se ti ukládají do sessionů, tak jsou vybírány z databáze, tak tam přidej $_SESSION['prava'] a v tom skriptu, co jsi dal sem, změň $_GET['prava'] na $_SESSION['prava'].
|
||
tanderzz Profil * |
#7 · Zasláno: 22. 6. 2012, 15:04:16
vyměnil jsem to a pořád nic ://// :(
|
||
Chuchycek Profil |
#8 · Zasláno: 22. 6. 2012, 15:47:39
Ukaž tvoje přihlášení.
|
||
tanderzz Profil * |
#9 · Zasláno: 22. 6. 2012, 15:52:43
<?php ob_start(); 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(); ?> |
||
Chuchycek Profil |
#10 · Zasláno: 22. 6. 2012, 16:07:06
Tak přihlášení je v pořádku.., ale pokud ten tvuj první script nikam neincluduješ a nebo includuješ někam, kde nejsou vubec spuštěný sessin, tak je potřeba, je tam znovu spustit.
<?php ob_start(); session_start(); if(isset($_SESSION['prihlasen']) && $_SESSION['prihlasen'] == 1) { switch((int) $_SESSION['Prava']) { case 0: echo "<li> <h2><b>Student</b>: ".$_SESSION['login'] . "</h2> <ul> <li> <a href='add_post.php'>Add post to blog</a> </li> <li> <a href='logout.php?logout=yes'>Logout</a> </li> </ul> </li>"; break; case 1: echo "<li> <h2><b>Teacher</b>: ".$_SESSION['login'] . "</h2> <ul> <li> <a href='add_post.php'>Add post to blog</a> </li> <li> <a href='add_student.php'>Add student</a> </li> <li> <a href='logout.php?logout=yes'>Logout</a> </li> </ul> </li>"; break; //neřeším, když budou chybná práva case 2: echo "<li> <h2><b>Admin</b>: ".$_SESSION['login'] . "</h2> <ul> <li> <a href='add_post.php'>Add post to blog</a> </li> <li> <a href='add_student.php'>Add student</a> </li> <li> <a href='add_teacher.php'>Add teacher</a> </li> <li> <a href='logout.php?logout=yes'>Logout</a> </li> </ul> </li>"; break; } } else echo ""; ?> |
||
tanderzz Profil * |
#11 · Zasláno: 22. 6. 2012, 16:15:11
bezva super, už to jede ... já blbec zapoměl na spuštění session .. :/ díky
|
||
Časová prodleva: 12 let
|
0