Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Znikająca sesja
shoq
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 19.05.2007

Ostrzeżenie: (0%)
-----


Mam problem. Niedawno zacząłem uczyć się php i "bawić" w pisanie skryptów. Ostatnio próbowałem napisać prosty skrypt logowania oparty na sesjach. Niestety, kiedy udaje mi się zalogować i utworzyć sesję, po załadowaniu strony od nowa dwukrotnie (bez wyłączania przeglądarki) sesja po prostu znika i muszę logować się na nowo.
Jak temu zapobiec?

PS To nie jest problem z session_start().
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
shoq
post
Post #2





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 19.05.2007

Ostrzeżenie: (0%)
-----


Mam to w 1 pliku. Oto kod:

  1. <?php
  2. if ($_SESSION["loged"] == true) {
  3. echo ('Jesteś już zalogowany!');
  4. }
  5.  
  6. else {
  7. echo ('<br />Zaloguj się!');
  8.  
  9.  
  10.  
  11.  
  12. if (empty($_POST["login"]) || empty($_POST["haslo"])) {
  13.  
  14.  
  15.  
  16. echo ('<form action="log.php" method="post">
  17. Login: <input type="text" name="login" maxlength="10" /><br />
  18. Hasło: <input type="password" name="haslo" maxlength="15" /><br />
  19. <input type="submit" name="ok" value="Zatwierdź" />
  20. </form> ');
  21.  
  22. echo ('<br />Podaj login i hasło.');
  23. }
  24. else if ($_POST["login"] == "admin" && $_POST["haslo"] == "12345") {
  25. echo ('<br />Zalogowałeś się.');
  26. $_SESSION["loged"] = true;
  27. }
  28. else {
  29. echo ('<form action="log.php" method="post">
  30. Login: <input type="text" name="login" maxlength="10" /><br />
  31. Hasło: <input type="password" name="haslo" maxlength="15" /><br />
  32. <input type="submit" name="ok" value="Zatwierdź" />
  33. </form> ');
  34.  
  35. echo('<br />Niepoprawny login lub hasło!');
  36. }
  37. }
  38.  
  39.  
  40. echo ('<br /><br /><br />');
  41. echo ('<form acion="log.php" method="post"><input type="submit" name="haslo" value="Wyłącz sesję"></form>');
  42.  
  43. if ($_POST["haslo"] != "12345") {
  44. $_SESSION["loged"] = false;
  45. }
  46. ?>


Kiedy usunąłem tą ostatnią instrukcję warunkową, zaczęło działać dobrze, dlaczego? Czy $_POST["haslo"] traci wartość po przeładowaniu strony?

Ten post edytował shoq 19.05.2007, 14:20:20
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 3.10.2025 - 05:39