Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sesje
Forum PHP.pl > Forum > PHP
Bajki
Witam
Zrobiłem sobie skrypt logowania oparty na sesjach. Oto on :
  1. <?
  2.  
  3.  if($op==&#092;"login\") {
  4.  
  5.  if (!isset($_SESSION[&#092;"login\"])){
  6.  
  7.  $login = $_POST['l'];
  8.  $p = $_POST['p'];
  9.  
  10.  $connect = mysql_connect('host', 'user', 'pass');
  11.  $db_sel = mysql_select_db('baza_kosch') or die('Nie mozna polaczyc sie z baza !!');
  12.  
  13. if($l!=='' && $p!=='') {
  14.  $szukanie = &#092;"SELECT * FROM puszcza_users WHERE login='\".$login.\"'\";
  15. $szukanie_wyk = mysql_query($szukanie);
  16. $wiersz=mysql_fetch_array($szukanie_wyk);
  17. if($login==$wiersz['login'] && md5($p)==$wiersz['pass']) {
  18.  session_register(&#092;"login\");
  19.  header(&#092;"location : user.php\".SID);
  20.  exit();
  21.  }
  22. else { echo($login.'<br>'.md5($p).'<br>Zly login/haslo'); }
  23.  }
  24. else {echo('Prosze wypelnic wszystkie pola !'); }
  25.  
  26.  
  27. }
  28.  
  29. else if (isset($_SESSION[&#092;"login\"])){ echo('Jestes juzz zalogowany !!'); }
  30. }
  31.  
  32.  
  33. else if ($op==&#092;"logout\") {
  34.  
  35. if (isset($_SESSION[&#092;"login\"])){
  36. echo &#092;"Użytkownik \" . $_SESSION[\"login\"];
  37. echo &#092;" został wylogowany.\";
  38.  
  39. }
  40. else {echo('Jestes juz wylogowany'); }
  41. }
  42.  
  43. else {
  44.  echo &#092;"Witaj \" . $_SESSION[\"login\"];
  45. }
  46.  
  47.  
  48.  
  49. ?>


Być może ten skrypt jest zbyt złożony jak na moją młodą głowe i nie widze jakiegoś bezsensownego błędu...dlatego musze się zdać na was winksmiley.jpg Otóż w tym oto skrypcie nie działa poprostu nic ! Znacyz prawie...bo kiedy dobrze poda się login i hasło to nie wyskakuje błąd, żę coś niegra a jak zrobi się to źle, to wyskakuje ;p Ale zato...kiedy po poprawnym logowaniu użytkownik przenoszony jest pod adres user.php (tak zresztą nazywa się plik z tym kodem) zamiast wykonania kodu echo "Witaj " . $_SESSION["login"]; pokazuje się biala strona. Kiedy chce się wylogować, pokazuje mi się napis Jestes juz wylogowany...nie rozumiem ;( Napewno w kodzie jest jakiś błąd któego nie mogę dostrzec...więc prosze serdecznie o pomoc winksmiley.jpg

Dziękuje i czekam...
grohu
Wydaje misie ze problem jest zwiazany z umieszczeniem session_start();.
Chyba kiedys tez mialem taki problem, w kazdym razie nauczylem sie ze:

Kod
<?php
session_start(); // Na poczatku kodu php


if ($haslo_z_formularza == $haslo_z_bazy) {
$HTTP_SESSION_VARS["zalogowany_uzytkownik"] = $uzytkownik_z_formularza;
}
?>


Kiedys tez uzywalem session_register() ale sposob zapisywania zmiennych sesji, ktory pokazalem powyzej powinien spelnic twoje oczekiwania smile.gif

Kiedys pisalem kumplowi prosty skrypt do logowania, ktory byl podstawa jego projektu do szkoly, jak znajde ten skrypcik, to go wrzuce na serwer i podam LINK. Ale to troche pozniej...bo nie wiem gdzie w chaosie jest ten skrypt smile.gif
Bajki
Hmm dziwne...raz zadziałało biggrin.gif I logowanie i wylogowywanie...ale teraz już dostaje taki komunikat :
Kod
Notice: Array to string conversion in /home/users/kosch/public_html/puszcza/user.php on line 20

Fatal error: Call to undefined function: array() in /home/users/kosch/public_html/puszcza/user.php on line 20
tiraeth
zamiast mysql_fetch_array wrzuć mysql_fetch_assoc... i powiedz Co Ci teraz wywala?

ps. Notice to tylko wskazówka (jak usuniesz error_reporting(E_ALL); to jej nie będzie).
Bajki
Hmm wstawiłęm(zamieniłem) to mysql_fetch_assoc ale dalej jest tak samo...nic się nie zmieniło ;/
kwiateusz
nie powinno sie uzywac session_register i $_SESSION smile.gif w lini 20 zamien
  1. <?php
  2. session_register(&#092;"login\");
  3. ?>

na
  1. <?php
  2. $_SESSION['login']=$login;
  3. ?>
Bajki
Hmm ok. Już się wszystko wyjaśniło. To co napisałeś kwiateusz, nie było bez pośrednią przyczyną problemów...przynajmniej problemu głównego - pobocznych owszem winksmiley.jpg

Bezpośrednioą przyczyną było to, że źle przepisałęm to co napisał mi grohu. Sory za kłopot i dzięki winksmiley.jpg
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.