Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]niepotrzebny odstęp (znak) przy użyciu include
Forum PHP.pl > Forum > Przedszkole
seyoum
Przy użyciu funkcji include (dodaję w ten sposób do stały nagłówek do każdej podstrony) przed właściwą treścią strony pojawia się puste miejsce, które przesuwa całą treść o linijkę (?) w dół. walidator html wypisuje m. in.:

Error Line 1, Column 1: character "" not allowed in prolog

<!DOCTYPE html

wnioskuje z tego ze jest jakis niedrukowalny znak przed cala trescia strony przesuwajacy ja w dol i tworzacy blad.

www.seyoum.pl

fragment kodu ze sdtrony glownej (od początku az do div-a zawierajacego menu)
CODE
<?
if ($_GET['a'] == 'b') {setcookie ('ktos', 'autor', time()+31536000);}
include "head.php";
?>

<div id="top">

<div id="NAGLOWEK">
<marquee >Uwaga! Ważna informacja: w związku ze zwiększeniem knotraktu z NFZ w Gabinecie w Grabnie przyjmujemy bez rejestracji (tego samego dnia). Są jeszcze <b>wolne miejsca na protezy w 2009</b> roku.</marquee>
</div>

<div id="MENU">


kod head.php
CODE
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Language" content="pl" />
<meta name="Author" content="Maria Kostrzewa - Seyoum" />
<meta name="Copyright" content="&copy; 2009 Maria Kostrzewa - Seyoum" />
<meta name="Keywords" content="dentysta, stomatolog, gabinet, brzesko, grabno, lekarz, maria, kostrzewa, seyoum, zęby, wyrwanie, zabieg, pomoc, opieka, medycyna, protetyka, proteza, dziąsła, higiena, zdrowie" />
<meta name="Description" content="Gabinet stomatologiczny, lekarz stomatolog Maria Kostrzewa - Seyoum. Zapraszamy na wizytę w naszych gabinetach w Brzesku lub Grabnie. Oferujemy szeroki zakres usług stomatologicznych. Na stronie znajdą Państwo cennik, godziny przyjęć, oferowane zabiegi, itp." />
<title>Gabinety Seyoum</title>
<link rel="shortcut icon" href="favicon.ico" />
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body>


czym to moze byc spowodowane?
prosze o pomoc.
MateuszS
to wywal tego doctypa, i nie dawaj pol strony do head.php. Do head dodaj tylko to co jest pomiedzy <head> </head> a reszta w indexie. Poza tym sprawdz CSSa czy nie masz tam jakiś marginów itp.
seyoum
Cytat(MateuszScirka @ 17.11.2009, 22:03:15 ) *
to wywal tego doctypa, i nie dawaj pol strony do head.php. Do head dodaj tylko to co jest pomiedzy <head> </head> a reszta w indexie. Poza tym sprawdz CSSa czy nie masz tam jakiś marginów itp.

to nie popmaga, wtedy ten dziwny znlak pojawia sie przed <head>, puste miejsce dalej pozostaje :/ pozatym nie chce przy kazdym dokumencie wpisywac stalej tresci, po to uzylem include, tylko ten problem jest :/

w css nic nie znalazlem coby moglo na to wplywac
css:
http://seyoum.pl/style.css
emeres1
mam ten sam problem prosze o pomoc..
mortus
@seyoum Odkomentuj tego doctype-a, bo walidator szaleje. Odezwij się jak to zrobisz.
emeres1
odkomentuj znaczy usun?smile.gif jesli ot o chodzilo usunalem linijke <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> niestety bez efektu..



pozdrawiam
mortus
A wejdź na tę stronę www.seyoum.pl, kliknij prawym przyciskiem myszy w przeglądarce i zobacz źródło strony. Odkomentuj znaczy usuń znaki komentarza.
emeres1
Próbowałem wersje ze znakami komentarzy i bez nich niestety dalej nic..sad.gif




dzięki za pomoc
zend
Sprawdź czy nie masz gdzieś przed znakiem <?php spacji i czy po ?> też nie ma jakiejś spacji (przed załączeniem header'a), jak to nie zadziała to spróbuj też zakomentować tego if'a z ciasteczkiem
emeres1
Cytat(zend @ 28.03.2010, 23:46:50 ) *
spróbuj też zakomentować tego if'a z ciasteczkiem

Mogłbyś to rozwinąć?Jak to zrobić?

Sprawdziłem wszystkie spacje po 100 razy:)




pozdrawiam
mortus
Ciekaw jestem, jakiego edytora używasz? Możliwe, że strony masz zakodowane w UTF-8 z BOM, a to może powodować problemy, o czym prawi Wikipedia.
emeres1
ok moj kolega rozwiazal problem.
Gdy podstrone ktora chcialem zaladowac include zmienilem na kodowanie ansi i wszystko jest okej.
Uzywam notepad++.

Dzieki wszystkim za pomoc.
pozdrawiam
mortus
Rozwiązanie Twojego kolegi, chociaż skuteczne, to niestety niewłaściwe. Nie możesz deklarować, że kodujesz stronę przy użyciu UTF-8 (znacznik <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />) i jednocześnie kodować stronę w ANSI. A sprawdzałeś, co się będzie działo z polskimi znakami? Kodowanie pliku powinno być ustawione na UTF-8 bez BOM. O ile dobrze pamiętam Notepad++ umożliwiał nam konwersję na UTF-8 bez BOM. Warto w ustawieniach Notepada++ zmienić kodowanie nowego pliku na UTF-8 bez BOM (powinna tam też być opcja, zamieniania kodowania ANSI plików otwartych przez Notepad++, na kodowanie UTF-8 bez BOM).
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.