ďťż
Podstrony
|
telcocafeOtóż mam taką sytuację: comment.php podłącza config.php(który podłącza functions.php i html.php) i comment_inc.php. W comment.php jest funkcja header() która uaktywnia się po dodaniu komentarza aby odświeżyć stronę. Niestety, wszystko działało dopóki nie stworzyłem pliku html.php, w którym zawarta jest jak na razie jedna funkcja zawierająca wygląd newsów (tabelka). Nawet gdy html.php jest pusty(lub zawiera tylko '<? ?>', to i tak header wywala błąd.Warning: Cannot modify header information - headers already sent by (output started at D:\www\theme\html.php:46) in D:\www\comment.php on line 17 Czemu nie mogę includować więcej niż jednego pliku w config.php ? Użytkownik Isaac from Vale edytował ten post 07 czerwiec 2007, 13:37 Nie możesz, bo już wysyłasz jakieś dane (output started at D:\www\theme\html.php:46) do przeglądarki. Popatrz na ob_start() oraz ob_end_flush(), a także poczytaj o BOM-ie (wikipedia ;)). //pardon: inkludować więcej plików zawsze możesz, ale ostrzeżenia Ci się będą ciągle pokazywać (uwaga, ostrzeżenie != błąd). Użytkownik pbnan edytował ten post 07 czerwiec 2007, 13:47 No, ale functions.php jest podłączony i sam nic nie wysyła, sam zbiór funkcji - tak samo html.php. I jakoś functions.php nic nie przeszkadza Użytkownik Isaac from Vale edytował ten post 07 czerwiec 2007, 13:51 Według parsera PHP wysyła coś html.php (output started at D:\www\theme\html.php:46), także coś musi być nie tak. Oprócz tego pisałeś, że jeśli nawet html.php jest pusty, to błąd się pojawia, zatem sprawdź plik pod kątem istnienia BOM-u. http://pl.wikipedia.org/wiki/BOM Sprawdziłem jeszcze raz. Gdy html.php ma tylko <??> to jednak działa normalnie header.... ale przecież w takim jportalu też są includowane na podobnym 'łańcuchu' pliki jak moje i wszystko tam działa. :D Działa normalnie header, bo nic nie wysyła się w linii 46 w pliku html.php (bo jest pusty) - pokaż ten plik (pełny, jeśli można :D), jeśli nie możesz, to linie 44, 45, 46, 47 z niego... <? if(!defined('IN_SCRIPT')) { die('Brak dostępu do pliku. Najprawdopodobniej nastąpiła próba włamania.'); } # Wygląd newsów function news_theme($title, $text, $author, $date, $id, $comments) { print (' <div align="center"> <table border="0" width="100%"> <tr> <td class="title" width="100%" valign="top"colspan="2"><b>'.$title.'</b></td> </tr> <tr> <td class="text" width="100%" valign="top" colspan="2">'.$text.'</td> </tr> <tr> <td class="text" width="80%" valign="top"> <p align="left">Dodał: <b>'.$author.'</b> | '.$date.'<b> </b></td> <td class="text" width="20%" valign="top"> <p align="right">'); if($id>='1'){ print ('<a href="comment.php?id='.$id.'">Komentarzy: '.$comments.' </a>'); } print(' </td> </tr> <tr> <td class="" width="100%" valign="top" colspan="2"> </td> </tr> </table> </div> '); } ?> Ej, nie! to nie bylo od tego :D znowu dałem enter i dalej działa. Samo się naprawiło? Albo podczas moich kombinacji metodą prób i błędów. W kazdym razie - juz wszystko ok. Użytkownik Isaac from Vale edytował ten post 07 czerwiec 2007, 14:41 możliwe, że miałeś gdzieś pustą linijkę.... PHP traktuje to jako wysłanie danych do przeglądarki. Należy uważać na takie wpadki ;) Dalej mam puste linijki, nawet ze spacjami. XD |
|||
Sitedesign by AltusUmbrae. |