Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Rejestracja, logowania, uzytkownicy [dla poczatkujacych]
Ksiaze
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 25.02.2010

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


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.
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%)
-----


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.).
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: 4.10.2025 - 02:07