![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 8.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
juz pare dni siedzę i nie mogę wykombinować w jaki sposób napisać skrypt, który bedzie przenosił na odpowiednią podstronę w zależności od tego jaką rangę ma dany użytkownik. Mam 2 tabele USERS user_id user_login user_haslo id_ranga RANGA id_ranga ranga W pierwszej tabeli przechowuje użytkowników, w drugiej uprawnienia. Mam skrypt który łączy się z bazą i pobiera dane haslo i login po czym poprawnie loguje na stronę index.php W jaki sposób sprawić by po zalogowaniu konkretnego użytkownika, została sprawdzona przypisana do niego ranga z drugiej tabeli a następnie w zależności od tego jaka to ranga przekierowało go automatycznie na odpowiednią podstronę, na której będzie widział tylko te funkcje do których ma uprawnienia. Próbowałem zrobić to stosując funkcje IF ale po jej zapisaniu wyświetla się biała strona natomiast na sesjach nie wiem w jaki sposób przypisać rangę do sesji w zależności od tego kto jest zalogowany. Przeszukałem forum, jednak nie znalazłem odpowiedniej pomocy. kod index.php Kod $this_var = " <?php error_reporting(E_ALL); ini_set('display_errors','1'); session_start(); session_register("zalogowany"); if(empty($_SESSION["zalogowany"]))$_SESSION["zalogowany"]=0; mysql_connect("localhost", "root", "608693")or die("Nie można nawiązać połączenia z bazą"); mysql_select_db("zokia")or die("Wystąpił błąd podczas wybierania bazy danych"); function ShowLogin($komunikat=""){ echo "$komunikat<br>"; echo "<form action='index.php' method=post>"; echo "Login: <input type=text name=login><br>"; echo "Hasło: <input type=text name=haslo><br>"; echo "<input type=submit value='Zaloguj!'>"; echo "</form>"; echo "Jeśli nie jesteś zarejestrowany, <a href='rejestruj.php'>tu znajdziesz formularz</a>"; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl"> <head> <title>Strona główna</title> </head> <body> <?php if($_GET["wyloguj"]=="tak"){$_SESSION["zalogowany"]=0;echo "Zostałeś wylogowany z serwisu";} if($_SESSION["zalogowany"]!=1){ if(!empty($_POST["login"]) && !empty($_POST["haslo"])){ if(mysql_num_rows(mysql_query("select * from users where user_login = '".htmlspecialchars($_POST["login"])."' AND user_haslo = '".htmlspecialchars($_POST["haslo"])."'"))){ echo "Zalogowano poprawnie. <a href='index.php'>Przejdź na stronę główną</a>"; $_SESSION["zalogowany"]=1; } else echo ShowLogin("Podano złe dane!!!"); } else ShowLogin(); } else{ ?> Gratulacje! Zalogowałeś się pomyślnie! Możesz przejśc teraz do innych podstron, np. do <a href="stronka.php">tej</a> <br><a href='index.php?wyloguj=tak'>wyloguj się</a> <?php } ?> </body> </html> <?php mysql_close(); ?> "; kod rejestruj.php Kod $this_var = " <?php mysql_connect("localhost", "root", "608693")or die("Nie można nawiązać połączenia z bazą"); //połączenie z bazą danych mysql_select_db("zokia")or die("Wystąpił błąd podczas wybierania bazy danych"); function ShowForm($komunikat=""){ //funkcja wyświetlająca formularz rejestracyjny echo "$komunikat<br>"; echo "<form action='rejestruj.php' method=post>"; echo "Login: <input type=text name=login><br>"; echo "Hasło: <input type=text name=haslo><br>"; echo "<input type=hidden value='1' name=send>"; echo "<input type=submit value='Zarejestruj mnie'>"; echo "</form>"; } ?> <head> <title>Formularz rejestracyjny</title> </head> <body> <?php if($_POST["send"]==1){ //sprawdzanie czy formularz został wysłany if(!empty($_POST["login"]) && !empty($_POST["haslo"])){ //oraz czy uzupełniono wszystkie dane if(mysql_num_rows(mysql_query("select * from users where user_login='".htmlspecialchars($_POST["login"]."'"))))ShowForm("Użytkownik o podanym loginie już istnieje!!!"); // sprawdzanie czy użytkownik o podanej nazwie już istnieje else{ mysql_query("insert into users values(NULL, '".htmlspecialchars($_POST["login"])."', '".htmlspecialchars($_POST["haslo"])."')"); // zapisywanie rekordu do bazy echo "Rejestracja przebiegła pomyślnie. Możesz teraz przejść do <a href='index.php'>strony głównej</a> i się zalogować."; } } else ShowForm("Nie uzupełniono wszystkich pól!!!"); } else ShowForm(); mysql_close(); //zamykanie połączenia z bazą ?> </body> </html> "; kod check.php Kod $this_var = " <?php session_start(); ?> <head> <title>podstrona</title> </head> <body> <?php if($_SESSION["zalogowany"]==0){echo "nie masz dostępu do tej części witryny. <a href='index.php'>Zaloguj się</a></body></html>;"; exit();} ?> "; probowałem z taką funkcją IF Kod $this_var = "
if($ranga = 1) { <meta http-equiv="Refresh" content="3; url=admin.php" /> } elseif ($ranga = 2) { <meta http-equiv="Refresh" content="3; url=owner.php" /> } elseif ($ranga = 3) { <meta http-equiv="Refresh" content="3; url=user.php" /> } elseif ($ranga = 4) { <meta http-equiv="Refresh" content="3; url=control.php" /> } else { print("skontaktuj sie z administratorem"); } "; |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 07:32 |