Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dostepne po zalogowaniu
Forum PHP.pl > Forum > Przedszkole
Felix-thewebmaster
Mam pytanie, nie znalazlem tego w kursach php. Jak zrobic, zeby podstrona byla dostepna tylko po zalogowaniu na strone inaczej wyswietli sie komunikat ze musisz byc zalogowany? Ew. link do opisu jak to zrobic(DOKLADNIE!!!) Prosze o pomoc
pirat
http://phpedia.pl/wiki/Sesje

jak będziesz wiedział co to sesje, to już wpadniesz na reszte sam..
Dark Raven
Kiedy pojmiesz sesje jak powiedział pirat, sprawdzaj czy taka istnieje.
Przykład:
  1. <?php
  2. if ( !isset($_SESSION['zalogowany']) )
  3. {
  4. echo 'Musisz być zalogowany, aby oglądać tę stronę.';
  5. }
  6. ?>
Felix-thewebmaster
Ja jestem w tym zupelnie poczatkujacy, wiec niech mi ktos napisze dokladnie jak to powinna wygladac
strife
Przecież w tym linku co dostałeś wyżej jest to opisane. Ehh... stwórz sobie np.

security.php
  1. <?php
  2.  
  3. if ( isset( $_SESSION['start'] ) )
  4. {
  5. echo 'masz dostep';
  6. }
  7. else
  8. {
  9. echo 'Nie masz dostepu';
  10. }
  11. // instrukcje jezeli chcemy dodac sesje ktora spelni powyzszy warunek
  12. echo '<hr />';
  13. echo 'jezeli chcesz miec dostep do strony kliknij ponizszy <a href="?dostep=1">tutaj</a>';
  14. if ( $_GET['dostep'] == '1' )
  15. {
  16. $_SESSION['start'] = '1';
  17. }
  18.  
  19. ?>

Wylogowanie uzyskujesz poprzez session_destroy" title="Zobacz w manualu php" target="_manual. Tak na dobrą sprawę na forum jest mnóstwo rzeczy na ten temat wystarczy poszukać. To że jesteś początkujący nie usprawiedliwa Cię przed korzystaniem z wyszukiwarki forum.

Poczytaj manual'a rozdziały o sesjach, a także kontrukcjach warunkowych i zmiennych superglobalnych.

Pozdrawiam winksmiley.jpg
Tucker
Sprobuj cos takiego:

  1. <?php
  2.  
  3. if (!isset($_SERVER[PHP_AUTH_USER])) {
  4. header('WWW-Authenticate: Basic realm="Blablabla wpisz co chcesz np Strona z haslem"');
  5. header('HTTP/1.0 401 Unauthorized');
  6. echo 'Wymagana autoryzacja.';
  7. } else {
  8. if (($_SERVER[PHP_AUTH_USER] != "Twoj login") || ($_SERVER[PHP_AUTH_PW] != "Twoje haslo")) {
  9. header('WWW-Authenticate: Basic realm="Blablabla wpisz co chcesz np Strona z haslem"');
  10. header('HTTP/1.0 401 Unauthorized');
  11. echo 'Wymagana autoryzacja.';
  12. } else {
  13. Miejsce na kod strony ktora ma byc wyswietlona po wpisaniu loginu i hasla
  14. }
  15.  
  16. }
  17. ?>
kosheen2k
A jak utrzymać sesję pomiędzy kilkoma podstronami? Tzn, mam stronę index.php na niej robie session_start(); a potem ta sesja działa dopóki user nie wyłączy przeglądarki albo dopóki ja nie zrobie session_destroy(); ? Proszę podpowiedzcie mi, bo chciałem "współdzielić" wartości zawarte w sesji pomiędzy różnymi podstronami.

Pozdrawiam i dziękuje, i przy okazji przepraszam za zamieszanie.


Znalazłem odpowiedź na moje pytanie:

Rzeczą, która odróżnia zwykłe zmienne od zmiennych sesyjnych jest to, że gdy stworzymy zmienną sesyjną to będzie ona widoczna i będzie miała taką samą wartość dopóki jej nie zmienimy lub nie przerwiemy sesji (nie zamkniemy okna przeglądarki).

Pozdrawiam.
LBO
Ja na przykład napisałem własną klasę, która zmienne sesyjne trzyma w Bazie Danych - zapisuje w niej identyfikator sesji i przypisane do niej zmienne. wtedy wystarczy, że będę trzymał ciasteczko z owym identyfikatorem. Jeżeli moja klasa go wykryje, przywraca sesje.
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.