Avatar billede camban Nybegynder
27. juni 2006 - 19:08 Der er 10 kommentarer og
1 løsning

redirect eller tilføj til url'en

Hejsa

Hvordan tilføjer jeg til url'en så jeg tilføjer en querystring med sprog og side info.
Hvis jeg redirecter (til samme side med querystring) med javascript og bruger body=onload, står den og looper.

Hvordan skriver jeg til url'en ?

<?php
$query = "lang=da&&side=musik";
$url='http://'.$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'].'?'.$query;
echo $url;
?>

Håber der en der kan hjælpe, På forhånd tak :o)
Avatar billede nielle Nybegynder
27. juni 2006 - 19:21 #1
Måske sådan?

<?php
$lang = $_GET["lang"];
if (!isset($lang)) $lang = "da";

$side = $_GET["side"];
if (!isset($side)) $side = "musik";

$url = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME'] . "?lang=$lang&side=$side";
echo $url;
?>
Avatar billede camban Nybegynder
27. juni 2006 - 22:10 #2
Jamen hvordan får jeg tilføjet det til url'en - ligenu skriver den bare koden ud øverst i min php dokument?
Avatar billede nielle Nybegynder
27. juni 2006 - 22:14 #3
Det fremgik ikke rigtigt af dit spørgsmål at det var det du ønskede.

Men denne her modifisering skulle kunne gøre det :^)

<?php
$doRedirect = false;

$lang = $_GET["lang"];
if (!isset($lang))
{
    $lang = "da";
    $doRedirect = true;
}

$side = $_GET["side"];
if (!isset($side))
{
    $side = "musik";
    $doRedirect = true;
}

$url = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME'] . "?lang=$lang&side=$side";

if ($doRedirect)
{
    header("Location: $url");
    exit();
}
?>
Avatar billede nielle Nybegynder
27. juni 2006 - 22:15 #4
Personligt ville jeg nu foretrække at gemme værdierne af "lang" og "side" i en session.
Avatar billede camban Nybegynder
29. juni 2006 - 19:04 #5
Jeg kan ikke få den til at sætte querystringen på med koden ovenfor...jeg har sat den uden for html'en i starten.

Når jeg opdatere kan jeg se den går i gennem lang = da osv. men den ender bare med index.php?
Avatar billede pidgeot Nybegynder
29. juni 2006 - 19:07 #6
Det skal vel være empty i stedet for isset? Det bliver jo sat med $lang = $_GET["lang"];, selv hvis den bliver sat til en tom streng :)

Med andre ord:

<?php
$doRedirect = false;


if (!isset($_GET['lang']))
{
    $lang = "da";
    $doRedirect = true;
}
else $lang = $_GET["lang"];

if (!isset($_GET["side"]))
{
    $side = "musik";
    $doRedirect = true;
}
else $side = $_GET["side"];

$url = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME'] . "?lang=$lang&side=$side";

if ($doRedirect)
{
    header("Location: $url");
    exit();
}
?>
Avatar billede nielle Nybegynder
29. juni 2006 - 19:08 #7
Jeg kan ellers sagtens få det til at fungere:

http://www.frip.dk/nielle/e717914.php
Avatar billede pidgeot Nybegynder
29. juni 2006 - 19:12 #8
Ja, kan også godt se det er rigtigt alligevel - troede faktisk ikke isset fungerede sådan, men det står der da i dokumentationen:

isset() will return FALSE if testing a variable that has been set to NULL.
Avatar billede nielle Nybegynder
29. juni 2006 - 19:21 #9
> Når jeg opdatere kan jeg se den går i gennem lang = da osv. men den ender bare med index.php?

Det lyder som om at du har et header()-kald længere nede i din kode, eller at du har en:

<META HTTP-EQUIV="refresh" content="0; url=homepage.htm">

i din kode, eller at du har noget javascript som redirekter til index.php.
Avatar billede camban Nybegynder
30. juni 2006 - 18:02 #10
Det virker perfekt nu - jeg havde en
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
vidste nu ikke den havde noget med det at gøre. Rigtig dejligt det virker nu. Smid et svar og så siger jeg tusind tak for hjælpen.
Avatar billede nielle Nybegynder
30. juni 2006 - 19:22 #11
Hmmm... Kan nu heller ikke se at det skulle være på grund af den.

Svar :^)
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