Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z header already send
Forum PHP.pl > Forum > PHP
szczypior
Mam formularz na stronie który jako action ma ustawiony inny plik. Plik ten ma obrabiać dane i wrzucać do bazy a potem wrócić użytkownika na stronę. Problem w tym że po wciśnięciu "wyślij" krzyczy
Cytat
Warning: Cannot modify header information - headers already sent by...

Dzieje się tak nawet gdy ten plik zawiera tylko
  1. <?php
  2. $referer = $_SERVER['HTTP_REFERER'];
  3. header("Location: $referer ");
  4. ?>

Jak zablokuje wyświetlanie błędów to i tak nie działa przeniesienie użytkownika - zostaje biała pusta strona. W czym może być problem?
Kamson
Jeśli nie wysyłasz nic do przeglądarki a skrypt dodaje tylko do bazy to zostaw sam header();

Sprawdź czy przed <?php nie masz jakiś białych znaków np. nowa linia czy spacja
szczypior
Cytat(Kamson @ 31.05.2008, 00:46:20 ) *
Jeśli nie wysyłasz nic do przeglądarki a skrypt dodaje tylko do bazy to zostaw sam header();

Sprawdź czy przed <?php nie masz jakiś białych znaków np. nowa linia czy spacja

nie ma żadnych znaków przed <?php a jak dałem header(); to wywalił:
Cytat
Warning: header() expects at least 1 parameter, 0 given in...
jareeny
w header() musi być jakiś parametr, ty go nie dałeś
rafaelb
Jeśli plik jest w UTF8 to sprawdź czy masz zapisany w trybie UTF8 without BOM
Jak zrobisz podgląd w trybie tekstowym pow windowsem to na początku będziesz miał parę "krzaczków"
szczypior
problem był w kodowaniu, dzięki rafaelb smile.gif

pojawił się jeszcze mały problem bo teraz zamiast polskich znaków mam krzaczki sad.gif
l0ud
szczypior, bo teraz przeglądarka nie ma na czym 'domyślić' się jakie jest kodowanie. Musisz zadeklarować je ręcznie w headerze albo w tagach meta w sekcji head:
Kod
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
szczypior
dałem
  1. <?php
  2. header('Content-type: text/html; charset=UTF-8');
  3. ?>
ale nie pomogło sad.gif
piotrooo89
w sekcji head spróbuj...

  1. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  2. </head>
  3. .
  4. .
szczypior
też nie pomogło:/ zamiast polskich liter wyświetlają się taki:
Cytat
ążśźćńłęó
może to coś pomoże

Jak wyswietle echo wartości z formularza na tej stronie, która ma dodawać do bazy to są polskie znaki, ale w bazie pojawiają się krzaczki. Dodam że baza jest ok bo jak dodaje rekordy do tej samej tabeli z innej strony to nie ma tego problemu. Więc kodowanie rozsypuje się "po drodze" do bazy:/
viking
Przed wstawieniem wyślij zapytanie SET NAMES 'utf8' i upewnij się że poprawnie ustawiłeś kodowanie w samej bazie.
Poczytaj też: http://tworzenie-stron-www.org/artykuly/3/...na_stronach_www
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.