Gå til innhold

[Løst]Åpne link fra database i ny tab/side


Anbefalte innlegg

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
Videoannonse
Annonse
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

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...