Wyswietlam formularz logowania. Dane z formularza pobieram metodą post i sprawdzam czy podane dane identyfikacyjne znajduja sie w bazie. Weryfikuję czy uzytkownik jest administratorem czy nie. Ustawiam odpowiednio cookies dla użytkownika zalogowanego niezależnie od uprawnień oraz drugie cookie dla odróżnienia admina od nie_admina.
Mam drugi plik w którym istnieje formularz dodawania nowego przepisu kulinarnego do bazy i wrzucający podany obrazek jedzonka na serwer. Chcę aby ten formularz był dostępny tylko jesli uzytkownik jest zalogowany. Jesli do formularza probuje sie dostac ktos niezalogowany wyswietla sie stosowny komunikat.
Drugi plik dolączam do pierwszego za pomocą include "dodaj_przepis.php" w miejscu weryfikacji czy uzytkownik jest administratorem czy zwyklym zalogowanym uzytkownikiem.
Loguje sie wiec, z bazy pobierane sa dane, wyswietla mi moj login i grupe uzytkownikow do jakiej naleze (administratorzy lub inni uzytkownicy) ale dolaczany formularz dodawania rzepisu zawsze wyswietla komunikat o tym, ze jestem niezalogowana. Jak sobie z tym poradzic? Dodam ze przy wykorzystaniu sesji sytuacja sie powtarza.
1. plik logowanie.php zawiera:
<? if ($zaloguj) { $login = ($_POST['user']); $haslo = ($_POST['password']); $polacz = mysql_connect (\"localhost\", \"uzyt\", \"haselko\") or die(\"Blad przy polaczeniu do bazy danych\"); { { $get_password = \"SELECT usersid FROM users WHERE login='$user' AND password=sha1('$haslo')\"; $zapytanie = mysql_query ($get_password, $polacz) or die (\"Blad sprawdzenia tozsamosci uzytkownika\"); if($num == 1) { $get_admin = \"SELECT usersid FROM users WHERE login='$user' AND password=sha1('$haslo') AND czyadmin='y'\"; if ($num2 == 1) { include \"panel_admina.php\"; } elseif($num2 == 0) { include \"dodaj_przepis.php\"; }; } } else { } } } else { ?> <html> <body> <table align=\"center\" valign=\"middle\"><tr><td> <form action=\"logowanie.php\" method=\"post\"> <table border=0 align=\"center\" valign=\"middle\"> <tr><td> <table><tr> <td><font face=\"arial\" size=\"3\"><b> Login: </b></font></td> <td><input type=\"text\" maxlenght=\"15\" name=\"user\"></td> </tr> <tr> <td><font face=\"arial\" size=\"3\"><b> Hasło: </b></font></td> <td><input type=\"password\" maxlenght=\"15\"name= \"password\"></td> </tr> </table> </td></tr> </table> </td></tr> <tr> <td align=right> <input type=\"submit\" name=\"zaloguj\" value=\"Zaloguj\"> <input type=\"reset\" name=\"anuluj\" value=\"Anuluj\"> </form> </td></tr></table> </html> <? };
2. plik dodaj_przepis.php ma w składni:
<?php if ((($_COOKIE['login'] == \"ZALOGOWANY\" && $_COOKIE['kto']==\"user\")) || (($_COOKIE['login'] == \"ZALOGOWANY\" && $_COOKIE['kto']==\"admin\"))) { if ($dodaj) { ................. instrukcje związane z dodawaniem przepisu do bazy i wsadzeniem obrazka na erwer } else {?> <form action=\"dodaj_przepis.php\" method=\"post\"> ................................. formularz dodawania przepisu ................................. <input type=\"submit\" name=\"dodaj\" value=\"Dodaj\"> </form> <?} } ?>
Ktoś wie, gdzie tkwi błąd? Wybaczcie ten cały wklejony kod ale inaczej nie moge tego zobrazować.