Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Logowanie na sesjach
Forum PHP.pl > Forum > Przedszkole
Niedźwiedź
Witam, ma pewien problem. Oto początek pliku szablonu:

  1. <?php
  2. include("../connect.php");
  3. if(!isset($_SESSION['auth']) || $_SESSION['auth']!=true) include("auth.php");
  4. else{
  5. ?>
  6. <html>
  7. <head>
  8. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  9. <link rel="stylesheet" type="text/css" href="admin.css" />
  10. <title>PTTK PAN we Wrocławiu - zarządzanie stroną</title>


W pliku connect.php przechowuję dane do połączenia z bazą danych, a plik auth.php wygląda nastepująco:

  1. <?php
  2. if(!(isset($_POST['user'])) || !(isset($_POST['pass]']))){
  3. echo $_POST['error'];
  4. ?>
  5. <form action="admin.php?show=main" method="post">
  6. Użytkownik: <input type="text" name="user" /><br />
  7. Hasło: <input type="password" name="pass" /><br />
  8. <input type="submit" name="wyslij" value="Zaloguj" />
  9. </form>
  10. <?php
  11. }else{
  12. $sql = "SELECT user,pass FROM admin LIMIT 1";
  13. $sql_results = mysql_query($sql) or die(mysql_error());
  14. $row=mysql_fetch_array($sql_results);
  15. if((md5($_POST['user'])==$row['user']) && (md5($_POST['pass'])==$row['pass'])){
  16. $_SESSION['auth'] = true;
  17. $_POST['error']="";
  18. }else{
  19. $_POST['error'] = 'Nieprawidłowe hasło lub login!!!\n';
  20. $_SESSION['auth'] = false;
  21. }
  22. } ?>


No i nie działa. Za każdym razem wyskakuje formularz z prośbą o hasło i login.

Dodam że w bazie przehcowuję zahashowane md5 poprawne wartosci user i pass w polu varchar(255)l

Pzdr.,
Kamil
Danielcom
a sprawdzałeś co masz zapisane w sesji lub czy sesja istnieje ?
Niedźwiedź
hmmm gdy próbowałem wyświetlić przez echo zawartość $_SESSION to wyskakiwał błąd o nienzanej zmiennej, więc jakby sewer nie widzi sesji, ale w katalogu zdefiniowanym w php.ini pojawiaja się pliki sesji...
Mnichasso
logowanie czyli rpzebiega poprawnie, nie wyskakuje Ci błąd żaden ?

spróbój zamiast
  1. if(!isset($_SESSION['auth']) || $_SESSION['auth']!=true)


dać samo
  1. if($_SESSION['auth']!=true)
Niedźwiedź
nie no jak uzywam echo $_SESSION to dostaję pustą tablicę, więc tak jakby nie ustawia mi sesji:/
Kruq
sprobuj :

zamiast
  1. $_SESSION['auth'] = true;

dac
  1. $_SESSION['auth'] = "zalogowany";


Zobacz czy teraz tez nie zapisuje nic do tablicy... matko juz po 5 blinksmiley.gif
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.