Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problemy z sesja
Forum PHP.pl > Forum > Przedszkole
swiety
czesc, mam problemy z sesja, tzn na pozor wszystko dziala, moze troche kodu:
  1. <?php
  2.  
  3. include("../baza/baza_log.php");
  4.  
  5. if(isset($_POST['Login'])){
  6. //odczytac przekazane zmienne i sprawdzic
  7. $klient = strip_tags($_POST['klient']);
  8. $haslo = strip_tags($_POST['haslo']);
  9. $chk1=substr_count(strtolower($klient), "select");
  10. $chk1+=substr_count(strtolower($klient), "update");
  11. $chk1+=substr_count(strtolower($klient), "delete");
  12. $chk1+=substr_count(strtolower($klient), "insert");
  13.  
  14. $chk2=substr_count(strtolower($haslo), "select");
  15. $chk2+=substr_count(strtolower($haslo), "update");
  16. $chk2+=substr_count(strtolower($haslo), "delete");
  17. $chk2+=substr_count(strtolower($haslo), "insert");
  18. if($chk1+$chk2>0){ ?>
  19. <script type="text/javascript">
  20. <!--
  21. alert("Potencjalna luka w bezpieczenstwie zalogowanie nie jest mozliwe");
  22. //-->
  23. </script>
  24. <?php 
  25. include("adminno.php");
  26. }else{
  27. //sprawdzenie danych z loginu
  28. $check_SQL="SELECT * FROM uzytkownik WHERE uzytkownik_login='" . $klient . "' AND uzytkownik_haslo='" . $haslo . "'";
  29. $uzytkownik_result=mysql_query($check_SQL);
  30. $auth_check=mysql_num_rows($uzytkownik_result);
  31.  
  32. if($auth_check==1){
  33. //autoryzacja zakonczona pomyslnie, autoryzowanie sesji
  34. $_SESSION['auth']=true;
  35. $_SESSION['timeout']=time()+3600;
  36. //odczytanie informacji o uzytkowniku
  37. $uzytkownik=mysql_fetch_array($uzytkownik_result);
  38. $_SESSION['uzytkownik_prawa']=$uzytkownik['uzytkownik_prawa'];
  39. $_SESSION['uzytkownik_login']=$uzytkownik['uzytkownik_login'];
  40. $_SESSION['uzytkownik_nazwisko']=$uzytkownik['uzytkownik_nazwisko'];
  41. $_SESSION['uzytkownik_imie']=$uzytkownik['uzytkownik_imie'];
  42. $_SESSION['uzytkownik_ID']=$uzytkownik['uzytkownik_ID'];
  43. //jezeli uzytkownik ma prawa admina to admin a jak nie to menu klient, tak trzeba 
    to zrobic :))))
  44. if($_SESSION['auth'] && $_SESSION['timeout']>time()){
  45. include("admin.php");
  46. }
  47. }else{
  48.  
  49. ?>
  50. <script type="text/javascript">
  51. <!--
  52. alert("Dane podane przez ciebie nie moga zosac zautoryzowane, sprobuj jeszcze raz");
  53. //-->
  54. </script>
  55. <?php
  56. include("adminno.php");
  57. }
  58. }
  59. }
  60.  
  61. ?>

no tu wszystko inicjuje pozniej wgrywam admin.php, no i w adminie menu, albo dla uzytkownika albo dla admina, menu wyglada tak:
  1. <table width=120 height="100%" border=0 cellpadding=0 cellspacing=0>
  2. <tr>
  3. <td valign="top">
  4. <br>
  5. <center><a href="../admin/zmien_haslo.php" <?php SID ?> class="stdtextconfigbold"><span class="navilink">Zmien haslo</span></a><br></center>
  6. <br>
  7. <center><a href="../admin/news_list.php" class="stdtextconfigbold"><span class="navilink">Edycja newsu</span></a><br></center>
  8. <br>
  9. <center><a href="../admin/sny.php" class="stdtextconfigbold"><span class="navilink">Sny</span></a><br></center>
  10. <br>
  11. <center><a href="../admin/ksiegagosci.php" class="stdtextconfigbold"><span class="navilink">Ksiega gosci</span></a><br></center>
  12. <br>
  13. </td>
  14. </tr>
  15. </table>

no i teraz jak przykladowo ide do zmien haslo wyglada to tak
  1. <?php
  2. include("../baza/baza_log.php");
  3. if(isset($_POST['zmien_haslo'])){
  4. ?>
  5. no i bedzie zmiana hasla ...
  6. <?php
  7. }
  8. if($_SESSION['auth'] && $_SESSION['timeout']>time()){
  9. ?>
  10. <center>
  11. <form action="zmien_haslo.php" method=post>
  12. <table width=117 border="0" cellpadding="0" cellspacing="0" align="center">
  13. <tr>.....
  14. }

chodzi o to ze niby sie wszystko wyswietla i dziala i mam w adresie "kod sesji" ale mam nastepujacy error zanim wyswietli sie zawortosc strony pojawia sie cos takiego:

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /usr/local/apache/www/web69/html/admin/zmien_haslo.php:10) in /usr/local/apache/www/web69/html/admin/zmien_haslo.php on line 82

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /usr/local/apache/www/web69/html/admin/zmien_haslo.php:10) in /usr/local/apache/www/web69/html/admin/zmien_haslo.php on line 82

bardzo dziekuje za pomoc hej
crash
W pliku zmien_haslo.php zaczynasz wyświetlać jakieś dane. Było o tym wiele razy. Albo czekaj z wysylaniem danych aż rozpoczeniesz sesje, albo używaj buforowania (ob_start" title="Zobacz w manualu php" target="_manual/ob_end_flush" title="Zobacz w manualu php" target="_manual). Temat uważam, za zamknięty.
swiety
nie bardzo rozumiem jakie dane, nie wiem co wysylam, sorka ale naprawde nie bardzo to zrozumialem
crash
Pokaż co masz w pliku zmien_haslo.php w linii: 10
swiety
sorka, nie pomyslalem od razu po twojej podpowiedzi, juz znalazlem chodzilo o to ze w <head> mialem <meta....... i to bylo przyczyna przenioslem session_start()
przed <head> i wszystko super dziala, wielkie dzieki za wskazowke pedze robic dalej hej
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.