DOCTYPE - błąd w walidatorze W3C


(Kasman) #1

Witam serdecznie,

Mak kod strony index.php rozpoczynający się od:

W linii 56 gdzie występuje błąd rozpoczyna się natomiast kod php:

<?

        $id = isset($_GET['id']) ? $_GET['id'] : '';

        switch ($id) {

Nie mam pojęcia co może być przyczyną takiego błędu w walidatorze:

Line 56, Column 11: "DOCTYPE" declaration not allowed in instance


(Roffik) #2

No a co jest w tej linii w wygenerowanej stronie? Zauważ, że to nie pierwsza litera, tylko 11.

Obstawiam błąd w skrypcie PHP.


(Cobra000) #3

Validator nie 'patrzy' w twój skrypt zawierający kod php, on patrzy na wynik prezentowany przez interpreter php (np. apache). zatem błąd istnieje w 56 linii i kolumnie 11 w źródle strony (po przetworzeniu kodu przez interpreter), a nie w kodzie pliku .php!! natomiast jeżeli podany fragment kodu pojawia Ci się w źródle strony to znak, że nie jest on uznawany przez interpreter za kod php i do znacznika:

musisz dopisać php czyli:


(Kasman) #4

Już próbowałem wcześniej usuwać i dopisywać do znacznika:

<?PHP

i nic to nie dawało. W kodzie w 56 linii mam:

<?PHP

Natomiast generuje się w tym miejscu:

A 11 kolumna to litera "D" w słowie "


(Grzelix) #5

dopiero w 56 linii masz deklaracje doctype ??

deklaracja doctype powinna być na początku dokumentu (według tego co ja wiem).


(-Puma-) #6

Nie koniecznie, może być przed doctype kod php który nic nie generuje przed doctype.


(Kasman) #7

Mam Doctype zaraz w pierwszej linii ale później on się ponownie generuje zamiast linii 56:

<?PHP

nie wiedzieć czemu :frowning:


(Grzelix) #8

linia 56 w pliku php nie musi odpowiadać linii 56 w wygenerowanym dokumencie.

może masz jakiegoś include'a który zawiera doctype.

skoro masz dwa razy doctype to nic dziwnego że w3c pokazuje to jako błąd

@Puma dla uściślenie doctype powinien być na początku w wygenerowanym pliku html ponieważ to interesuje przeglądarkę podczas parsowania dokumentu.


(Kasman) #9

Kurcze, rzeczywiście al ze mnie gapa :smiley:

W includowanym pliku był ponownie DOCTYPE :stuck_out_tongue:

Dzięki grzelix =D>

A powiedzcie mi jeszcze czy w includowanym pliku na początku także musimy dodać jakąś sekcje czy od razu możemy drukować kod?


(-Puma-) #10

Od razu kod właściwy, nic nie dopisujesz w pliku includowanym.