Avatar billede clausga Nybegynder
04. april 2005 - 14:29 Der er 22 kommentarer

må man bruge / i en variabel i et link

Ja må man det og vil det virke i ALLE tilfælde ? fx


www.side.dk/side.php?info=bil/audi&id=1=link=ok
Avatar billede alister_crowley Nybegynder
04. april 2005 - 14:30 #1
ja og ja
Avatar billede barklund Nybegynder
04. april 2005 - 14:30 #2
Ja :)

Kommer det efter ? eller # så har det en anden betydning end hvis det kommer før - og vil ikke give problemer.
Avatar billede coderdk Praktikant
04. april 2005 - 14:31 #3
Det vil virke fint, hvis du vil være sikker på at noget skal virke, så kan du evt. køre det igennem urlencode() http://dk2.php.net/urlencode
Altså:

echo "www.side.dk/side.php?info=" . urlencode($bilinfo) . "&id=1&osv=2";
Avatar billede coderdk Praktikant
04. april 2005 - 14:33 #4
Faktisk vil den korrekte måde være:

$url = "http://www.side.dk/side.php?info=" . urlencode($bilinfo) . "&id=1&osv=2";
echo '<a href="' . htmlentities( $url ) . '">linktekst</a>';
Avatar billede coderdk Praktikant
04. april 2005 - 14:36 #5
Så vil dit link komme til at se sådan ud:

http://www.side.dk/side.php?info=bil%2Faudi&amp;id=1&amp;osv=2
Avatar billede clausga Nybegynder
04. april 2005 - 14:43 #6
sådan som det skulle virker var sådan her:


http://www.side.dk/?stat=ok&link=www.side.dk/produkter/10
Avatar billede barklund Nybegynder
04. april 2005 - 14:45 #7
Det kan du godt lave :)
Avatar billede coderdk Praktikant
04. april 2005 - 14:45 #8
Avatar billede coderdk Praktikant
04. april 2005 - 14:46 #9
At det du selv skrev vil virke i de fleste browsere, er så en anden sag ;)
Avatar billede clausga Nybegynder
04. april 2005 - 14:47 #10
ok men så skal der vel også rewrites på den side headeren skal henvise til ellers vil linket jo ikke virke ! skal jo have lavet fx. %2F om til / igen
Avatar billede coderdk Praktikant
04. april 2005 - 14:50 #11
Nej, når parametrene når til den anden side vil $_GET['link'] indeholde det rigtige så vidt jeg husker - Hvis ikke skal du bare køre den igennem urldecode() :)
Avatar billede barklund Nybegynder
04. april 2005 - 14:50 #12
Det sker så vidt jeg ved helt af sig selv - når du modtager variablen i php er den konverteret tilbage. ellers kan du gøre det via urldecode()
Avatar billede barklund Nybegynder
04. april 2005 - 14:54 #13
Eller som coderdk siger :)
Avatar billede coderdk Praktikant
04. april 2005 - 14:56 #14
hehe eller som barklund siger ;) vi har det med at svare lidt det samme ;P
Avatar billede clausga Nybegynder
04. april 2005 - 15:13 #15
Sådan her så når linket skal laves om?

$link = "bil/audi";
$link-ok = urlencode($link);

Og når jeg så skal have det ud i min header :

header("location:http://www.side.dk/$_GET['link']");
Avatar billede clausga Nybegynder
04. april 2005 - 15:14 #16
hov header location skulle så være

header("location:http://www.side.dk/$_GET['link-ok']");
Avatar billede coderdk Praktikant
04. april 2005 - 15:16 #17
Enten:

header( "location: http://www.side.dk/$_GET[link]");

Den burde virke. Ellers:

$linkok = urldecode( $_GET['link'] );
header( "location: http://www.side.dk/$linkok");

:)
Avatar billede clausga Nybegynder
04. april 2005 - 15:22 #18
og når man så laver linket om er det 100 % sikkert at det virker i alle browsere hvor det før kun var 99,9 % ? :D
Avatar billede coderdk Praktikant
04. april 2005 - 15:29 #19
Well, lad mig sige det på den måde, hvis det ikke virker med urlencode() så er det browseren den er gal med, jeg vil sige 100%...
Den første jeg skrev:

header( "location: http://www.side.dk/$_GET[link]");

vil virke fint sammen med:

$url = "http://www.side.dk/side.php?stat=ok&link=" . urlencode($link);
echo '<a href="' . htmlentities( $url ) . '">linktekst</a>';
Avatar billede clausga Nybegynder
04. april 2005 - 15:40 #20
hvorfor virker dette ikke ?

$link4 = "$urlstring/showprodukter/$id";
$url4 = urlencode($link4);
$prolink = "http://www.side.dk/?kel=stat&link=$url4";
Avatar billede coderdk Praktikant
04. april 2005 - 15:44 #21
Hvordan virker ikke?

<?php
   
    $urlstring = 'bil/audi';
    $id = 1234;
   
    $link4 = "$urlstring/showprodukter/$id";
    $url4 = urlencode($link4);
    $prolink = "http://www.side.dk/?kel=stat&link=$url4";
   
    echo $prolink;
   
?>

Giver mig:

http://www.side.dk/?kel=stat&link=bil%2Faudi%2Fshowprodukter%2F1234

Hvilket ser fint ud :)
Avatar billede clausga Nybegynder
04. april 2005 - 15:58 #22
Ja nu virker det også her!
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