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(); ?>
";
<?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>
";
<?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();}
?>
";
<?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");
}
";
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");
}
";