Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Strona dostępna za zalogowanych
Forum PHP.pl > Forum > Przedszkole
glucik
Witam. Piszę sobie mały system zarządzania pracownikami dla własnych potrzeb, rejestracje mysql, logowanie itd. zrobiłem lecz wyłożyłem się tutaj:


  1. <? session_start(); ?>
  2. <!DOCTYPE html>
  3. <html>
  4. </head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  6. <title>Testowy skrypt</title>
  7. </head>
  8. <body>
  9.  
  10.  
  11. <?php
  12. if (!session_is_registered("sesja"))
  13. {
  14. echo "Nie jestes zalogowany ! <br>";
  15. echo "<a href=\"test.html\">Zaloguj sie</a>";
  16.  
  17. }
  18. else{
  19. echo "Witaj $c <br>";
  20. echo "<a href=\"logout.php\">Wyloguj</a>";
  21.  
  22. }
  23. ?>
  24.  
  25. </body>
  26. </html>


Otóż chcę aby jakieś dane na tej stronie był widoczne tylko dla zalogowanych, a nie chcę ich wrzucać w echo bo to zbyt uciążliwe. Jest jeszcze jakaś inna metoda ?
emajl22
ale co wrzucać w echo?

przy logowaniu dajesz $_SESSION['zalogowany']=true; i później sprawdzasz czy istnieje sesja if (isset($_SESSION['zalogowany']))

poza tym $c co tu robi?
glucik
Przy logowaniu mam taki skrypt:

  1. <?
  2. if ($result = true)
  3. {
  4. $sesja="X";
  5. }
  6. ?>


$result to szukanie w bazie usera i hasła

Chodzi mi aby jakaś tam treść była dostępna tylko dla zalogowanych, przykładowo jakiś grafik
xtremich
Jest jeszcze opcja uzycia cookie dajesz przy zalogowaniu np
  1. setcookie('nazwa', wartosc. czas);

np
  1. setcookie('zalogowany', 1,time()+3600);

takie cos masz wpisac w wypadku gdy przy logowaniu dane beda poprawne
a na stornie ktora ma byc widoczna dla zalogowanych
  1. <?
  2. if($_COOKIE['nazwa'] == wartosc ustanawiana w wypadku poprawnego logowania)
  3. {
  4. tresc storny dla zalogowanych
  5. }
  6. else{
  7. tresc dla nie zalogowanych
  8. }

glucik
Czyli przy logowaniu mogę to tak zrobić ?:

  1. <?
  2. if ($result = true)
  3. {
  4. $sesja="X";
  5. }
  6. setcookie('sesja', 1,time()+3600);
  7. ?>


wyrzuca mi błąd : , unexpected T_STRING
xtremich
nie jestem pewny ale linijke
  1. setcookie('sesja', 1,time()+3600);

powinienes umiescic jeszcze w if w sesie ze powinno to wygladac tak
  1. <?
  2. if ($result = true)
  3. {
  4. $sesja="X";
  5. setcookie('sesja', 1,time()+3600);
  6. }
  7.  
  8. ?>
  9.  

poniewaz to cookie powinno byc tworzone w wypadku poprawnego logowania.
glucik
Niestety, nie działa ;/
xtremich
a samo logowanie bez cookie dziala?
emajl22
wartość powinna być w "" albo ''

  1. setcookie('sesja', '1', time()+3600);
glucik
Dzięki emajl22, mam jeszcze jeden problem z wylogowaniem:

  1. <?php
  2.  
  3. $_SESSION = array();
  4.  
  5. if (isset($_COOKIE['sesja'])) {
  6. setcookie(sesja(), '', time()-42000, '/');
  7. }
  8.  
  9. echo "Wylogowano <br>";
  10. echo "<a href=\"test.html\">Zaloguj sie ponownie</a>";
  11. ?>


wyrzuca mi błąd : Call to undefined function: sesja() i

wcześniej nie miałem takiego poblemu
xtremich
czemu obok sesja jest()? nie ma byc czsem
  1. setcookie('sesja', '0', time()-42000, '/');
glucik
To znów wyskoczył błąd: Warning: Cannot modify header information - headers already sent
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.