Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Logowanie i sesje
koreja
post 1.02.2009, 18:01:50
Post #1





Grupa: Zarejestrowani
Postów: 120
Pomógł: 22
Dołączył: 15.07.2008
Skąd: Raniżów/Rzeszów

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


Witam. Mam mały problem, mianowicie wykonałem mały, przykładowy skrypt logowania oparty na sesji.

login.php
  1. <?php
  2. if(isset($_POST['Submit']) && $_POST['Submit'] == "zaloguj") {
  3.  
  4. $query = "SELECT * FROM users WHERE nick='".$_POST['login']."' AND pass='".md5($_POST['pass'])."'";
  5. $results = mysql_query($query) or die(mysql_error());
  6.  
  7. if(mysql_num_rows($results) == 1) {
  8.    $_SESSION['user'] = $_POST['login'];
  9.    $_SESSION['pass'] = md5($_POST['pass']);
  10.    $redirect = $_SERVER['HTTP_REFERER'];
  11.    header("Refresh:0;URL='$redirect'");
  12.    } else {
  13.    echo "Złe dane";
  14.    }
  15. }
  16. ?>


auth.inc.php
  1. <?php
  2. if ((isset($_SESSION['user']) && $_SESSION['user'] != '') & (isset($_SESSION['pass']) && $_SESSION['pass'] != '')) {
  3.    //nic nie rob
  4.    } else {
  5.    header('location:index.php');
  6.        }
  7. ?>


Z teoretycznego punktu widzenia wszystko powinno być ok, jednak $_SESSION nie działa poprawnie, czyli po kliknięciu na dowolny odnośnik trzeba się dalej logować.
Jaka może być tego przyczyną?

Pozdrawiam, koreja
Go to the top of the page
+Quote Post
blooregard
post 1.02.2009, 18:06:33
Post #2


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Po session_start() walnij sobie var_dump($_SESSION) wszędzie i zobacz, co tam masz, jak przejdziesz do innej strony.


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
matixrr
post 1.02.2009, 18:08:02
Post #3





Grupa: Zarejestrowani
Postów: 207
Pomógł: 44
Dołączył: 14.04.2007

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


Nie wiem czy to cos zmienie ale czemu przy ifie masz (( ?


--------------------
Pomogłem? Zmotywuj mnie do dalszej pracy i kliknij magiczny przycisk:

Go to the top of the page
+Quote Post
koreja
post 1.02.2009, 19:21:41
Post #4





Grupa: Zarejestrowani
Postów: 120
Pomógł: 22
Dołączył: 15.07.2008
Skąd: Raniżów/Rzeszów

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


Przy if są dwa warunki (user i pass) dlatego jest podwójny nawias smile.gif

var_dump pokazał mi $_SESSION['ip'] wywoływane w innym skrypcie. Spróbuję to przerobić i zobaczymy co z tego wyjdzie winksmiley.jpg

Edit:
Teraz już wiem, dlaczego var_dump pokazuje ip. Dzieje się tak, ponieważ przeoczyłem małą pętlę smile.gif
  1. <?php
  2. if(empty($_SESSION['ip'])){
  3.    $ip = $_SERVER['REMOTE_ADDR'];
  4.    $_SESSION['ip'] = $ip;
  5.       //niepotrzebne wycieto haha.gif
  6.       }
  7. ?>


Macie jeszcze jakies pomysły dotyczące tych sesji?
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.07.2025 - 19:53