Na początek:
Niemogę poradzić sobie ze stwożeniem funcji uwierzytelniającej i rozrużniającej 3 rodzaje uzytkownikow: admin, obluga, klient.
Staram się to zrobic na obiektach. ponizej przedstawie kod a potem co nieco o nim opowiem:
<?php
function Logowanie($username, $password, $id_uprawnienia)
{
$q = mysql_query (\"select * from wypozyczalnia.uzytkownicy where login = '$username' and
haslo = '$password'\"); //zapytanie mysql
if ($il_wiersz > 0) //jeśli > 0 to zalogowany i .....
{
if($wiersz['id_uprawnienia'] == 3)
{
$_SESSION['count'] = 3;
$id_uprawnienia = 3; //niedziala :(
echo \"udalo ci się jako administrator\"; echo \"Witaj, \" .$wiersz['imie'].\" \";
}
elseif($wiersz['id_uprawnienia'] == 2)
{
$_SESSION['count'] = 2;
$id_uprawnienia = 2; //nie dziala :(
echo \"udalo ci się jako obsluga\"; echo \"Witaj, \".$wiersz['imie'].\"\"; }
elseif ($wiersz['id_uprawnienia'] == 1)
{
$_SESSION['count'] = 1;
$id_uprawnienia = 1; //nie dziala :(
echo \"udalo ci się jako klientowi\"; echo \"Witaj, \" .$wiersz['imie'].\" \"; }
else
{
return 0;
}
}
else
{
return 0;
}
}
?>
powyzej funcja odpowiedzialna za zalogowanie uzytkownikow - dziala bez zarzutu oprocz miejssc oznaczonym (a te niedzialaj dopiero przy wspolpracy z funcja Wyswietl):
<?php
function Wyswietl()
{
echo \"<html>n<head>\"; $this->WyswietlTytul();
$this->WyswietlStyle();
echo \"</head>n<body>n\"; //echo \"uprawnienie nr: \" .$id_uprawnienia. \"\";
if (isset($_SESSION['count']) and
($id_uprawnienia = 3)) //oczywiscie tu jest blad - tylko jak to zrealizowac??!! {
$this->WyswietlNaglowek();
$this->WyswietlMenu($this->przyciski);
$this->Zawartosc1();
$this->WyswietlStopke();
// echo \"zalogowany jako\" .$id_uprawnienia.\"\";
echo \"</body>n</html>n\"; }
else
{
$this->WyswietlNaglowek();
$this->WyswietlMenu($this->przyciski);
$this->NieZalogowany();
$this->WyswietlStopke();
echo \"</body>n</html>n\"; }
}
?>
Jak sie domyslacie niewiele z tego dziala. Dziala to ze uzytkownicy sie loguja i na dodatek $wiersz['id_uprawnienia'] zwraca to co nalezy ale juz jesli chcialbym uzaleznic to co jest wyswietlone na stronie to dupa. wiem ze wiaze sie to z przekazaniem zmiennych (chyba) ale nie wiem jak to zrealizowac. Probowalem juz rozgrysc to od strony zasiegu zmiennych itd....
Jesli ktos ma jakies pomysly - a jest tak napewno - to bardzo prosilbym o jakies wskazowki.
Zdaje sobie sprawe ze niezbyt czytelnie opisalem problem ale licze na wasz spryt (IMG:
http://forum.php.pl/style_emoticons/default/biggrin.gif)