| 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: 13 let
|
|||
0