Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: autoryzacja uzytwkoników z wykorzystaniem MySQL i dopuszczanie ich po zalogowaniu do podstron
Forum PHP.pl > Forum > Przedszkole
przemo_82
witam.

napisalem formaularz logowania. podaje login i haslo nastepnie mechanizm sprawdza czy uzytkownik jest wpisany do tabeli w bazie danych. jesli tak to na stronce pojawia sie link. gdy klikam na link strona do niego podpieta sprawdza czy gosc jest zalogowany jesli tak to wyswietla zawartosc jesli nie odzyla go do logowania.

problem w tym ze uzyta przez emnie zmienna $_SESSION nie jest widziana w obrębie drugiej stronki w efekcie nigdy nie jestem zalogowany.

ponizej zalączam kod obu plików :

plik logowanie.php

  1. <?php
  2.  
  3.  
  4.  
  5. if(isset($HTTP_POST_VARS['login']) && isset($HTTP_POST_VARS['haslo']))
  6.  
  7. $login=$HTTP_POST_VARS['login'];
  8. $haslo=$HTTP_POST_VARS['haslo'];
  9.  
  10. $link=mysql_connect('127.0.0.1','user','pass');
  11.  
  12. mysql_select_db("baza_nazwa");
  13. $baza='uzytkownicy';
  14. $zapytanie="SELECT login,haslo FROM $baza WHERE login LIKE '$login' AND haslo LIKE '$haslo'";
  15.  
  16. $wykonaj =mysql_query($zapytanie);
  17. $wynik  =mysql_num_rows($wykonaj);
  18.  
  19. if($wynik==1) //bo tylko jeden uzytkownik bedze zwrocony
  20. {
  21. $_SESSION['prawid_uzyt']=$login; 
  22. echo '<center><a href="strona.php">-= INTERFEJS =-</a></center>';
  23. }
  24.  
  25. else
  26. {
  27. echo("zly uzytkownik");
  28. echo('<a href=strona.php>link do logowania</a>');
  29. }
  30.  
  31. ?>


plik ze strona ktora ma byc dostepna po logowaniu

  1. <html>
  2. <head>
  3. <title></title>
  4. <meta content="">
  5. <style></style>
  6. </head>
  7. <body>
  8.  
  9. <?
  10. if(isset($_SESSION['prawid_uzyt']))
  11. {
  12. echo 'Uzytkownik zalogowany jako: '.$_SESSION['prawid_uzyt'].'<br/>';
  13. echo '<h1>Strona g�na</h1>';
  14. echo '<a href="logout.php">Wyloguj</a><br/>';
  15. }
  16. else
  17. {
  18. if(isset($login)){echo 'Zalogowanie niemozliwe';}
  19. else{echo 'Uzytkownik niezalogowany, zawartosc stronie nie bedze wyswietlona.<br />';
  20. }
  21.  
  22. ?>
  23.  
  24. </body>
  25. </html>



z gory dziekuje za pomoc i pozdrawiam
macek
pamiętaj że W KAŻDYM PLIKU w którym odwołujesz się do tablicy $_SESSION musi być rozpoczęta sesja. próbujesz sprawdzić czy jakaś zmienna sesyjna ma jakąś wartość podczas gdy nie została ona nawet utworzona !
przemo_82
przepraszam zapomnialem napisac probowalem robic tez tak ze w kazdym pliku bylo

session_start();

ale wtedy wyskakuje blad :


Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/lukasz/public_html/strona.php:5) in /home/lukasz/public_html/strona.php on line 13


a moze musze zwrocic uwage na jakies opcje np. w phpinfo();

pozdrawiam
nospor
Cytat
ale wtedy wyskakuje blad :


Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/lukasz/public_html/strona.php:5) in /home/lukasz/public_html/strona.php on line 13

szukaj na forum pod haslem:
headers already sent
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.