Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]sesje
Forum PHP.pl > Forum > Przedszkole
Larges
Nie bardzo rozumiem jak wykorzystać sesje do funkcjonowania panelu administracyjnego

mam logowanie i sprawdzanie poprawnosci hasla, jak sprawic, aby to haslo bylo przekzaywane w sesji do kolejnych podstron panelu i jak zrobić, żeby bez wpisania uprzednio poprawnego hasła wszystkie podstrony panelu nie były widoczne?

Z góry dziękuję za pomoc.
Cezar708
Zmienne sesyjne jak sama nazwa wskazuje są to zmienne widziane podczas całej sesji "bycia" na danym serwisie.

w momencie logowania (gdy się powiedzie) możesz ustawić jakąś zmienną, która Ciebie interesuje, na przykład:

  1. <?php
  2. if (loginCorrect($_POST['login'], $_POST['pass']) {
  3. $_SESSION['pokaz'] = 1;
  4. } 
  5. else {
  6. $_SESSION['pokaz'] = 0;
  7. }
  8. ?>


nastepnie w nastepnych podstronach możesz z tej zmiennej korzystac i ona zawsze będzie widoczna gdy wystartujesz sesję za pomocą session_start(), przykład

  1. <?php
  2. if (isset($_SESSION['pokaz']) && $_SESSION['pokaz'] == 1) {
  3. // wyswietl strone
  4. }
  5. else {
  6. die('Przepraszamy, ale nie masz dostepu do tej strony, musisz sie zalogować');
  7. }
  8. ?>


Pozdrawiam
marcio
NAjprostsze logowanie bez mysql/txt/dodatkowych plikow php
  1. <?php
  2.  
  3. $pass = array('marcio' => '41eacc44b55da8428feacdcb4bc71dd7', 'kmll' => 'a1d981b7c4fc9e09ab47d14ba67198a3');
  4.  
  5. echo('<form method="post" action="'.$_SERVER['PHP_SELF'].'">
  6. <table align="center">
  7. <tr>
  8. <td style="width:150px;background:#8a0000;color:#fff;text-align:center"><b>Login</b></td>
  9. <td><input type="text" name="login"></td>
  10. </tr>
  11. <tr>
  12. <td style="width:150px;background:#8a0000;color:#fff;text-align:center"><b>Haslo</b></td>
  13. <td><input type="password" name="haslo"></td>
  14. </tr>
  15. </table>
  16. <center><input type="submit" name="loguj" value="Loguj" style="background-color:#ECECEC; color:#000000; border: 1px solid blue;"></center>
  17. </form>
  18. ');
  19.  
  20. $login = strip_tags($_POST['login']);
  21. $haslo = strip_tags($_POST['haslo']);
  22.  
  23. if(!empty($login) && !empty($haslo) && isset($_POST['loguj'])) {
  24.  
  25. foreach($pass as $nick => $password) 
  26.  
  27.  if($login == $nick && md5($haslo) == $password) {
  28.  $_SESSION['login'] = 1;
  29.  $_SESSION['user'] = $login;
  30.  header("Location:upload.php");
  31.  }
  32. ?>

Na podstronach
  1. <?php
  2.  
  3. if(isset($_SESSION['login']) && isset($_SESSION['user']) && $_SESSION['login'] == 1) {
  4.  
  5. //OK
  6.  
  7. }
  8.  
  9. else echo('Nie masz dosteptu do tej czesci strony!');
  10. ?>
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.