Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z sesjami
szaleq
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 22.08.2009

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


Witam

Mam problem. Pisze skrypt logowania, i nie wiem dla czego ale zmienne sesji nie sa zapamiętywane. Oto kod, w pierwszym pliku caly skrypt logujący (wydawaloby sie że wszystko w nim dziala), oraz drugi, który na razie ma tylko testowa funkcjonalnosc - sprawdza czy user jest zalogowany. i niestety co bym nie robil, zawsze zwraca wynik negatywny...

insex.php:
  1. <?php
  2.  
  3. include ('dbclass.php');
  4. $komunikat = '';
  5.  
  6.  
  7.  
  8. if ($_SESSION['valid_user']) {
  9. header("location:main.php");
  10. }
  11.  
  12. else {
  13.  
  14. if (isset($_POST['login'])){
  15. $login = $_POST['user'];
  16. $haslo = $_POST['passwd'];
  17.  
  18. $polaczenie = new Baza;
  19.  
  20. $sql = "SELECT * FROM users WHERE login='$login' AND pass='$haslo'";
  21. $result = mysql_query($sql);
  22.  
  23. if(mysql_num_rows($result)){
  24. while ($row = mysql_fetch_assoc($result)) {
  25. $username = $row['login'];
  26. }
  27. $_SESSION['valid_user'] = true;
  28. $_SESSION['user_name'] = $username;
  29. header("location:main.php");
  30. }
  31.  
  32. else {
  33. $_SESSION['valid_user'] = false;
  34. $komunikat = '<p class="komunikat">Nieprawidłowa nazwa użytkownika lub hasło</p>';
  35. include "html/form.html";
  36. }
  37. }
  38.  
  39. else if (!isset($_POST['user'])){
  40. include "html/form.html";
  41.  
  42. }
  43. }
  44.  
  45. ?>


main.php:
  1. <?php
  2.  
  3.  
  4. if ($_SESSION['valid_user']) {
  5. ?>
  6.  
  7. Użytkownik: <b><?php echo $_SESSION['user_name']; ?></b>
  8.  
  9. <?php
  10. }
  11.  
  12. else {
  13.  
  14. echo ('brak sesji');
  15. }
  16.  
  17. ?>


w pliku main.php zawsze wyskakuje ten sam blad: [...]Undefined index: valid_user[...]
Ten skrypt to moja pierwsza zabawa z uzywaniem sesji i może zle zrozumialem temat... Prosze o pomoc. Pozdrawiam
Go to the top of the page
+Quote Post
mhw
post
Post #2





Grupa: Zarejestrowani
Postów: 43
Pomógł: 10
Dołączył: 3.08.2009

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


Wydaje mi się, że powinieneś w drugim pliku umieścić session_start() na samym początku, przed error_reporting.
Go to the top of the page
+Quote Post
szaleq
post
Post #3





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 22.08.2009

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


wczesniej tak bylo session_start na samym poczatku, error_reporting dodalem dopiero potem zeby sprawdzic konkretnie co za blad wyskakuje. Bo normalnie nie jest mi to potrzebne....

Juz zadziałało. Blad polegal na tym ze: skrypt sprawdza czy zmienna $_SESSION['valid_user'] zwraca wartość true. Jeśli tak przenosil na inna strone, jesli nie, sprawdzal zmienne z pol formularza i jeśli istnialy, przeprowadzal proces logowania (tj. tworzyl zmienne sesji) po czym na samym koncu wuwolana jest funkcja session_destroy()... Drobne przeoczenie a ile sie nasiedzialem... i forum zaśmiecilem...
Go to the top of the page
+Quote Post

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 - 01:26