Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nie działają sesje
Forum PHP.pl > Forum > PHP
michal16202
Witam, znalazłem na internecie kod na logowanie i wszystko działa ale tylko na stronie gdzie ten kod się znajduje. Jak chcę żeby game.php było dostępne tylko dla zalogowanych to nie działa.

Logowanie:
  1. <?php require_once 'engine/init.php'; include '/modules/header.php';?>
  2. </br></br></br></br>
  3. <form method="POST" action="<? $_SERVER['PHP_SELF']; ?>">
  4. <b>Login:</b> <input type="text" name="login"><br>
  5. <b>Hasło:</b> <input type="password" name="haslo1"><br>
  6. <b>Powtórz hasło:</b> <input type="password" name="haslo2"><br>
  7. <b>Email:</b> <input type="text" name="email"><br>
  8. <input type="submit" value="Zarejestruj" name="loguj">
  9. </form>
  10.  
  11. <?php
  12.  
  13.  
  14. function filtruj($zmienna)
  15. {
  16. $zmienna = stripslashes($zmienna); // usuwamy slashe
  17.  
  18. // usuwamy spacje, tagi html oraz niebezpieczne znaki
  19. }
  20.  
  21. if (isset($_POST['loguj']))
  22. {
  23. $login = filtruj($_POST['login']);
  24. $haslo1 = filtruj($_POST['haslo1']);
  25. $haslo2 = filtruj($_POST['haslo2']);
  26. $email = filtruj($_POST['email']);
  27. $ip = filtruj($_SERVER['REMOTE_ADDR']);
  28.  
  29. // sprawdzamy czy login nie jest już w bazie
  30. if (mysql_num_rows(mysql_query("SELECT name FROM players WHERE name = '".$login."';")) == 0)
  31. {
  32. if ($haslo1 == $haslo2) // sprawdzamy czy hasła takie same
  33. {
  34. mysql_query("INSERT INTO `players` (`id`, `name`, `email`, `password`, `city`, `pkt`, `clan`, `ip`, `active`, `created`)
  35. values(NULL, '".$login."', '".$email."', '".sha1($haslo1)."', '1','0', NULL, '".$ip."', '0','".time()."');");
  36.  
  37. echo "Konto zostało utworzone!";
  38. }
  39. else echo "Hasła nie są takie same";
  40. }
  41. else echo "Podany login jest już zajęty.";
  42. }
  43. ?>
  44.  
  45. <?php mysql_close(); ?>
  46. <?php include '/modules/footer.php'?>


game.php:
  1. <?php require_once 'engine/init.php'; include '/modules/header.php'?>
  2. <?php
  3. ?>
  4.  
  5. </br></br></br></br></br>
  6. <div class="game">
  7. <?php
  8. if ($_SESSION['zalogowany']==true)
  9. {
  10. echo "Witaj <b>".$_SESSION['login']."</b><br><br>";
  11.  
  12. echo '<a href="?wyloguj=1">[Wyloguj]</a>';
  13. }
  14. ?>
  15. </div>
  16. <?php include '/modules/footer.php'?>
Turson
W każdym pliku gdzie chcesz, żeby sesja działała musisz mieć session_start();
michal16202
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.