ďťż

[php] ciasteczka - początkujący użytkownik Header already send...

       

Podstrony


telcocafe

Witam,

Ucze się języka PHP wg. kursu Unknowa (http://www.uw-team.o...oarty&dzial=php) i mam problemy z lekcją nr. 6
Próbowałem napisać prosty program tego typu:

<html> <head> <title>Testy</title> </head> <body> <? if (isset($_COOKIE['imie'])) { echo('ostatnio przedstawiłeś się jako: '.$_COOKIE['imie']); } if (!isset($_POST['imie'])){ echo('<form method="post" action="test.php"><input type="text" name="imie"><input type="submit" value="Zapamietaj mnie"></form>'); } else { setcookie('imie',$_POST['imie'],time()+24*60*60); } ?> </body> </html>

Warning: Cannot add header information - headers already sent by (output started at ./test.php:1) in /test.php on line 12

Co jest nie tak? cos wspominano o tym w filmie, ale nie mam pojecia jak to przerobić <_<



§ 1. Nie używaj krótkich otwarć <?. Stosuj <?php.
§ 2. Nie możesz wysłać ciasteczek, jeżeli wcześniej przekazałeś przeglądarce jakąkolwiek treść!
§ 2.1. Możesz zastosować buforowanie wyjścia w PHP - zaczynając od ob_start.
§ 2.2. Jeżeli to możliwe, utwórz cookie, zanim wyślesz zawartość do przeglądarki - czyli przed <html>.
§ 2.3. Jeżeli tworzysz większy skrypt, rozważ oddzielenie logiki (PHP + baza danych) od prezentacji (HTML, CSS).
§ 3. Po co PHP ma za każdym razem liczyć wartość wyrażenia 24*60*60? Wpisz od razu 86400.
§ 3.1. Możesz dodać komentarz obok funkcji z tym wyrażeniem, abyś potem wiedział, na jak długo ustawiasz ważność.

Dzieki ob_start() na początku pomogło :)

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.