Avatar billede sk-man Nybegynder
03. december 2004 - 22:42 Der er 12 kommentarer og
1 løsning

& i url variabel

Hvordan får man f.eks. & tegn med i et url varialbel?

jeg har lavet en php side ('link.php') som skal linke til den side der er i variablen $link (som kommer via url'en)

link.php siden indeholder:
Header ("Location: $link");

Men hvis man kalder siden med følgende:

referral.php?link=http://eksperten.dk?var1=ww&var2=23

linker den til http://eksperten.dk/?var1=ww

Jeg havde jo håbet på noget i retning af http://eksperten.dk?var1=ww&var2=23

hvad skal jeg gøre for at få det til at virke?
Avatar billede olebole Juniormester
03. december 2004 - 22:45 #1
<ole>

Udskift '&' med '&amp;'

/mvh
</bole>
Avatar billede jakoba Nybegynder
03. december 2004 - 22:55 #2
hcis dit & tegn skal læses som separator imellem 2 forskellige urlparameter værdier bør det skrives som html-entity 
    <a href="http://eksperten.dk?var1=ww&amp;var2=23">linktekst</a>
det går som regel godt selvom du ikke gør det, men ældre (og måske nye) IE versioner går i koks hvis det parameternawn der står efter starter med noget der er en lovlig html-entity. fx:
    <a href="http://eksperten.dk?volt=ww&ampere=23">linktekst</a>
du får en parameterværdi med navnet $_POST['ere'] og værdi 23  fordi IE læser &amp (også uden ; efter) som html-entity

hvis det skal stå i dine parameterdata skal det url-encodes. fx med php funktionen urlencode. bemærk at KUN værdien skal urlencodes. så for at overføre strengen '123&wildt':
        <a href="http://eksperten.dk?volt=ww&ampere=23">linktekst</a>
Avatar billede jakoba Nybegynder
03. december 2004 - 22:59 #3
sorry, submittede i utide. ignorer sidste link, det burde være:
    <a href="http://eksperten.dk?var1=<?php echo urlencode("123&vildt"); ?>&amp;ampere=23"> linktekst</a> Kommentar

mvh JakobA
Avatar billede editone Nybegynder
03. december 2004 - 23:53 #4
Avatar billede editone Nybegynder
03. december 2004 - 23:56 #5
<?
if(isset($_GET['link']))
{
$links = $_SERVER["QUERY_STRING"];
$hom = explode("link=", $links);
$link = $hom[1];
echo "<a href=$link>$link</a>";
}
?>
Avatar billede coderdk Praktikant
04. december 2004 - 02:36 #6
$redirect_url = "redirect.php?link=" . urlencode("side2.php?var1=1&var2=2");
Avatar billede editone Nybegynder
04. december 2004 - 13:53 #7
Coderdk du kan jeg ikke skrive det med alle sider i verden :D ? så man bliver jo ned til at lave det på min måde.

mvh editone - editone.dk
Avatar billede coderdk Praktikant
04. december 2004 - 14:59 #8
editone, Jeg forstår ikke lige hvad du skriver. Anyway, min løsning giver ham hvad han har brug for, og jo, den virker for alle links :P
Avatar billede sk-man Nybegynder
07. december 2004 - 20:38 #9
jakoba -> Det virker fint for mig. Du må poste et svar hvis du vil have point.
Avatar billede jakoba Nybegynder
07. december 2004 - 20:40 #10
ok, men det var da også hvad olebole sagde (først)
Avatar billede jakoba Nybegynder
07. december 2004 - 20:41 #11
ups
Avatar billede sk-man Nybegynder
08. december 2004 - 19:28 #12
Det var den her jeg brugte:

<a href="http://eksperten.dk?var1=<?php echo urlencode("123&vildt"); ?>
Avatar billede jakoba Nybegynder
08. december 2004 - 19:39 #13
takker
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