Avatar billede pointwood Nybegynder
26. april 2001 - 11:36 Der er 27 kommentarer og
3 løsninger

\"Error: Expected end of statement\" huh?

Jeg har opdateret et site til at benytte PHP og CSS. Siderne validerer og vises næsten uden problemer, men hvis jeg prøver at loade den i IE, så får jeg følgende fejl:
=== Cut ===
Line: 2
Char: 325
Error: Expected end of statement
Code: 0
URL: http://www.ramskov.org/ter/
=== Cut ===

Nogen der et godt forslag til hvad der går galt?

Jeg kender meget lidt til php, men her er koden som jeg vil tro skaber problemet:
=== Cut ===
<?php

function html_title($titel) {
$html = \"<!DOCTYPE HTML PUBLIC \\\"-//W3C//DTD HTML 4.01 Transitional//EN\\\"
        \\\"http://www.w3.org/TR/html4/loose.dtd\\\">
<html>
  <head>
  <title>$titel</title>
<meta name=\\\"description\\\" content=\\\"Team Egg Roll Website\\\">
  <meta name=\\\"keyword\\\" content=\\\"Team Egg Roll, TER, Folding,
Folding@Home, F@H, stats\\\">
  <link rel=\\\"stylesheet\\\" href=\\\"../ter/ter.css\\\" type=\\\"text/css\\\">
</head>
<body>
\";
return $html;
}
=== Cut ===

Det skal siges at der er flere funktioner i denne php fil, hvilket er grunden til det manglende \"?>\" i enden.
Avatar billede parazite Nybegynder
26. april 2001 - 11:47 #1
Får ingen fejl her... ;)
Avatar billede Slettet bruger
26. april 2001 - 11:48 #2
Dette er hvad der vises ved kildevisning:

<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"
                        \"http://www.w3.org/TR/html4/loose.dtd\">

hvis du nu prøvede at smide

$html = \"<!DOCTYPE HTML PUBLIC \\\"-//W3C//DTD HTML 4.01 Transitional//EN\\\"
        \\\"http://www.w3.org/TR/html4/loose.dtd\\\">

ind så det står på 1 linie..?
Avatar billede Slettet bruger
26. april 2001 - 11:49 #3
parazite> Tror han mener JavaScript fejl...
Avatar billede alvion Nybegynder
26. april 2001 - 11:49 #4
Prøv at sætte et . efter hver sætning - det er for at sætte strengene sammen:

function html_title($titel) {
$html = \"<!DOCTYPE HTML PUBLIC \\\"-//W3C//DTD HTML 4.01 Transitional//EN\\\" \" .
        \" \\\"http://www.w3.org/TR/html4/loose.dtd\\\">  \" .
\" <html>  \" .
  \" <head>  \" .
  \" <title>$titel</title>  \" .
\" <meta name=\\\"description\\\" content=\\\"Team Egg Roll Website\\\">  \" .
\"  <meta name=\\\"keyword\\\" content=\\\"Team Egg Roll, TER, Folding,  \" .
\" Folding@Home, F@H, stats\\\">  \" .
  \" <link rel=\\\"stylesheet\\\" href=\\\"../ter/ter.css\\\" type=\\\"text/css\\\">  \" .
\" </head>  \" .
\" <body>  \";
return $html;
}
Avatar billede Slettet bruger
26. april 2001 - 11:50 #5
husk at den sidste ; i kildevisningen er en Eksperten bug..
Avatar billede parazite Nybegynder
26. april 2001 - 11:51 #6
el_barto : Tror du har ret! ;) Blev bare forvirret over kategorien. *G*
Avatar billede pointwood Nybegynder
26. april 2001 - 11:51 #7
Hmm...

Ser du siden i IE? De fejl jeg får kommer ikke på selve siden, men man kan se dem nede i venstre hjørne i \"status-baren\" i IE.
Avatar billede parazite Nybegynder
26. april 2001 - 11:52 #8
alvion : Det er ikke nødvendigt, så længe han skriver alt indenfor de to \"\'er.
Avatar billede alvion Nybegynder
26. april 2001 - 11:53 #9
parazite -> Nå? Så troede jeg man skulle bruge = <<<< istedet.
Avatar billede Slettet bruger
26. april 2001 - 11:55 #10
?
Avatar billede parazite Nybegynder
26. april 2001 - 11:55 #11
alvion : Først definerer han jo variablen med $html = \"var\"; og derefter outputter han den. Kan ikke lige se hvad du mener med = ?
Avatar billede pointwood Nybegynder
26. april 2001 - 12:48 #12
Jeg har prøvet at sætte \"doctype\" på én linie, men det hjælper ikke noget som helst. Og som sagt, så burde det ikke have noget med selve dokumentet at gøre - det validerer i W3C\'s validator.

Andre forslag?
Avatar billede pointwood Nybegynder
26. april 2001 - 12:53 #13
Forresten, noget andet er at jeg benytter praktisk taget det samme på min egen side: http://www.ramskov.org, men der får jeg ikke nogen fejl!?

Det ser således ud:

<?php

function html_top($titel) {
    $html = \"<!DOCTYPE html PUBLIC \\\"-//W3C//DTD XHTML 1.0 Transitional//EN\\\"
    \\\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\\\">
<html>
  <head>
        <title>$titel</title>
        <link rel=\\\"stylesheet\\\" href=\\\"http://www.ramskov.org/ramskov.css\\\" type=\\\"text/css\\\" />
        <meta name=\\\"description\\\" content=\\\"Personlig hjemmeside for J&oslash;rgen Ramskov, B.I &Aring;rgang 92/93, AGF Bydrengene og information om spam, W3C/World Wide Web Consortium standarder, m.m.\\\" />
        <meta name=\\\"keyword\\\" content=\\\"Ramskov, Bydrengene, AGF, B.I., B&oslash;vling, Idr&aelig;tsefterskole, Spam, HTML, CSS, W3C, standarder\\\" />
    </head>
<body>
\";
    return $html;
}
Avatar billede Slettet bruger
26. april 2001 - 12:54 #14
Dit problem er at du lader variablen $html indeholde en masse mellemrum og liniebrud.

Smid alt det som $html skal indeholde ind på 1 linie, og se så om ikke jeg har ret!
Avatar billede pointwood Nybegynder
26. april 2001 - 12:58 #15
el_barto - Jeg prøver, men jeg kan ikke forstå det, for det fungerer fint andre steder...!?
Avatar billede pointwood Nybegynder
26. april 2001 - 13:09 #16
el_barto - afprøvet - samme fejl :-(
Avatar billede myplacedk Nybegynder
26. april 2001 - 21:09 #17
Når browseren giver en fejlmelding på den måde er det slet ikke en PHP-fejl.

Jeg kan i øvrigt fortælle dig at IE ikke kan finde ud af at fortælle hvilken fil fejlen opstår i. Den fortæller url\'en på det aktive dokument, også selv om fejlen opstår i en inkluderet fil. Du får så linjenummeret fra denne fil, men ikke filnavnet.

Sidst i den html dit php spytter ud inkluderer du noget vbscript, hvis jeg fjerner det får jeg ingen fejl.
Avatar billede alvion Nybegynder
26. april 2001 - 21:37 #18
myplacedk er inde på noget af det rigtige

        <p><script type=\"text/vbscript\" src=\"http://counters.uslive.net/counters/web_counter.asp?id=hanser&amp;page=http://www.teameggroll.com/addons.html&amp;style=22&amp;invisible=0\"></script>

denne linie rettes til:

        <p><script lang=\"vbscript\" src=\"http://counters.uslive.net/counters/web_counter.asp?id=hanser&amp;page=http://www.teameggroll.com/addons.html&amp;style=22&amp;invisible=0\"></script>

fejlen ligger i:

<script type=\"text/vbscript\"

skal istedet være:

<script lang=\"vbscript\"
Avatar billede Slettet bruger
26. april 2001 - 22:29 #19
<script type=\"text/vbscript\" er altså gyldig html ifølge både 3.0 og 4.0 standarden, så der ligger fejlen altså ikke..
Avatar billede alvion Nybegynder
26. april 2001 - 22:46 #20
Jamen så er det jo fantastisk at fejlen forsvinder, hvis man ændrer til det jeg foreslog...

Jeg har sgu da testet det inden jeg med det op. :-)
Avatar billede myplacedk Nybegynder
27. april 2001 - 07:41 #21
Så vidt jeg husker SKAL \"type\" være angivet, i hvert fald i html 4 strict.
Mon ikke det bedste er at angive begge dele... :)

(Subjectivt: Det ALLER bedste ville nok være at droppe vbscript og bruge javascript...)
Avatar billede myplacedk Nybegynder
27. april 2001 - 07:41 #22
Så vidt jeg husker SKAL \"type\" være angivet, i hvert fald i html 4 strict.
Mon ikke det bedste er at angive begge dele... :)

(Subjectivt: Det ALLER bedste ville nok være at droppe vbscript og bruge javascript...)
Avatar billede pointwood Nybegynder
27. april 2001 - 10:07 #23
alvion -
Du har ret, det fungerer rent faktisk med
lang=\"vbscript\"

Men nu kan du jo så prøve at køre det igennem validatoren:
http://validator.w3.org/check?uri=www.ramskov.org%2Fter&doctype=Inline

Tidligere skulle man skrive language=\"\", men det er \"depricated\" til fordel for type=\"\" - jeg snakker her om HTML 4.0:
\"The first version of HTML 4 was HTML 4.0 [HTML40], published on 18 December 1997 and revised 24 April 1998)\"

Det er jo en standard der har været brugt i rimeligt lang tid vil jeg vove at påstå...

Jeg kan desuden ikke finde lang=\"\" i nogen som helst form for standard - på Microsofts hjemmeside skriver de LANGUAGE=\"VBScript\" - men det klager den (IE5.0) sig også over.

myplacedk -
Ja, du har helt ret - det er ikke mig der har sat scriptet der (det er en tæller), hvis jeg fjernede det, så ville det sikkert blive sat ind igen...
Avatar billede myplacedk Nybegynder
27. april 2001 - 21:15 #24
Godt det ikke er mig, der skal bøvle med at andre piller mere ved min kode end jeg beder om. :)
Men kan du så ikke i det mindste angive både \"type\" og \"lang\"?
Avatar billede pointwood Nybegynder
30. april 2001 - 09:12 #25
Hvis du kigger lidt på sitet, så er det et site for Arstechnica Team Egg Roll. Det er et \"distributed computing team\" for Folding@Home projektet. Et projekt jeg, i øvrigt, klart kan anbefale - det er det mest gavnlige projekt jeg har hørt om til dato - du/I skal være velkomne til at \"joine\" og/eller maile mig for yderligere info (min email-adresse er en rigtig adresse!) :-)
Jeg har i den forbindelse blot meldt mig frivilligt til at ændre sitet (det var lavet i Frontpage), så det overholdt standarderne og blev lavet med PHP, css i stedet.

Koden bliver ikke mere korrekt af at tilføje \"type\" - \"lang\" er jo stadigt ikke korrekt kode og har (AFAIK) aldrig været det...hvis jeg tilføjer \"type\" så får jeg blot den fejl i IE igen :-(
Avatar billede myplacedk Nybegynder
30. april 2001 - 09:55 #26
Hmmm... Så vidt jeg ved tillader html4 loose at bruge ukendte (og dermed browserspecifikke) parametre (og tags). Jeg tager måske fejl...
Avatar billede pointwood Nybegynder
30. april 2001 - 09:58 #27
Ikke ifølge W3C validatoren - jeg benytter allerede html4.01 loose, og den brokker sig :-(
Avatar billede myplacedk Nybegynder
30. april 2001 - 10:15 #28
Hmm... Jeg troede \"lang\" var deprecated, jeg kan godt se nu at lang ikke vil overholde en w3c standard.
Til gengæld siger standarden at browseren skal ignorere ukendte parametre og tags. Dermed vil det ikke ødelægge noget, ud over ikke at overholde standarden 100%.
Avatar billede pointwood Nybegynder
30. april 2001 - 10:23 #29
Det har du sikkert ret i, men det hjælper stadigt ikke på mit problem - for at overholde standarden, så skal jeg have \"type\" med som attribut, men hvis jeg tager den med, så brokker IE sig. Personligt kan jeg fint leve med at IE brokker sig (jeg benytter den ikke selv :-) ), men det er der vist mange andre der ikke vil være tilfredse med ;)
Avatar billede pointwood Nybegynder
08. maj 2001 - 15:46 #30
Da det ikke rigtigt ser ud til at jeg vil finde en løsning på det (dvs. en der validerer), så siger jeg alligevel tak for hjælpen...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester