Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Baza userów logowania na strone
Forum PHP.pl > Forum > Bazy danych > MySQL
PesiV
Witam
Mam baze danych a w niej tabele user.

Email Password Name

użytkownik1 haslo1 user1
Użytkownik2 haslo2 user2
użytkownik3 haslo3 user3


I po wpisaniu danych poprawnych na stronie logujemy się na nią i możemy oglądać jej zawartość. Ja chce zrobić tak aby po zalogowaniu na konto użytkownik1 mógł podglądać stronę z ograniczonymi prawami bez możliwości wejścia do poszczególnych podstron itd.
Użytkownik2 mógł tylko oglądać stronę główną po zalogowaniu i nic więcej.
Da się tak zrobić żeby w bazie danych zrobić takie grupy uprawnień czy w kodzie php ?

Bo jeśli mam kod PHP
  1. <?php
  2.  
  3. include ("db_fns.php");
  4.  
  5. $row = get_user($_POST['email'],$_POST['password']);
  6. if($row)
  7. {
  8. $_SESSION['id'] = $row['email'];
  9. $_SESSION['username'] =$row['name'];
  10. header("Location: index.php"); ---> na tą stronę przerzuca po podaniu prawidłowych danych.
  11. }
  12. else
  13. {
  14. echo "Zle dane logowanie Brak dostempu";
  15.  
  16. }
  17. ?>

A jak by zrobił tak że kolejna tabele dla userow z ograniczonymi prawami tabela userog
  1. <?php
  2.  
  3. include ("db_fns.php");
  4.  
  5. $row = get_userog($_POST['email'],$_POST['password']); --->get userog pobiera dane z tabeli userog
  6. if($row)
  7. {
  8. $_SESSION['id'] = $row['email'];
  9. $_SESSION['username'] =$row['name'];
  10. header("Location: indexog.php"); ---> po zalogowaniu usera z ograniczeniami na indexog.php a nie na index.php
  11. }
  12. else
  13. {
  14. echo "Zle dane logowanie Brak dostempu";
  15.  
  16. }
  17. ?>


Z moich testów wynika że coś jeszcze przegapiłem. Nie chce gotowych skryptów bo chce to sam napisać i się czegoś nauczyć.
Pozdrawiam i dzięki za pomoc smile.gif
PesiV
shane54
to dodaj kolumnę "uprawnienia" do bazy -
i np: jak ustawisz 1 - to będziesz miał pełen dostęp
jak 2 to ograniczony - ale to już w php'ie sobie zrobisz...
PesiV
Jest może taka możliwość że na stronie logowania w polu:
  1. <form name="form1" method="post" action="checklogin.php">

A da się zrobić tak żeby na 2 pliki kierowało czyli nie tylko do checklogin ale też na checklogin2
  1. <form name="form1" method="post" action="checklogin.php" i z "checklogin2.php">

Reszte plików już przygotowałem więc tam napewno dobrze pójdzie jeśli tu sprawdzi oba skrypty.

Więc można jakoś tak to zrobić?
IceManSpy
Nie da się. Jak chcesz to zrobić? Otwórz w jednym oknie i w jednej karcie przeglądarki 2 strony na raz - możliwe?
nekomata
mozesz użyć include na pliku 'checklogin2.php' w pliku 'checklogin.php' , ale to tak samo jakbyś połączył oba pliki.
Cytat
Nie da się. Jak chcesz to zrobić?Otwórz w jednym oknie i w jednej karcie przeglądarki 2 strony na raz - możliwe?

Można , zapomniałeś o iframe (html) . Dodatkowo zmienne z formularza dodać jako Get do iframe i Voilà . biggrin.gif
konole
Cytat(nekomata @ 20.03.2011, 03:32:21 ) *
mozesz użyć include na pliku 'checklogin2.php' w pliku 'checklogin.php' , ale to tak samo jakbyś połączył oba pliki.

Można , zapomniałeś o iframe (html) . Dodatkowo zmienne z formularza dodać jako Get do iframe i Voilà . biggrin.gif

iFrame'y zginęły śmiercią naturalną, nie powracaj ich do życia. tongue.gif
binbash
Witam,

Może zrobić sobie tak,

- Stworzyć dodatkową tabele z definicjami poziomu dostępu np. admin, moderator, user
- Każdy użytkownik będzie powiązany z którymś z poziomów dostępu
- Przerób sobie tak zapytanie w funkcji get_user aby dodatkowo sprawdzało i zwracało poziom dostępu danego użytkownika
- Dodatkowo zapisuj w sesji ten poziom dostępu i potem sprawdzaj gdzie potrzebujesz z jakim użytkownikiem masz do czynienia
PesiV
Cytat
binbash
- Stworzyć dodatkową tabele z definicjami poziomu dostępu np. admin, moderator, user
- Każdy użytkownik będzie powiązany z którymś z poziomów dostępu
- Przerób sobie tak zapytanie w funkcji get_user aby dodatkowo sprawdzało i zwracało poziom dostępu danego użytkownika
- Dodatkowo zapisuj w sesji ten poziom dostępu i potem sprawdzaj gdzie potrzebujesz z jakim użytkownikiem masz do czynienia


Oka a możesz mi wytłumaczyć tak z grubsza jak to zrobić ?

Jak można zrobić bazę danych z tymi prawami questionmark.gif Pomoże ktoś?
gregory90
Witam,
polecam zapoznanie się z takim tworem jak ACL (Access Control List).
Można o tym poczytać np. tutaj
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.