Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Sesje, Nie działą nic co bym chciał :D
Bajki
post 21.07.2005, 15:39:53
Post #1





Grupa: Zarejestrowani
Postów: 128
Pomógł: 1
Dołączył: 28.04.2005
Skąd: Kraków

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


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...

Ten post edytował Bajki 21.07.2005, 16:25:57
Go to the top of the page
+Quote Post
grohu
post 21.07.2005, 16:21:29
Post #2





Grupa: Zarejestrowani
Postów: 118
Pomógł: 0
Dołączył: 29.07.2003
Skąd: skąd-inąd.

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


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
Go to the top of the page
+Quote Post
Bajki
post 21.07.2005, 16:35:28
Post #3





Grupa: Zarejestrowani
Postów: 128
Pomógł: 1
Dołączył: 28.04.2005
Skąd: Kraków

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


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
Go to the top of the page
+Quote Post
tiraeth
post 21.07.2005, 17:39:36
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

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


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).
Go to the top of the page
+Quote Post
Bajki
post 21.07.2005, 17:47:44
Post #5





Grupa: Zarejestrowani
Postów: 128
Pomógł: 1
Dołączył: 28.04.2005
Skąd: Kraków

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


Hmm wstawiłęm(zamieniłem) to mysql_fetch_assoc ale dalej jest tak samo...nic się nie zmieniło ;/
Go to the top of the page
+Quote Post
kwiateusz
post 21.07.2005, 19:41:20
Post #6


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




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. ?>
Go to the top of the page
+Quote Post
Bajki
post 22.07.2005, 12:17:17
Post #7





Grupa: Zarejestrowani
Postów: 128
Pomógł: 1
Dołączył: 28.04.2005
Skąd: Kraków

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


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
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: 24.07.2025 - 19:55