Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Sesje
Forum PHP.pl > Forum > Przedszkole
jeremiash
Cześć. Przy próbie przejścia na OOP napotkałem na problem z sesjami, który dał mi do myślenia. W podręczniku z 2005r. tworzenie sesji odbywa się na początku pliku (przed właściwym zalogowaniem / uwierzytelnieniem).

  1. <?php
  2. if (isset($_POST['np.login'])&&($_POST['haslo')) {
  3. połącz do bazy, sprawdź rekordy i jeśli jest poprawny to
  4. $_SESSION['user']=true;
  5. }


Tak w skrócie oczywiście.... Bazujemy tutaj na dodaniu zmiennej sesyjnej do sesji już wcześniej założonej. Czy nie powinno się tworzyć sesji dopiero po sprawdzeniu danych z tymi np. w bazie? przykład:

  1. <?php
  2. function __autoload($class) {
  3. require_once('$class.'.php');
  4. }
  5. try
  6.  
  7. {
  8. $polaczenie= new database; //łączę z bazą
  9. if($_SESSION['aaa']==true){
  10. ... // wyświetlam info o zalogowanym
  11. }else{
  12. $form= new formularz_logowania;
  13. $form->logowanie($polaczenie->connect());
  14. }
  15. $aaaaaa=new strona;
  16. $aaaaaa->wyswietl;
  17.  
  18. }
  19.  
  20. catch(Exception $exception)
  21.  
  22. {
  23.  
  24. echo 'mamy blad : '.$exception->getLine().': '.$exception->getMessage();
  25.  
  26. }


W tym przypadku sesja jest tworzona przez obiekt klasy $form, gdy dane zostaną sprawdzone w bazie. Potem np. dodać regenerację id na początku.

Co o tym myślicie?
nospor
Sesja ma być tworzona od razu, bo dzięki temu wiesz, czy ktoś już jest zalogowany czy nie i go nawet nie dopuścisz do momentu logowania - bo po co logować, skoro jest już zalogowany smile.gif
Tworząc sesję dopiero po zalogowania, tracisz info, czy koleś był zalogowany czy nie.
jeremiash
też racja. Dzieki
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.