Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Dołączanie sesji
Forum PHP.pl > Forum > Przedszkole
Lee
Mam taki kod
  1. <?php
  2. echo '<table cellspacing="3" cellpadding="0" align="left">
  3.  <form action="administracja/index.php" method="post">
  4. <tr><td class="text">Login: </td><td><input type="text" name="uzytkownik" size="20"></td></tr>
  5. <tr><td class="text">Hasło: </td><td><input type="password" name="haslo" size="20"></td></tr>
  6. <tr><td colspan="2"><input type="submit" name="zaloguj" value="Zaloguj"></td></tr>
  7.  </form>
  8.  </table><br><br>';
  9.  
  10.  
  11. ?>

jak mam go zmodyfikować, żeby po wciśnięciu Zaloguj przesyłało mi id sesji w urlu questionmark.gif wiem, że coś w action ale nie wiem co...
strife
  1. <?php
  2.  
  3. // ...
  4. echo '<form action="administracja/index.php?sid=' . session_id() . '" method="post">   ';
  5. // ...
  6.  
  7. ?>

O to chodzi?
Lee
czemu wszędzie pisżą, żeby jakieś SID dopisiwać skoro to nie działa :| na stronie http://pl2.php.net/manual/pl/ref.session.php, w książce Heliona php i MySQL Tworzenie WWW też...
LBO
Może to jest przyczyną?
Lee
pytałem się o to, bo mam problem chyba z sesjami. Otóż gdy się zaloguje do mojego panelu to strona główna działa ok, ale gdy klikne w coś wyskakuje komunikat jak gdybym wpisał złe dane

Kod administracja.php
  1. <?php
  2. //...
  3. if (empty($_SESSION['uzytkownik'])){
  4.  echo '<table cellspacing="3" cellpadding="0" align="left">
  5.  <form action="administracja/index.php?sid=' . session_id() . '" method="post">
  6. <tr><td class="text">Login: </td><td><input type="text" name="uzytkownik" size="20"></td></tr>
  7. <tr><td class="text">Hasło: </td><td><input type="password" name="haslo" size="20"></td></tr>
  8. <tr><td colspan="2"><input type="submit" name="zaloguj" value="Zaloguj"></td></tr>
  9. </form></table><br><br>';
  10. }
  11.  if (!empty($_GET['action']) && strip_tags($_GET['action']) == 'wyloguj'){
  12.  unset($_SESSION['uzytkownik']);
  13. echo '<table cellspacing="3" cellpadding="0" align="left"><tr><td><p class="text" align="center">Zostałeś wylogowany</p></td></tr></table>';
  14. }
  15. //...
  16. ?>


kod administracja/index.php
  1. <?php
  2. // Zabezpiecza dane przed xss
  3. $_POST['uzytkownik'] = strip_tags($_POST['uzytkownik']);
  4. $_POST['haslo'] = strip_tags(md5($_POST['haslo']));
  5. $uzytkownik = $_POST['uzytkownik'];
  6. $haslo = $_POST['haslo'];
  7.  
  8.  // Chyba nie trzeba tłumaczyć
  9. $_SESSION['uzytkownik'] = $uzytkownik; 
  10. $_SESSION['haslo'] = $haslo;
  11.  
  12. // Wybiera hasło z bazy danych do porównania z wpisanym  
  13. $zapytanie = mysql_query("SELECT * FROM main_admins WHERE nick='$uzytkownik'");
  14. while ($wynik = mysql_fetch_array($zapytanie)){
  15. $aHaslo = $wynik['pass'];
  16. }
  17.  
  18.  // Jeżeli hasło jest prawidłowe - początek "Prawidłowe Logowanie"
  19. if ($haslo == $aHaslo){ 
  20.  echo '<table style="width: 640px;" cellspacing="2" cellpadding="0">
  21. // Wyloguj
  22.  <tr><td align="right" class="text"><a href="../administracja.php?action=wyloguj"><font color="'.$color[3].'">Wyloguj <b>['.$_SESSION['uzytkownik'].']</b></font></a></td></tr>
  23.  <tr><td class="text">Opcje administratora:</td></tr> 
  24.  <tr><td><hr></td></tr>
  25.  <tr><td>';
  26.  
  27. // Pobiera dostęp do opcji z bazy danych
  28.  $zapytanie = mysql_query("SELECT * FROM main_admins WHERE nick='$uzytkownik'");
  29.  while ($wynik = mysql_fetch_assoc($zapytanie)){
  30. $acces = $wynik['acces'];
  31.  }
  32. // Jeżeli ma pełen dostęp
  33.  if ($acces == 'god'){
  34.  
  35.  // Jeżeli nie odnosi się do żadnego modułu wyświetla ich liste
  36. if (!isset($_GET['mod'])){
  37. echo '<p class="text"><a href="'.$PHP_SELF.'?mod=dzialy&sid=' . session_id() . '">Działy</a></p>';
  38. }
  39. // Przykładowo, jeżeli odnosi się do modułu "Działy" to wyświetla opcje
  40.  if (isset($_GET['mod']) == 'dzialy'){
  41. // Opcje
  42. }
  43. }
  44.  // Jeżeli wchodzi jako tester (demo panelu)
  45.  else if ($acces == 'tester'){
  46.  // Jakieś tam opcje wyboru
  47.  }
  48.  echo '</td></tr></table>'; 
  49.  } // Zakończenie "Prawidłowe Logowanie"
  50.  
  51.  // Jeżeli wpiszemy zły login lub hasło to wyświetla błąd
  52.  else {
  53. echo '<p class="text" align="center">Podałeś niepoprawne dane<br><a href="../administracja.php">Powrót</a></p>';
  54.  }
  55. ?>

co mam nie tak ?

EDIT: poprawiłem wyląd kodu, bo mógł być nieczytelny
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.