Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przekazywanie w sesji, duży kłopot
suricat
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 7.07.2007

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


Witam, przeszukałem forum ale nie znalazłem odpowiedzi.

Mam problem z przekazywaniem zmiennych za pomocą sesji.
Problem dotyczy systemu logowania.

index.php
  1. <?
  2. $nonauth = "";
  3. if (($auth = $_GET['auth']) == 'none') $nonauth = "podałeś błędny login lub hasło";
  4. if (($auth = $_GET['auth']) == 'empty') $nonauth = "podaj login i hasło";
  5. ?>
  6. .
  7. .
  8. <body>
  9. .
  10. .
  11. <? echo "<p style=color:red;><b>".$nonauth."</b></p>" ?></p>
  12.  
  13. <form method="post" action="doit.php">
  14. <p>login:
  15. <input type="text" name="user" />
  16. <p>haslo:
  17. <input type="password" name="pass" /></p>
  18. <p><input type="submit" name="submit" value="zaloguj" /></p>
  19. </form>
  20. </body>


doit.php
  1. <?
  2. $_SESSION['username'] = $_POST['user'];
  3. $_SESSION['pass'] = $_POST['pass'];
  4. $_SESSION['authuser'] = 0;
  5.  
  6. if ($_SESSION['username'] == NULL or $_SESSION['pass'] == NULL) {
  7. header('Location: <a href="http://www.strona.pl/cms/index.php?auth=empty');" target="_blank">http://www.strona.pl/cms/index.php?auth=empty');</a>
  8. exit;
  9. }
  10. //sprawdza czy podany login pasuje do hasla z bazy
  11. $user = $_SESSION['username'];
  12. include ('conn.php');
  13. $zapytanie = "SELECT pass FROM osoby WHERE login ='".$user."'";
  14. $odp = mysql_query($zapytanie);
  15.  
  16. while ($row = mysql_fetch_row($odp)) {
  17. $pass_db = $row[0];
  18. }
  19.  
  20.  
  21. //sprawdzenie hasla
  22. if($pass_db == $_SESSION['pass']) {
  23. $_SESSION['authuser'] = 1;
  24. header('Location: <a href="http://www.strona.pl/cms/cms.php');" target="_blank">http://www.strona.pl/cms/cms.php');</a>
  25. }else
  26. {
  27. header('Location: <a href="http://www.strona.pl/cms/index.php?auth=none');" target="_blank">http://www.strona.pl/cms/index.php?auth=none');</a>
  28. exit();
  29. }
  30. ?>


cms.php
  1. <?
  2. ?>
  3. .
  4. .
  5. <body>
  6. .
  7. .
  8. <? echo "zalogowany jako: ".$_SESSION['username']; ?>
  9. .
  10. .
  11. </body>



Problem:
Po poprawnym zalogowaniu (hasło sprawdzone w bazie, więc $_session['username'] musi być ustawione) przy próbie wyświetlenia wartości w cms.php z okazuje się, że session['username'] ma wartość NULL.
Wystarczy jednak, że źle podam hasło lub login i wpiszę prawidłowe wartości wszystko pięknie cieka.

Pytanie:
Jak to jest możliwe?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Gdzie mój błąd??

Proszę o pomoc
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: 23.08.2025 - 01:50