Lazy- Skrevet 21. januar 2010 Del Skrevet 21. januar 2010 Hallo. Sitter her med en skoleoppgave i PHP og begynner å bli frustrert. I denne delen av oppgaven skal jeg plassere noen eksterne linker hentet fra en database inne i en iFrame, noe jeg klarer uten større problemer. Problemet kommer når jeg trykker på linken da siden den linker til bare åpner seg i den lille iFramen når jeg vil at den skal åpnes på en ny side. Vanligvis i HTML ville jeg brukt '<a target="_blank" men dette ser ikke ut til å fungere i PHP funksjonen min som er som følger: function hent_link(){ $q = "SELECT Forklaring, URL FROM lenker WHERE Type='Eksterne'"; $resultat = mysql_query($q); while($rad = mysql_fetch_array($resultat)){ echo "<a href=".$rad['URL'] . ">" .$rad['Forklaring'] ."</a>"; } } Denne funksjonen fungerer som sagt, men jeg vil gjerne at det skal åpnes i en ny side i stedet for i den lille iframen. Er det noen som vet hvordan dette kan gjøres eller om det er mulig i det heletatt uten å gjøre det om til en javascript array? Lenke til kommentar
Ekko Skrevet 21. januar 2010 Del Skrevet 21. januar 2010 echo "<a href=".$rad['URL'] . " target=\"_blank\" >" .$rad['Forklaring'] ."</a>"; Dette funker altså ikke? Hva skrives ut om du ser i kilden til filen? Lenke til kommentar
Lazy- Skrevet 21. januar 2010 Forfatter Del Skrevet 21. januar 2010 echo "<a href=".$rad['URL'] . " target=\"_blank\" >" .$rad['Forklaring'] ."</a>"; Dette funker altså ikke? Hva skrives ut om du ser i kilden til filen? Haha, det funka faktisk.. Rett og slett jeg som ikke har brukt "\ \" -,- Tusen takk! Lenke til kommentar
Bjonski Skrevet 27. januar 2010 Del Skrevet 27. januar 2010 Jeg benytter meg av ' inne i echos, synes det ser mer ryddig ut. echo "<a target='_blank' href='#'>"; Lenke til kommentar
Jonas Skrevet 27. januar 2010 Del Skrevet 27. januar 2010 (endret) Hva med å gjøre det riktig og ryddig? echo '<a target="_blank" href="#">'; Endret 27. januar 2010 av Jonas Lenke til kommentar
Bjonski Skrevet 27. januar 2010 Del Skrevet 27. januar 2010 Tørr jeg spørre om det er noen forskjell? Lenke til kommentar
Jonas Skrevet 27. januar 2010 Del Skrevet 27. januar 2010 Rent bortsett fra at det gir riktig HTML og ser ryddig ut? Nei, ingen forskjell. Lenke til kommentar
MikkelRev Skrevet 27. januar 2010 Del Skrevet 27. januar 2010 Jeg synes også at echo "<a target='_blank' href='#'>"; ser mest ryddig ut i koden, men jeg foretrekker html'en min som <a target="_blank" href="#"> fremfor <a target='_blank' href='#'>. Lenke til kommentar
Alex Moran Skrevet 27. januar 2010 Del Skrevet 27. januar 2010 Hvordan ser echo "<a target='_blank' href='#'>"; mer ryddig ut enn echo '<a target="_blank" href="#"></a>'; ? Lenke til kommentar
nomore Skrevet 27. januar 2010 Del Skrevet 27. januar 2010 Estetisk sett så får det være opp til hver enkelt, mener eg. For i tillegg til å ha enkel og dobbel "fnutt", så har man også <<<EOT, eller såkalt heredoc, og <<<'EOT', eller såkalt nowdoc. Disse forskjellige måtene å gjøre det på gjør koden mer, eller mindre leselig eller uleselig for andre. Men eg tror du får like mange svar som folk du spør på hva som er rett og hva som ser bra ut. Men, det er en funksjonsmessig forskjell. Variabler og escape-symboler blir ikke behandlet når man bruker enkeltfnutt eller nowdoc(<<<'EOT'). Så echo 'Dette er en $test\t' vil vise "Dette er en $test\t" når den vises i nettleseren. Mens med heredoc(<<<EOT) eller dobbeltfnutt så vil den i stede vise "Dette er en ettellerannet ". Viktigst av alt mener eg er at man holder seg til en standard, så man slipper å feilsøke slike teite feil. Min prosedyre er at i alle SQL-spørringer brukes enkeltfnutt, og dermed må eg bruke dobbeltfnutt rundt. Noe som også er praktisk med hensyn til at eg kan bruke variabler direkte i spørringen. Den andre regelen min er at alt som sendes til nettleseren skal ha ", ikke ', i syntaxen. Mao skal det være <a href=""> ikke a href=''> som vises i koden. Eg må dermed bruke echo '<a href="">' eller echo "<a href=\"\">". Eg foretrekker den siste. For alt annet som ikke skal ut til nettleseren så bruker eg enkeltfnutt. For eks echo date('d.m.Y'), ikke echo date("d.m.Y"). Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå