Lazy- Skrevet 21. januar 2010 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?
Ekko Skrevet 21. januar 2010 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?
Lazy- Skrevet 21. januar 2010 Forfatter 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!
Bjonski Skrevet 27. januar 2010 Skrevet 27. januar 2010 Jeg benytter meg av ' inne i echos, synes det ser mer ryddig ut. echo "<a target='_blank' href='#'>";
Jonas Skrevet 27. januar 2010 Skrevet 27. januar 2010 (endret) Hva med å gjøre det riktig og ryddig? echo '<a target="_blank" href="#">'; Endret 27. januar 2010 av Jonas
Jonas Skrevet 27. januar 2010 Skrevet 27. januar 2010 Rent bortsett fra at det gir riktig HTML og ser ryddig ut? Nei, ingen forskjell.
MikkelRev Skrevet 27. januar 2010 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='#'>.
Alex Moran Skrevet 27. januar 2010 Skrevet 27. januar 2010 Hvordan ser echo "<a target='_blank' href='#'>"; mer ryddig ut enn echo '<a target="_blank" href="#"></a>'; ?
nomore Skrevet 27. januar 2010 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").
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å