Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sesja logowania
Forum PHP.pl > Forum > PHP
slawo
Witam,

niedawno zacząłem przygodę z wprowadzeniem logowania na stronę:

  1. <?php
  2.  
  3.  
  4.  
  5. if (isset($_SESSION['user_id']) and isset($_SESSION['login']))
  6.  
  7. {
  8. require('db.php');
  9.  
  10. echo "Jestes zalogowany. ";
  11.  
  12. echo "Twój login to: ";
  13.  
  14. echo "<b>";
  15.  
  16. echo $_SESSION['login'];
  17.  
  18. echo "</b>";
  19.  
  20. $login = $_SESSION['login'];
  21.  
  22.  
  23. KOD STRONY DLA ZALOGOWANYCH
  24.  
  25.  
  26. }
  27.  
  28.  
  29.  
  30. else
  31.  
  32. {
  33.  
  34. echo "Nie jestes zalogowany";
  35.  
  36. KOD STRONY DLA NIEZALOGOWANYCH
  37.  
  38.  
  39. }
  40.  
  41.  
  42. ?>



trzeba napisać stronę i potem podzielić na 2 części jak powyżej? czy wstawia się to tam gdzie są jakieś komentarze, dodawanie czegoś (dla zalogowanych)
blooregard
Cytat
czy wstawia się to tam gdzie są jakieś komentarze, dodawanie czegoś (dla zalogowanych)

Dokładnie tak.

Sprawdzasz, czy user jest zalogowany tylko tam, gdzie jest to konieczne.
slawo
tak myslalem, bo bez sensu byloby tak robic jak wyzej napisalem.

czy za kazdym razem musi byc rozpoczecie sesji session_start(); ? czy wystarczy tylko raz gdzies na gorze?


jak wyglada "strefa" kodu, ktora pokazuje sie dla zalogowanych? tak?

  1. if (isset($_SESSION['user_id']) and isset($_SESSION['login']))
  2.  
  3. {
  4. require('db.php');
  5.  
  6.  
  7. widoczne dla zalogowanych
  8.  
  9.  
  10.  
  11. }


w takim razie jak wyglada "strefa" kodu dla niezalogowanych?



np. jakbym to wygladalo na takim przykladzie. mamy jakis tam formularz dodawania komentarzy.

i po zalogowaniu wyswietla sie formularz, a gdy nie jestesmy pisze, ze nalezy sie zalogowac aby moc dodac komentarz.

  1.  
  2. <?php
  3.  
  4.  
  5.  
  6. if (isset($_SESSION['user_id']) and isset($_SESSION['login']))
  7.  
  8. {
  9. require('db.php');
  10.  
  11. echo "kod formularza";
  12.  
  13. }
  14.  
  15.  
  16.  
  17. else
  18.  
  19. {
  20.  
  21. echo "zaloguj sie aby moc dodac komentarz";
  22.  
  23.  
  24. }
  25.  
  26.  
  27. ?>
  28.  


tak? i zawsze musze rozpoczynac sesje?

jak wstawie gdzies w srodek to wywala mi takie cos:

  1. Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\usr\apache\httpd\html\pokaz_fanklub.php:19) in c:\usr\apache\httpd\html\pokaz_fanklub.php on line 29


linijka 29 to session_start();

  1.  
  2. if (isset($_SESSION['user_id']) and isset($_SESSION['login']))
  3.  
  4. {
  5.  
  6.  
  7. echo "zalogowany";
  8.  
  9. }
  10.  
  11. else
  12.  
  13. {
  14.  
  15. echo "niezalogowany";
  16.  
  17.  
  18. }
  19.  




jak wwkleje gdzies w srodek to wywala mi taki blad:


  1. Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\usr\apache\httpd\html\pokaz_fanklub.php:19) in c:\usr\apache\httpd\html\pokaz_fanklub.php on line 29


linijka 29 to session_start();

  1.  
  2. if (isset($_SESSION['user_id']) and isset($_SESSION['login']))
  3.  
  4. {
  5.  
  6.  
  7. echo "zalogowany";
  8.  
  9. }
  10.  
  11. else
  12.  
  13. {
  14.  
  15. echo "niezalogowany";
  16.  
  17.  
  18. }
  19.  
tehaha
masz tutaj spacje przed <?php, zanim użyjesz session_start() nic nie może zostać wysłane do przeglądarki
  1. <?php
  2.  
  3.  
  4.  
  5. if (isset($_SESSION['user_id']) and isset($_SESSION['login']))
  6.  
  7. {
  8. require('db.php');
  9.  
  10. echo "kod formularza";
  11.  
  12. }
  13.  
  14.  
  15.  
  16. else
  17.  
  18. {
  19.  
  20. echo "zaloguj sie aby moc dodac komentarz";
  21.  
  22.  
  23. }
  24.  
  25.  
  26. ?>
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.