Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Rejestracja, logowania, uzytkownicy [dla poczatkujacych]
Forum PHP.pl > Forum > Przedszkole
Ksiaze
Odrazu na wstepie mowie, ze jestem poczatkujacy adept i probuje nauczyc sie PHP we wlasnym zakresie, tj. z Internetu, ksiazek, samouczkow, forum, itp...

Znalazlem tu http://webmade.org/porady/sesje-php-system-logowania.php bardzo dobry tutorial jak stworzyc sesje, rejestracje i logowanie. Wszystko pieknie wytlumaczone, zaczynam to nawet rozumiec.

Mam jednak problem.

Niech przykladowa strona index.php wyglada tak:

Kamil [to bedzie link]
Leszek [to bedzie link]

Name [tu wpisujemy imie]
Haslo [tu haslo]
Zaloguj [przycisk]
Rejestruj [link do rejestracji]

I teraz logujac sie jako Kamil, nie mam prawa wejsc na link Leszek (niech bedzie komunikat, ze nie masz wstepu na te strone). I vice versa.

Jak to zrobic w prosty sposob? Step by step.
kielich
No w bardzo łatwy sposób możesz to uzyskać mianowicie masz do wyboru kilka sposobów ja był proponował taki : zapewne w bazie leszek i kamil maja ID =) to sprawdzasz np.

  1. if (($row[id])==2){
  2. to leszcze
  3. }esle{
  4. kamil
  5. }


możesz też dodać kolumnę np. level której nadasz tam jakies wartości i sobie będziesz sprawdzać smile.gif
grassmen
Nadaj prawa kolejnym uzytkowanikom poprzez dodanie np jednego
pola w tabeli "prawa" i ustaw że 1 to możne wszytko 0 nie może czegoś tam itp
no i w pliku sprawdzaj czy zalogowany użytkownik
ma prawo 1 czy 0 jak 1 to udostępniaj zasoby 0 to nie
no i już ...
mortus
Skoro ktoś nie ma prawa klikać w link, to po co mu ten link pokazywać. Ja bym zrobił to w taki sposób, że zalogowanemu użytkownikowi (czyli temu, którego username umieściliśmy w sesji) udostępniał bym w index.php tylko te linki, które może kliknąć. Obrazując Twój przykład:
  1. <?php if(isset($_SESSION['username']) && $_SESSION['username'] != '') : ?>
  2. <a href="index.php?username="<?php echo $_SESSION['username']; ?>"><?php echo $_SESSION['username']; ?></a>
  3. <?php endif: ?>
  4. <!-- tutaj wyświetlamy formularz logowania -->
Gdybyś jednak upierał się przy swoim, to powinieneś robić tak:
index.php
  1. <a href="profile.php?username=Kamil">Kamil</a> | <a href="profile.php?username=Leszek">Leszek</a>
  2. // formularz logowania
profile.php - na samym początku i zakładamy, że użytkownik jest zalogowany i ma username przechowywane w sesji:
  1. <?php
  2. if($_GET['username'] != $_SESSION['username']) die('Nie masz dostępu do tego pliku!');
  3. ?>
Oczywiście zamiast posługiwać się nazwą użytkownika, można posługiwać się np. jego id, albo utworzyć w tabeli users pole rola, które będzie definiować poziom dostępu (np. superuser - może wszystko, member - już niekoniecznie, itd.).
Ksiaze
Dziekuje za wszystkie odpowiedzi. Ech 20 lat temu szybciej do go glowy to wszystko wchodzilo, ale powalcze z tym. aarambo.gif
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.