Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Prawa dostępu
KomputeromaniaK
post
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 10.01.2009

Ostrzeżenie: (0%)
-----


Witam.
Mam takowy skrypt:
index.php
Kod
<?php
session_start();
session_register("zalogowany");

if(empty($_SESSION["zalogowany"]))$_SESSION["zalogowany"]=0;


require_once("../config.php");
                        mysql_select_db("account");

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=password name=haslo><br>";
        echo "<input type=submit value='Zaloguj!' class=button>";
        echo "</form>";
        
}

?>
<!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>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  <meta name="Description" content="Tu wpisz opis zawarto¶ci strony" />       <meta name="Keywords" content="Tu wpisz wyrazy kluczowe rozdzielone przecinkami" />
  <title><?php require_once('../nazwa.html'); ?> :: Administracja serwerem</title>
    <link rel="shortcut icon" href="pliki/favicon0.bmp" type="image/x-icon" />
  <link rel="stylesheet" type="text/css" href="../style.css" />
</head>
<body>
<div id="top">
<div id="logo">
<div id="logo2">
<img src="../logo2.jpg" alt="Logo"/>
</div>
</div>
<div id="menupoz">
<ul class="menu">
<li><a href="../index.php">Strona główna</a>
<li><a href="../reg.php">Rejestracja</a>
<li><a href="../changepsd.php">Zmiana hasła</a>
<li><a href="../down.php">Download</a>
<li><A href="../sieci.php">Sieci Hamchi</a>
<li><a href="../itemshop/">ItemShop</a>
<li><a href="../rank.php">Ranking</a>
</ul>
</div>
<div id="gora">
ADMINISTRACJA - Logowanie
</div>
<div id="tresc">
&nbsp;
<center>
<?php
if($_GET["wyloguj"]=="tak"){$_SESSION["zalogowany"]=0;echo "Zostałe¶ wylogowany z administracji";}
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{
?>
</center>
<!-- Treść po zalogowaniu-->
<a href='index.php?wyloguj=tak'>Wyloguj się</a>
<?php
}
?>
  &nbsp;        
            </div>

                                                                        
<div id="koniec">
</div>
<div id="stopka">
<Center>Wszelkie prawa zastrzeżone. Serwer postawiony na FreeBSD by Rain. <Br/>
<a href="../kontakt.php" style="color: white">Kontakt</a> | <a href="index.php" style="color: white">Administracja</a></center>
</div>
</div>
<font color=white>© by <a href="http://komputeromaniak.lua.pl"><img src="../pliki/kompus.png"></a> Designed by Metin2</font>
</body>
</html>
<?php mysql_close(); ?>



oraz jakaś podstrona:
Kod
<?php
session_start();
?>

<!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>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  <meta name="Description" content="Tu wpisz opis zawarto¶ci strony" />       <meta name="Keywords" content="Tu wpisz wyrazy kluczowe rozdzielone przecinkami" />
  <title><?php require_once('../nazwa.html'); ?> :: Administracja serwerem</title>
    <link rel="shortcut icon" href="pliki/favicon0.bmp" type="image/x-icon" />
  <link rel="stylesheet" type="text/css" href="../style.css" />
</head>
<body>
<div id="top">
<div id="logo">
<div id="logo2">
<img src="../logo2.jpg" alt="Logo"/>
</div>
</div>
<div id="menupoz">
<ul class="menu">
<li><a href="../index.php">Strona główna</a>
<li><a href="../reg.php">Rejestracja</a>
<li><a href="../changepsd.php">Zmiana hasła</a>
<li><a href="../down.php">Download</a>
<li><A href="../sieci.php">Sieci Hamchi</a>
<li><a href="../itemshop/">ItemShop</a>
<li><a href="../rank.php">Ranking</a>
</ul>
</div>
<div id="gora">
ADMINISTRACJA - Zarz±dzanie sklepami
</div>
<div id="tresc">
&nbsp;
<?php
if($_SESSION["zalogowany"]==0){echo "Nie możesz adminsitrować serwerem, jeżeli nie jeste¶ zalogowany! <a href='index.php'>Zaloguj się</a>;"; exit();}
?>
<!--Treść po zalogowaniu --><a href='index.php?wyloguj=tak'>Wyloguj się</a>
  &nbsp;        
            </div>

                                                                        
<div id="koniec">
</div>
<div id="stopka">
<Center>Wszelkie prawa zastrzeżone. Serwer postawiony na FreeBSD by Rain. <Br/>
<a href="../kontakt.php" style="color: white">Kontakt</a> | <a href="index.php" style="color: white">Administracja</a></center>
</div>
</div>
<font color=white>© by <a href="http://komputeromaniak.lua.pl"><img src="../pliki/kompus.png"></a> Designed by Metin2</font>
</body>
</html>
<?php mysql_close(); ?>


I w bazie danych moje tabelki wyglądaj tak:
tabelka users:
ma pola: user_login, user_haslo, user_id.
Chcę mieć tak, że jak będzie tabelka user_dostep, i bedzie tam wybrane np. 1 to ktoś będzie miał dostęp do wybranej podstrony, a jeżeli będzie wartość 2 to podstrona się nie wyświetli tylko komunikat "Nie masz uprawnień do tej opcji". Proszę o pomoc, na prawdę nie umiem sobie z tym poradzić ;/
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mortus
post
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

Ostrzeżenie: (0%)
-----


Po pierwsze używaj właściwego BBCODE (jak któryś moderator zobaczy to w takiej formie, to zamknie temat). Po drugie stosowanie funkcji exit() do wyświetlenia treści strukturalnej strony to raczej nie najlepszy pomysł. Zresztą funkcja exit() niezbyt nadaje się do rozwiązywania tego typu sytuacji, jak błąd logowania, czy brak uprawnień. Po trzecie wstaw sobie w index.php taki krótki kod na samym początku (przed session_start(), po session_start(), ale na początku)
  1. ini_set('display_errors', 1);
Zobaczysz wtedy, że masz więcej błędów, ostrzeżeń lub uwag, przede wszystkim w przypisaniach. No i po czwarte przed warunkiem if($_SESSION['ranga'] == 2) wydrukuj sobie funkcją print_r() zawartość tablicy $_SESSION
  1. echo '<pre>';
  2. print_r($_SESSION);
  3. echo '</pre>';
  4. if($_SESSION['ranga'] == 2)
  5. ...
Zobaczysz wtedy, czy ranga jest taka, jakiej się spodziewasz. (echo '<pre>'; i echo '</pre>'; spowodują, że tablica $_SESSION będzie bardziej czytelna)

Ten post edytował mortus 2.04.2010, 07:05:55
Go to the top of the page
+Quote Post

Posty w temacie


Closed TopicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.12.2025 - 21:50