Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z logowaniem- wazne
Forum PHP.pl > Forum > Przedszkole
tomigram
Hej.Problemy sa dwa: 1 gdy uzytkownik nie nacisnie wyloguj i wylaczy przegladarke to nic sie nie pokazuje,ani dane wyswietlone ani formularz do logowania
2skrypt nie dziala w IE..

Prosze o pomoc to dla mnie wazne- bardzo

  1. <?php
  2.  
  3.  
  4.  
  5. session_start(); //sesje, do logowania
  6. ob_start(); //emulacja headerow
  7.  
  8. mysql_connect($host, $user, $password); //polaczenie z mysql
  9. mysql_select_db($database) or die(&#092;"Nie udało się wybrać bazy danych\"); 
  10. //wybor bazy
  11.  
  12.  
  13. $login = isset($_SESSION['login']) ? $_SESSION['login'] : mysql_escape_string($_POST['login']);
  14. //filtracja zmiennej
  15. $haslo = mysql_escape_string(md5($_POST['pass'])); //filtracja + haszowanie hasla
  16.  
  17. $zapytanie = mysql_query(&#092;"SELECT * FROM XXX WHERE login = '$login'\"); 
  18.  //pobranie rekordow
  19.  
  20. $dane = mysql_fetch_array($zapytanie);
  21.  
  22. /* sprawdzamy poprawnosc przeslanych danych */
  23.  
  24. if(isset($_POST['login']) && isset($_POST['pass'])) {
  25. if($login ==''.$dane['login'].'' && $haslo ==''.$dane['haslo'].'')
  26. {
  27.  
  28. $_SESSION['admin']='ok'; //sesja przyjmuje wartosc 'ok' gdy 
  29. dane z formularza zgadzaja sie z danymi z bazy
  30. $_SESSION['login']=''.$dane['login'].'';
  31.  
  32. setcookie(&#092;"log\" , \"log\", time()+3600, \"/\",\"\", 0); //tworzymy ciastko
  33. header(&#092;"Location: log.php\"); //przenosimy na strone
  34.  
  35. }
  36. else { echo 'Blad logowania, probuj dalej :) '; } //w przypadku zlych danych
  37. }
  38.  
  39.  
  40.  
  41. if(!isset($_SESSION['admin']) && !isset($_SESSION['login']) && $_SESSION['admin'] 
  42. != 'ok' && !isset($_POST['submit']) 
  43. && $_GET['p']!='wyloguj' && !isset($_COOKIE['log']))
  44.  
  45. {
  46. echo'formularz';
  47. }
  48.  
  49. if($_SESSION['admin'] == 'ok' && isset($_COOKIE['log']))
  50. //warunek, ktory sprawdza czy sesja ma odpowiednia
  51.  wartosc oraz czy istnieje ciastko, jest to koniunkcja, wiec bedzie prawdziwa
  52.  jesli oba warunki zostana spelnione
  53. {
  54.  
  55.  
  56. echo 'Jestes zalgowany jako '.$_SESSION['login'].', 
  57.  
  58. if($_GET['p']=='wyloguj') {
  59.  
  60.  
  61.  
  62. session_destroy(); //kasujemy sesje
  63. setcookie(&#092;"log\" , \"log\", time()-3600, \"/\",\"\", 0); //kasujemy cookies
  64.  
  65. header(&#092;"Location: log.php\"); //przenosimy na strone logowania
  66.  
  67. }
  68. ?>
paziek
Możesz mieć sytuację, kiedy masz sesję, ale nie masz tego ciasteczka. Wtedy jedno blokuje drugie i w efekcie nic nie wyświetla.

A dlaczego to w IE nie działa, to nawet wyrocznia Spartan nie wie. Podałeś jedynie kod PHP + kawałek bbCode
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.