Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Zmienne sesyjne
polak89
post 25.11.2007, 11:49:57
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 11.11.2007

Ostrzeżenie: (10%)
X----


Witam. Napisalem prosty system uwierzytelniania. W pierwszej fazie po zalogowaniu strona do ktorej przesylane sa zmienne z formularza ustawia odpowiedznie zmienne sesyjne. Jeśli wartość zmiennej $_SESSION['logged'] = 1 uzytkownik sie zalogowal:

  1. <?php
  2. $_SESSION['username'] = $_POST['user'];
  3. $_SESSION['userpass'] = $_POST['pass'];
  4. $_SESSION['logged'] = 0;
  5.  
  6. // sprawdza informacje o uzytkowniku
  7.  
  8. if (($_SESSION['username'] == 'login') and
  9. ($_SESSION['userpass'] == 'haslo')) {
  10.  $_SESSION['logged'] = 1;
  11.  }
  12. ?>

Jeśli uzytkownik jest zalogowany na tej stronie zostaja wyswietlone linki edycji i usuwania wiadomosci. Aby usunac lub edytowac rekord z bazy danych uzytkownik musi byc zalogowany:
  1. <?php
  2. case 'delete':
  3.  
  4.  
  5.  if ($_SESSION['logged'] != 1) {
  6.  
  7.  echo 'Nie jestes zalogowany';
  8.  
  9.  exit();
  10.  } else {
  11.  
  12.  $sql = &#092;"DELETE FROM newsletter \" .
  13. &#092;"WHERE news_id=\" . $_GET['id'];
  14.  
  15.  mysql_query($sql, $conn)
  16.  or die ('Nie mogę skasowac artykułu: ' . mysql_error());
  17.  }
  18.  
  19. if( $_SESSION['logged'] == 1) {
  20.  
  21.  redirect('newsletter/wiesci.php');
  22.  }
  23.  break;
  24. ?>

Za pomoca funkcji redirect(); skrypt przekierowuje uzytkownika na strone wynikowa. Niestety w tym przypadku ustawia zmienna $_SESSION['logged'] = 0. Czy ktoś wie jak rozwiazac ten problem?

Ten post edytował polak89 25.11.2007, 12:03:11
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 31.07.2025 - 08:58