Strona 1 z 1

Problem z nagłówkami php

PostNapisane: 1 maja 2008, o 12:07
przez Emil0076

Problem z nagłówkami php

PostNapisane: 2 maja 2008, o 08:14
przez januzi

Problem z nagłówkami php

PostNapisane: 2 maja 2008, o 14:19
przez Emil0076

Problem z nagłówkami php

PostNapisane: 2 maja 2008, o 15:22
przez januzi

Problem z nagłówkami php

PostNapisane: 2 maja 2008, o 17:34
przez Emil0076

Re: Problem z nagłówkami php

PostNapisane: 21 lutego 2014, o 10:01
przez Ender
Dzień dobry.
Mam podobny problem. Napisałem swój pierwszy skrypt. Odbiera zdjęcia i ma też też inne pola.

</head>
<body>
<div id="top">
<div id="marginesl">
<div id="wrzutka"></div>
<div class="spis"></div>
</div>
<div id="tekst">
<?php
//sprawdzenie, czy kliknięto WYŚLIJ
if (isset($_POST['submit']) ){

instrukcje

}//koniec instrukcji
}
else{
//internauta dostał się tu nie poprzez formularz
header("Location: ../form_zdj_mod.html");
}
?>
U mnie na komputerze przekierowanie działa (Webserv) natomiast jak wrzucę do internetu na serwer, gdzie mam domenę to wyskakuje taki komunikat:

Warning: Cannot modify header information - headers already sent by (output started at /skrypty_php/odb_zdj_mod.php:10) in /skrypty_php/odb_zdj_mod.php on line 450

W Pajączku opcja "Nie stosuj trzybajtowego nagłówka dla UTF-8 jest zaznaczona.
Spacje przed <?php usunięte jak widać.
Nie wiem co to jest ob, ob_start itd. i czy to dotyczy mojego przypadku. Dotychczas w literaturze nie spotkałem się z tym.

Z góry dziękuję za pomoc.

Re: Problem z nagłówkami php

PostNapisane: 21 lutego 2014, o 12:53
przez Ender
Powyższy schemat skryptu wziąłem z http://webmaster.helion.pl/index.php/ph ... formularzy. Tam skrypt odbierający, w którym znajduje się przekierowanie też zaczyna się od nagłówka:

<!DOCTYPE html>
<html>
<head>

Zmieniłem to w ten sposób, że przeniosłem początek kodu php na początek dokumentu:

<?php
//sprawdzenie, czy kliknięto WYŚLIJ
if (isset($_POST['submit']) ){
?>
<!DOCTYPE html>
<html>
<head>
...
<div id="tekst">
<?php
instrukcje
...
}//koniec instrukcji
}
else{
//internauta dostał się tu nie poprzez formularz
header("Location: ../form_zdj_mod.html");
}
?>

Teraz to działa.

Mam pytania:
1. Czy tak skonstruowany skrypt jest prawidłowy?
2. Jeżeli piszę stronę tylko w HTML-u to sprawdzam ją za pomocą walidatora online W3C i wiem czy są błędy, czy nie ma. Czy pisząc skrypt php, który działa w przeglądarce w internecie mogę założyć, że jest prawidłowo napisany?
Pozdrawiam.