Avatar billede pemo123456 Novice
27. april 2011 - 20:03 Der er 11 kommentarer og
1 løsning

problemer med <?php echo ....... ?>

Hej

Jeg kæmper lidt med en echo, som desværre ikke giver helt det output, jeg sigter efter. Echo'en er som følger:

<?php echo '<a href="mit_billede.jpg" title="$beskrivelse" rel="shadowbox[Sydens Sol];\">Min Ferie</a>' ?>

Det meste af echo'et virker fint, men $beskrivelse bliver bare udskrevet som $beskrivelse, og ikke det, jeg forsøger at hente fra en MySQL database. Jeg skal også have sat variabler ind i href="$variabel", [$variabel] og endelig i stedet for Min Ferie, men skal lige have afluret, hvad jeg pt. gør forkert.

Hvordan skal den se ud for at den afvikles, som den skal?

På forhånd tak for hjælpen. :-)
Avatar billede gadensgaard Nybegynder
27. april 2011 - 20:15 #1
Prøv med:
<?php echo '<a href="mit_billede.jpg" title="'.$beskrivelse.'" rel="shadowbox[Sydens Sol];\">Min Ferie</a>' ?>
Avatar billede inteeeL Nybegynder
27. april 2011 - 20:41 #2
Følgende vil også virke:
<?php
    echo "<a href='mit_billede.jpg' title='$beskrivelse' rel='shadowbox[Sydens Sol];'>Mine ferie</a>";
?>

Husk nu at bestemme dig for, om du vil bruge enkel apostrof (') eller dobbel ("). Det er en væsentlig faktor. Lad os tage dit eksempel i starten.

'<a href="mit_billede.jpg" title="$beskrivelse" rel="shadowbox[Sydens Sol];\">Min Ferie</a>'

Hvis du starter med en enkelt apostrof, skal variablerne kaldes udenfor apostrofen, altså title="'.$beskrivelse.'" eller title='{$beskrivelse}'. Derudover skal dobbeltapostrofen sidst ikke escapes. Og en sidste ting, en echo skal afsluttes/lukkes med et semikolon (;).

Du kan læse meget mere om det på php.net:
http://php.net/manual/en/language.types.string.php

Håber det hjalp.
Avatar billede michael_stim Ekspert
27. april 2011 - 20:27 #3
<?php
echo "<a href=\"mit_billede.jpg\" title=\"".$beskrivelse."\" rel=\"shadowbox['Sydens Sol'];\">Min Ferie</a>";
?>
Avatar billede beetle Nybegynder
27. april 2011 - 20:29 #4
Du kan kun bruge inline variable, altså $var udtryk i tekststrenge, når tekststrengen bruger omsluttende anførselstegn. Din streng bruger apostroffer.

Følgende ville virke

<?php echo "<a href=\"mit_billede.jpg\" title=\"$beskrivelse\" rel=\"shadowbox[Sydens Sol];\\">Min Ferie</a>" ?>

men det er jo knap så kønt. Afrbyd derfor strengen når du skal bruge variable, eller - hvis du har flere der skal indsættes, brug sprintf, som f.eks.

<?php echo sprintf("<a href="mit_billede.jpg" title="%s" rel="shadowbox[Sydens Sol];\">Min Ferie</a>", $beskrivelse) ?>
Avatar billede beetle Nybegynder
27. april 2011 - 20:30 #5
Ang. sprintf eksemplet herover: Ret de omsluttende anførselstegn til apostroffer.
Avatar billede pemo123456 Novice
27. april 2011 - 20:32 #6
Lige i skabet - tak.

Så har jeg også min fulde echo på plads nu - testet og godkendt! :-)

Mange tak for hjælpen - smid venligst et svar, så er der point på vej.
Avatar billede wanze Nybegynder
27. april 2011 - 20:35 #7
En anden løsning er <<, som gør det en del mere overskuligt - især, hvis man udskriver flere linjer.

Eksempel:
print <<end
<a href="mit_billede.jpg" title="{$beskrivelse}" rel="shadowbox[Sydens Sol];\">Min Ferie</a>
end;
Avatar billede gadensgaard Nybegynder
27. april 2011 - 20:35 #8
svar
Avatar billede pemo123456 Novice
27. april 2011 - 20:35 #9
Hov - havde ikke lige set, at der var kommet ekstra kommentarer. Den løsning jeg bruger, og som virker, er levet af gadensgaard, så smid venligst et svar.

Men tak for hjælp til alle.
Avatar billede beetle Nybegynder
27. april 2011 - 20:35 #10
ditto
Avatar billede ohhelpme Nybegynder
27. april 2011 - 22:31 #11
hvorfor i al verden ikke bare gøre sådan:

<?php echo "<a href='mit_billede.jpg' title='$beskrivelse' rel='shadowbox[Sydens Sol]'>Min Ferie</a>" ?>
Avatar billede repox Seniormester
27. april 2011 - 22:41 #12
#11
Fordi visse af os der er gamle i gårde, ikke kunne drømme om at bruge single quotes i HTML ;)
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