Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: błąd header
Forum PHP.pl > Forum > PHP
eremen
Witam,

chciałbym za pomocą header wczytać stronę

  1. if (isset($_POST['haslo']) && $_POST['glosuj']) {
  2.  
  3. if (in_array($_POST['haslo'], $kody)){
  4.  
  5. //ZAPISYWANIE WYNIKOW DO PLIKOW
  6. $filename=$_POST['auto'].'.txt';
  7. $votes = 1;
  8.  
  9. if(file_exists($filename)){
  10. $votes = file_get_contents($filename);
  11. $votes++;
  12. }
  13.  
  14. file_put_contents($filename, $votes);
  15.  
  16. $message = "dziękujemy za oddanie głosu";
  17.  
  18. //USUWANIE WPISANEGO HASŁA Z PLIKU I ZASTAPIENIE GO INNYM
  19.  
  20. srand((double)microtime()*1000000);
  21. $kod2=md5(uniqid(rand()));
  22. $nowehaslo = substr($kod2,0,5);
  23.  
  24. $kody; // tablica haseł pobrana z pliku z hasłami
  25.  
  26. $kody[array_search($_POST['haslo'], $kody)] = $nowehaslo;
  27.  
  28. file_put_contents("kody.txt", serialize($kody));
  29.  
  30. header('Location: [url="http://adresi.php&#39%3b%29;"]http://adres');[/url] <<----- W TYM MIEJSCU , czyli po zapisaniu wyniku głosowania do pliku
  31. }
  32. else {
  33. $message = "wpisałeś niepoprawne hasło";
  34. }
  35. }


Jednak pojawia się błąd:
Warning: Cannot modify header information - headers already sent by (outpu (w danej linii)

może to jest związane z tym że header ma być na samym początku (tak czytałem). Hmm...
crocodillo
Cytat(eremen @ 27.02.2012, 20:45:44 ) *
może to jest związane z tym że header ma być na samym początku (tak czytałem). Hmm...


Nie musi być na samym początku, ale musi być wywołany przed wysłaniem kodu html do przeglądarki. ob_start() / ob_end_flush() mogą pomóc.
by_ikar
Ty tak na serio? Jakąś godzinę temu ten temat został zamknięty: http://forum.php.pl/index.php?showtopic=194289 ludzie, czemu nie potraficie skopiować komunikatu błędu i wrzucić go w google? Przecież to 5 sekund roboty.. 19 milionów wyników o podanym haśle: http://lmgtfy.com/?q=Warning%3A+Cannot+mod...already+sent+by czy to jest aż tak trudne? Wyszukiwarka twoim przyjacielem..
eremen
Cytat(crocodillo @ 27.02.2012, 20:53:05 ) *
Nie musi być na samym początku, ale musi być wywołany przed wysłaniem kodu html do przeglądarki. ob_start() / ob_end_flush() mogą pomóc.


Crocodillo, a jeśli mam ten kod w pliku, a ten plik dopiero wczytuje przez stronę na której mam kod html? Poza tym header mam w warunku bo chciałem żeby przekierowywało dopiero gdy ktoś odda głos :]

Cytat(by_ikar @ 27.02.2012, 20:53:13 ) *
Ty tak na serio? Jakąś godzinę temu ten temat został zamknięty: http://forum.php.pl/index.php?showtopic=194289 ludzie, czemu nie potraficie skopiować komunikatu błędu i wrzucić go w google? Przecież to 5 sekund roboty.. 19 milionów wyników o podanym haśle: http://lmgtfy.com/?q=Warning%3A+Cannot+mod...already+sent+by czy to jest aż tak trudne? Wyszukiwarka twoim przyjacielem..


niestety serio, dla kogoś to jest banalne i może mi pomóc w 5 minut... a jak sam będę szukał zajmie mi to dużo więcej ;] i było by to ok, bo wtedy się człowiek więcej uczy jak sam musi poszukać ale muszę mieć to na jutro
xxdrago
Tak jak kolega wyżej:
ob_start() / ob_end_flush()
dodaj, oraz jeżeli korzystasz z kodowania UTF-8 to zmień na UTF-8 (bez bom)..
eremen
tak mam utf-8 bez BOM.
Kurcze, ale jeśli mam ten header w pliku który jest includowany do innego pliku to będzie działać? Ob start() zaraz za header, a ob end()?
Spawnm
Było setki razy, zamykam.
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.