Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] sesje prosty przyklad
kraftix
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 5.12.2009

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


Witam (IMG:style_emoticons/default/smile.gif)
uczę się dopiero PHP i chcę zrobić logowanie z bazy danych na sesjach. W bazie mam login, haslo i numer i chciałbym, żeby ten numer oznaczał poziom użytkownika, czyli że np 0 to user, 1 to moderator, a 2 to admin. Tylko jak się za to wszystko zabrać? Mam stronke logowanie.php, index.php, strona2.php i jak to teraz zrobić? Chce, żeby np na index.php admin widzial wszystko, moderator mniej, a user np tylko link do strona2.php. To wiem jak zrobić, ale jak zrobić w pliku rozróżnianie przez to co mam w bazie? Czytałem i szukałem o sesjach, ale nie znalazłem o tym info, tylko ogolne informacje.

Pozdrawiam (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Kszyhuu
post
Post #2





Grupa: Zarejestrowani
Postów: 157
Pomógł: 32
Dołączył: 24.08.2009

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


Robisz formularz do logowania na stronie dajmy na to zaloguj.html, który wygląda tak:
  1. <form method="post" action="logowanie.php">
  2. Login: <input type="text" name="login" size="10" class="input">
  3. Hasło: <input type="password" name="pass" size="10" class="input">
  4. <input class="input" type="submit" name="submit" value="Zaloguj">

W pliku logowanie.php robisz coś takiego:
  1. <?php
  2. mysql_connect('HOST','BAZA','PASS') or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error().'<br />Proszę spróbować ponownie za chwilę.');
  3. $login = mysql_escape_string($_POST['login']);
  4. $pass = mysql_escape_string($_POST['pass']);
  5. $zapytanie = mysql_query("SELECT * FROM user WHERE login = '$login'");
  6. $dane = mysql_fetch_array($zapytanie);
  7.  
  8. if(isset($_POST['login']) && isset($_POST['pass'])) {
  9. if($login ==''.$dane['login'].'' && $pass ==''.$dane['pass'].'') {
  10. if($wartosc == 1) {
  11. $_SESSION['prawa']='1';
  12. $_SESSION['login']=''.$dane['login'].'';
  13. header("Location: index.php");
  14. }
  15. if($wartosc == 2) {
  16. $_SESSION['prawa']='2';
  17. $_SESSION['login']=''.$dane['login'].'';
  18. header("Location: index.php");
  19. }
  20. if($wartosc == 3) {
  21. $_SESSION['prawa']='3';
  22. $_SESSION['login']=''.$dane['login'].'';
  23. header("Location: index.php");
  24. }
  25. }
  26. }
  27. ?>

I teraz w pliku index.php robisz tak:
  1. <?php
  2. include("logowanie.php")
  3. if (isset($_SESSION['prawa']) {
  4. if ($_SESSION['prawa'] == "1") {
  5. ?>
  6. KOD HTML DLA ADMINA
  7. <?php
  8. }
  9. if ($_SESSION['prawa'] == "2") {
  10. ?>
  11. KOD HTML DLA MODA
  12. <?php
  13. }
  14. if ($_SESSION['prawa'] == "3") {
  15. ?>
  16. <a href="strona2.php">KLIKNIJ TUTAJ GŁUPI USERZE</a>
  17. <?php
  18. }
  19. ?>


Spisane na kolanie, mam nadzieję, że zatrybi, a jeśli nie to przynajmniej masz schemat i sobie przerobisz. (IMG:style_emoticons/default/smile.gif)
$_SESSION['login']=''.$dane['login'].''; Dodane w razie, gdybyś chciał dodatkowo zrobić coś w stylu 'zalogowany jako'. ;]

1=Admin
2=Mod
3=User

Ten post edytował Kszyhuu 5.12.2009, 20:12:31
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.03.2026 - 10:02