Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Wylogowanie
Forum PHP.pl > Forum > Przedszkole
michal_2
Witam. Mam taki problem. Nie potrafię się wylogować. Zrobiłem plik w którym używam session_destroy(); ale to nic nie daje. Nadal jestem zalogowany. Proszę o pomoc. Daje skrypty:

  1. // index.php
  2. <html>
  3. <head>
  4. <title>Witamy na stronie</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  6. </head>
  7. <body>
  8. <a href="rejestracja.html">rejestracja</a><br>
  9. <?php
  10. ini_set('display_errors', 1);
  11. mysql_connect("localhost", "michal2", "abracadabra");
  12. mysql_select_db("strona");
  13.  
  14. if (isset($_SESSION['zalogowany']))
  15. {
  16. echo "Witam, ".$_SESSION['login']."<br>";
  17. echo "<a href=\"wyloguj.php\">Wyloguj</a>";
  18. }
  19. else
  20. {
  21. if (isset($_POST['login']) && isset($_POST['haslo']))
  22. {
  23. if (mysql_num_rows(mysql_query("SELECT user, pass
  24. FROM uzytkownicy WHERE user = '".$_POST['login']."' &&
  25. pass = '".$_POST['haslo']."'")) > 0 )
  26. {
  27. $_SESSION['login'] = $_POST['login'];
  28. $_SESSION['haslo'] = $_POST['haslo'];
  29. $_SESSION['zalogowany'] = true;
  30. echo "jesteś zalogowany.";
  31. header("Location: index.php");
  32. }
  33. else
  34. echo "Zły login i/lub hasło.<br>";
  35. }
  36. else
  37. {
  38. ?>
  39.  
  40. <form action=index.php method=POST><br>
  41. login:
  42. <input type=text name=login><br>
  43. hasło:
  44. <input type=password name=haslo><br>
  45. <input type=submit value=Wyślij>
  46. </form>
  47.  
  48. <?php
  49. }
  50. }
  51. ?>
  52.  
  53. </body>
  54. </html>



  1. //rejestracja.php
  2. <?php
  3. $mysqli = mysqli_connect("localhost", "michal2", "abracadabra", "strona");
  4.  
  5. if (mysqli_connect_errno())
  6. {
  7. printf("Nie udało się połączyć z bazą danych: %s\n", mysqli_connect_error());
  8. exit();
  9. }
  10. else
  11. {
  12. printf("Udało się połączyć z bazą.<br>");
  13.  
  14. if (isset($_POST['uzyt']) && isset($_POST['has1']) && isset($_POST['has2']))
  15. {
  16. if (strlen($_POST['uzyt']) < 6)
  17. {
  18. printf("Nazwa użytkownika musi mieć więcej niż 5 znaków.\n");
  19. exit();
  20. }
  21. if (strlen($_POST['has1']) < 6)
  22. {
  23. printf("Hasło musi mieć więcej niż 5 znaków.\n");
  24. exit();
  25. }
  26. if ($_POST['has1'] !== $_POST['has2'])
  27. {
  28. printf("Hasło1 i hasło2 różnią się od siebie.\n");
  29. exit();
  30. }
  31. if (mysqli_num_rows(mysqli_query($mysqli, "select user from uzytkownicy where user = '".$_POST['uzyt']."'")) > 0)
  32. {
  33. printf("Użytkownik o podanej nazwie już istnieje.");
  34. exit();
  35. }
  36. }
  37. }
  38.  
  39. $sql = "INSERT INTO uzytkownicy (user, pass) VALUES ('".$_POST['uzyt']."', '".$_POST['has1']."')";
  40. $rez = mysqli_query($mysqli, $sql);
  41.  
  42. if ($rez === TRUE)
  43. echo "Rejestracja zakończyła się pomyślnie.<br>";
  44. else
  45. printf("Nie udało się zakończyć rejestracji: %s\n", mysqli_error($mysqli));
  46.  
  47. mysqli_close($mysqli);
  48.  
  49. ?>



  1. //wyloguj.php
  2. <?php
  3. header("Location: index.php");
  4. ?>
Armstrong
spróbuj z unset
po zalogowaniu daj
  1. print_r($_SESSION);
i po wylogowaniu to samo i wklej tu wynik
michal_2

a unset nic nie daje
amii
  1. //wyloguj.php
  2.  
  3. <?php
  4.  
  5. header("Location: index.php");
  6.  
  7. ?>
Armstrong
  1. //wyloguj.php
  2. <?php
  3. header("Location: index.php");
  4. ?>
michal_2
dzięki działa
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.