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
 
Start new topic
Odpowiedzi
polak89
post 25.11.2007, 12:24:47
Post #2





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

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


plik wiesci.php

  1. <?php
  2.  
  3. require_once 'conn.php';
  4.  
  5.  
  6.  
  7. $sql = "SELECT * FROM newsletter ORDER BY date DESC";
  8.  
  9. $results = mysql_query($sql, $conn)
  10.  or die (' Nie mogę pobrac newsa: ' . mysql_error());
  11.  
  12. $_SESSION['username'] = $_POST['user'];
  13. $_SESSION['userpass'] = $_POST['pass'];
  14. $_SESSION['sprawdz'] = 0;
  15.  
  16. // sprawdza informacje o uzytkowniku
  17.  
  18. if (($_SESSION['username'] == 'zdrajca-band') and
  19. ($_SESSION['userpass'] == 'zdrajca')) {
  20.  $_SESSION['sprawdz'] = 1;
  21.  }
  22.  
  23.  
  24.  
  25. ?>
  26.  
  27. <!DOCTYPE html
  28. PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  29. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  30.  
  31. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  32.  
  33. <head>
  34.  
  35. <title>ZDRAJCA</title>
  36.  
  37. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  38.  
  39. <link rel="Stylesheet" type="text/css" href="style.css" />
  40.  
  41.  
  42. </head>
  43.  
  44. <body style="background: rgb(0, 0, 0) url(introx/i9.jpg) no-repeat fixed 50%;">
  45.  
  46. <h1>NEWS</h1>
  47.  
  48.  
  49. <?php
  50.  
  51. $arrLocale = array( "pl_PL", "polish_pol" );
  52. setlocale( LC_ALL, $arrLocale );
  53.  
  54.  
  55. if (mysql_num_rows($results)) {
  56.  
  57. echo '<center><a href="compose.php">dodaj</a><a href="transactscript.php?action=wyloguj">wyloguj</a></center>';
  58.  
  59.  
  60. while ($row = mysql_fetch_array($results)) {
  61. echo "<span class=\"date\">" .
  62.  date('j', strtotime($row['date'])) . strftime(' %B %Y', strtotime($row['date'])) .
  63.  "</span>\n";
  64. echo "<p class=\"body\">\n" .
  65.  ucfirst(nl2br($row['body'])) .
  66.  "\n</p>\n";
  67.  
  68. if (isset($_SESSION['sprawdz']) and $_SESSION['sprawdz'] == 1) {
  69.  
  70. echo "<p class=\"action\">\n" .
  71. "<a href=\"compose.php?a=edit&id=" . $row['news_id'] . "\">edytuj</a>\n".
  72. "|\n" .
  73. "<a href=\"transactscript.php?action=delete&id=" . $row['news_id'] . "\">usuń</a>\n</p>\n";
  74.  }
  75.  
  76. }
  77. }
  78. else {
  79. echo "<span style=\"font-family: 'Courier New'; font-style: italic;\">Brak newsów. Aby dodać nowy kliknij <a href=\"compose.php\">tutaj</a>.</span>";
  80. }
  81.  
  82.  
  83. ?>
  84.  
  85. </body>
  86. </html>


Ten post edytował polak89 25.11.2007, 12:29:37
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: 14.08.2025 - 20:34