Avatar billede proff Nybegynder
07. februar 2004 - 13:28 Der er 12 kommentarer og
1 løsning

Fejlen i denne kode?

Hejsa.. Jeg har denne kode, jeg ved ikke hvad jeg skal gøre for at ændre det sådan det virker.. men det virker åbenlyst ikke nu :P



if($action=="options") {

print "
<head>
<style type="text/css">
body { margin: 0px }
</style>
</head>
<body topmargin="0" leftmargin="0">

<table border="0" width="64" cellspacing="0" cellpadding="0">
  <tr>
    <td width="215" height="23">
      <img border="0" src="menu_bar.gif" width="219" height="23">
    </td>
    <td width="65" height="23">
      <a href="java script:history.go(-1)">
      <img border="0" src="back.gif" width="60" height="23">
      </a>
    </td>
  </tr>
  <tr>
    <td width="279" height="12" colspan="2"><img border="0" src="instillinger.gif" width="278" height="12"></td>
  </tr>
  <tr>
    <td width="279" colspan="2">
      <table border="0" width="100%">
        <tr>
          <td width="95%"><img border="0" src="gfx/rediger_info.gif" width="82" height="5">
        </tr>
        <tr>
          <td width="95%"><img border="0" src="gfx/change_pw.gif" width="90" height="5">
        </tr>
        <tr>
          <td width="95%"><img border="0" src="gfx/garderobe.gif" width="70" height="5">
        </tr>
        <tr>
          <td width="95%"><img border="0" src="gfx/venneliste.gif" width="74" height="5">
        </tr>
        <tr>
          <td width="95%"><img border="0" src="gfx/post.gif" width="40" height="5">
        </tr>
        <tr>
          <td width="95%">
        <img border="0" src="gfx/spacer.GIF" width="259" height="4">
        </tr>
        <tr>
          <td width="95%"><img border="0" src="gfx/indret_lej.gif" width="106" height="5">
        </tr>
      </table>
    </td>
  </tr>
</table>

</body>
";
}
Avatar billede proff Nybegynder
07. februar 2004 - 13:29 #1
Min fejlmeddelelse siger at fejlen ligger på linje... (4)

<style type="text/css">

Der er sikker meget der skal laves om? Men jeg ved ikke helt hvad jeg skal gøre for at få det til at virke?
Avatar billede bryrup Nybegynder
07. februar 2004 - 13:32 #2
Hvad siger fejlen??
Avatar billede avlund Nybegynder
07. februar 2004 - 13:34 #3
";
}

til sidst i dit script... er ikke i <?php ?>-klammer.
Avatar billede avlund Nybegynder
07. februar 2004 - 13:36 #4
Vent... nu har jeg kigget ordentligt på det. Problemet er at du bruger print " i toppen... og så senere bruger citationstegn igen ( "text/css" ). Derved annullerer du dit script.

Skriv i stedet:
Avatar billede avlund Nybegynder
07. februar 2004 - 13:37 #5
<?php

if($action=="options") {

?>
<head>
<style type="text/css">
body { margin: 0px }
</style>
</head>
<body topmargin="0" leftmargin="0">

<table border="0" width="64" cellspacing="0" cellpadding="0">
  <tr>
    <td width="215" height="23">
      <img border="0" src="menu_bar.gif" width="219" height="23">
    </td>
    <td width="65" height="23">
      <a href="java script:history.go(-1)">
      <img border="0" src="back.gif" width="60" height="23">
      </a>
    </td>
  </tr>
  <tr>
    <td width="279" height="12" colspan="2"><img border="0" src="instillinger.gif" width="278" height="12"></td>
  </tr>
  <tr>
    <td width="279" colspan="2">
      <table border="0" width="100%">
        <tr>
          <td width="95%"><img border="0" src="gfx/rediger_info.gif" width="82" height="5">
        </tr>
        <tr>
          <td width="95%"><img border="0" src="gfx/change_pw.gif" width="90" height="5">
        </tr>
        <tr>
          <td width="95%"><img border="0" src="gfx/garderobe.gif" width="70" height="5">
        </tr>
        <tr>
          <td width="95%"><img border="0" src="gfx/venneliste.gif" width="74" height="5">
        </tr>
        <tr>
          <td width="95%"><img border="0" src="gfx/post.gif" width="40" height="5">
        </tr>
        <tr>
          <td width="95%">
        <img border="0" src="gfx/spacer.GIF" width="259" height="4">
        </tr>
        <tr>
          <td width="95%"><img border="0" src="gfx/indret_lej.gif" width="106" height="5">
        </tr>
      </table>
    </td>
  </tr>
</table>

</body>
<?php } ?>
Avatar billede zeroaim Nybegynder
08. februar 2004 - 05:17 #6
Hejsa.
Jeg er enig med avlund i at det sikkert er der dit problem ligger, og jeg er sådan set også enig i hans løsning, men hvis du gerne vil bruge PHP "print", så skal du bare sætte "\" foran alle citationstegn "...

Eks.

if($action=="options") {

print "
<head>
<style type=\"text/css\">
body { margin: 0px }
</style>.......

Altså: <style type=\"text/css\"> !!!!

Denne form kan du altid bruge i PHP, da den så ikke læser citationstegn efter \

Mvh.
Henrik
Avatar billede zeroaim Nybegynder
08. februar 2004 - 05:20 #7
Ja og du kan da forøvrigt også bare undlade at bruge " tegn...

Så det bliver

<style type=text/css> osv osv...

Dette er dog nok ikke en løsning jeg vil anbefale, da det jo afviger noget fra HTML standarten. (formoder jeg :-) )
Avatar billede tefcke Nybegynder
08. februar 2004 - 23:38 #8
zeroaim >> Ja, det gør den nemlig!

Jeg vil klart anbefale avlunds løsning (07/02-2004 13:37:00), den er langt mere overskulig end at escape alle citationstegn!
Avatar billede zeroaim Nybegynder
09. februar 2004 - 05:01 #9
Der er jeg (som jeg vist også skriver i min første kommentar)helt enig med dig tefcke. Synes bare lige han skulle vide at der var en anden mulighed... Det er jo meget rart at vide :-)
Avatar billede tefcke Nybegynder
09. februar 2004 - 09:34 #10
Der er faktisk også en 3. og en 4. måde at gøre det på.

Ved brug af enkelteanførelses tegn, kan du bruge lige så mange dobbelt anførelses tegn som du lyster:

if($action=="options") {

print '
<head>
<style type="text/css">
body { margin: 0px }
</style>.......

Og så er der Heredoc syntaksen:
$str = <<<EOD
Example of string
spanning multiple lines
using heredoc syntax.
EOD;

Hvor i du kan bruge enkelt og dobbelt anførelsesetgn uden du behøver escape nogen af dem. Samt er det muligt at at få udskrevet indholdet af variabler.

echo <<<EOT
My name is "$name". I am printing some $foo->foo.
Now, I am printing some {$foo->bar[1]}.
This should print a capital 'A': \x41
EOT;
Avatar billede zeroaim Nybegynder
09. februar 2004 - 16:37 #11
Nice :-)

Jeg er lige begyndt at programmere her i år (læs: 5-6 uger siden), så det er jeg da meget glsd for at du lige gider bruge tid på at forklare.

Så selvom det oprindelige spørgsmål egentligt blev besvaret helt fra starten, så takker jeg for infoen :-)
Avatar billede Slettet bruger
11. februar 2004 - 01:16 #12
Og så er der en måde mere:

print "
<head>
<style type='text/css'>

osv.

Der er i html (og xhtml) intet som helst i vejen med at bruge enkelte anførselstegn i stedet for de normale dobbelte.
Avatar billede proff Nybegynder
12. august 2004 - 17:31 #13
lukker
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

IT-JOB