Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Logowanie i sesje
Forum PHP.pl > Forum > PHP
koreja
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
blooregard
Po session_start() walnij sobie var_dump($_SESSION) wszędzie i zobacz, co tam masz, jak przejdziesz do innej strony.
matixrr
Nie wiem czy to cos zmienie ale czemu przy ifie masz (( ?
koreja
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?
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.