Witam, mam taki kłopot:
robię dziennik lekcyjny na bazie danych. Jest logowanie i sesja. Mam 3 typy użytkowników: uczeń, rodzic,nauczyciel.
Zrobiłam logowanie. Działa - jeśli użytkownik nie jest zalogowany, wyrzuca go na stronę główną. Ale problem jest, jeśli jest zalogowany jako uczeń, wejdzie na swoją strone i "z palca" w adresie strony podmieni show_pupil na show_teacher. Wtedy pokazuje mu panel nauczyciela.
Czyli powinnam chyba oprócz sprawdzenia czy użytkownik jest zalogowany także sprawdzić uprawnienia. Kombinuję, ale nie działa. Za uprawnienia odpowiada kolumna ident_function w tabeli user.
1-uczen
2-rodzic
3-nauczciel
[PHP] pobierz, plaintext
<?php
session_start();
//logowanie do bazy
$mail = $_POST['mail'];
$password = $_POST['password'];
$query = "SELECT * FROM `user` WHERE mail='$mail'";
$result = mysql_query($query, $db_link)
or die ("Błąd w zapytaniu\n");
$liczba_wierszy=mysql_num_rows($result);
$row = mysql_fetch_array($result);
if($row)
{
if(md5($password) == $row['password'])
{
$_SESSION['id_user'] = $row['id_user'];
$result=$row['ident_function'];
switch($result) {
case 3:
header("Location: baza_show_teacher.php");
break;
case 2:
header("Location: baza_show_parent.php");
break;
case 1:
header("Location: baza_show_pupil.php");
break;
default:
print ("Skontaktuj sie z administratorem");
break;
}
}
else{
echo('Błędne hasło!');
}
}
else{
echo('Konto nie istnieje!');
}
mysql_close();
?>
[PHP] pobierz, plaintext
oraz wyświetlanie danych na stronie:
[PHP] pobierz, plaintext
<?php
session_start();
if(!isset($_SESSION['id_user']))
{
include('index2.php');
exit();
}
$user = $_SESSION['id_user'];
?>
[PHP] pobierz, plaintext
i dalej zapytania sql...