Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Błąd sesji..., o czym on mówi ??
primo
post
Post #1





Grupa: Zarejestrowani
Postów: 254
Pomógł: 0
Dołączył: 30.12.2003
Skąd: Strzegom

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


witam


przy próbie wywołania startu sesji wyskakuje mi błąd:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at c:\wamp\www\Divi-Deo\index.php:8) in c:\wamp\www\Divi-Deo\dodatkowe\administracyjne.php on line 32

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at c:\wamp\www\Divi-Deo\index.php:8) in c:\wamp\www\Divi-Deo\dodatkowe\administracyjne.php on line 32

a linia 32 zawiera:

  1. <?php
  2. ?>
Go to the top of the page
+Quote Post
ARJ
post
Post #2





Grupa: Zarejestrowani
Postów: 453
Pomógł: 22
Dołączył: 20.09.2004
Skąd: Kraków - NH -

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


było, poszukaj. żadne dane niemogą być wysłane przed sejsją.
Go to the top of the page
+Quote Post
Kuziu
post
Post #3





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

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


lub w pierwszej linni kodu włącz buforowanie wyjścia ...
  1. <?php
  2.  
  3.  
  4. ?>
Go to the top of the page
+Quote Post
sobstel
post
Post #4





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

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


(IMG:http://42.pl/bart.gif)
.

Ten post edytował sopel 24.01.2005, 10:04:12
Go to the top of the page
+Quote Post
primo
post
Post #5





Grupa: Zarejestrowani
Postów: 254
Pomógł: 0
Dołączył: 30.12.2003
Skąd: Strzegom

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


no faktycznie zachowałem się jak............. sorki.


mam taką prśbę, aby zweryfikować poniższy kod pod kątem poprawności i bezpieczeństwa oraz aktualnych standarów, co możnaby zmienić i co poprawić (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Dodam tylko że działa poprawnie. Moja prośba jest podyktowana tym, że nie chcę już napisać czegoś co tylko działa, ale wskoczyć na wyższy poziom i optymalizować.

  1. <?php
  2. require_once(&#092;"funkcje/BD.class.php\");
  3. $user_tablename = 'user';
  4. $form_dodaj_film = &#092;"./form_dodaj_film.htm\";
  5. $form_dodaj_news = &#092;"./form_dodaj_news.htm\";
  6. $userid = $_POST['userid'];
  7. $userpassword = $_POST['userpassword'];
  8.  
  9.  
  10.  
  11. function autoryzacja($userid, $userpassword) {
  12.  global $bd, $user_tablename;
  13.  
  14.  $bd = new BD;
  15.  
  16. if (!$bd->otworz()) {
  17. die ($bd->blad());
  18. }
  19.  
  20.  
  21. if (!$bd->zapytaj(&#092;"SELECT username FROM $user_tablename WHERE userid = '$userid' AND userpassword = password('$userpassword')\")) {
  22. die ($db->blad());
  23. }
  24.  
  25. if($row = $bd->pobierzTablice()){
  26. return $row[0];
  27. return 0;
  28. }
  29. }
  30.  
  31.  
  32. if(!isset($_POST['userid'])) {
  33.  exit;
  34. }
  35. else {
  36.  $_SESSION['userid'];
  37.  $_SESSION ['userpassword'];
  38.  $username = autoryzacja($userid, $userpassword);
  39.  if(!$username) {
  40. session_unregister(&#092;"userid\");
  41. session_unregister(&#092;"userpassword\");
  42. echo &#092;"Autoryzacja nieudana. \" .
  43.  &#092;"Musisz podać poprawny identyfikator użytkownika oraz hasło. \" .
  44.  &#092;"Jeszcze raz spóbuj się zalogować.<BR>n\";
  45.  
  46.  }
  47.  else
  48. echo &#092;"<A HREF=\"$form_dodaj_film\">Dodaj nowy film</A>\";
  49. echo &#092;"<A HREF=\"$form_dodaj_news\">Dodaj nowy news</A>\";
  50. }
  51. ?>
Go to the top of the page
+Quote Post
czachor
post
Post #6





Grupa: Zarejestrowani
Postów: 897
Pomógł: 40
Dołączył: 16.12.2003
Skąd: Warszawa

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


jeśli chodzi o optymalizację... Nie ma sensu przepisywać z $_POST do "zwykłych" zmiennych, bo zajmuje to niepotrzebnie pamięć. Możesz odwoływać się bezpośrednio do wartości z $_POST.
Używaj apostrofów (''), jeśli nie musisz cudzysłowów (""):
  1. <?php echo '<A HREF=\"' . $form_dodaj_news . '\">Dodaj nowy news</A>'; ?>
Parser sprawdza wszystko w " " pod kątem zawierania zmiennych, funkcji itd. To, co jest w apostrofach, zostawia tak jak jest.
Oczywiście nie są to żadne błędy, super optymalizacja też nie, ale zawsze coś przy dużych skryptach (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował czachor 24.01.2005, 11:31:52
Go to the top of the page
+Quote Post
sobstel
post
Post #7





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

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


trzymaj sie jednej konwencji. jesli uzywasz $_SESSION to zmienne sesyjne wyrejestrowuj przez unset(). jesli uzywasz session_register to przez session_unregister().
Go to the top of the page
+Quote Post
primo
post
Post #8





Grupa: Zarejestrowani
Postów: 254
Pomógł: 0
Dołączył: 30.12.2003
Skąd: Strzegom

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


a takie pytanko z innej beczki:

zaloguje się i wywołam formularz poprzez

  1. <?php
  2.  
  3. echo '<a href=\"index.php?op=39\"><strong>Dodaj Nowy Film</strong></a>';
  4.  
  5. ?>


następnie ten formularz odwołuje się do skryptu weryfikującego wprowadzone dane i jęśli jest wszysko w porządku to wyskakuje powiadomienie że wprowadzono dane takie i takie - ale jesli dodam w tym potwierdzeniu aby wypisal nick logujacy czyli userid - to nic nie pokazuje. Nie wiem czym to jest spowodowane, bo przecież tak mnie zweryfikowało i sesja powinna pamietac nick i haslo ! No chyba ze sie myle (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.09.2025 - 02:55