Avatar billede smogle Nybegynder
17. december 2008 - 07:20 Der er 9 kommentarer og
3 løsninger

tjek af url

Jeg sidder og roder lidt med breadcrumbs men kan ikke rigtig få det til at virke. Hvis jeg eksempelvis har følgende side: www.minside.dk/nyheder skal siden skrive noget bestemt ud.

<? if { tjek hvilken url det er og om den er lig med www.minside.dk/nyheder} echo "noget tekst her" else echo "noget andet tekst her";

Er der nogen der har en meget enkel løsning?
Avatar billede jakobdo Ekspert
17. december 2008 - 09:28 #1
Prøv at lav:

echo '<pre>';
print_r($_SERVER);
echo '</pre>';

og se om ikke du har en variabel du kan bruge.
Måske du kan kigge på SCRIPT_NAME, SCRIPT_FILENAME eller PHP_SELF

Og kig så også på funktionen: http://dk.php.net/parse_url
Avatar billede coderdk Praktikant
17. december 2008 - 14:19 #2
if ( $_SERVER['HTTP_HOST'] == 'www.minside.dk' && $_SERVER['REQUEST_URI'] == '/nyheder' )
{
  echo "Noget tekst her";
}
else
{
  echo "Noget andet tekst her";
}
Avatar billede ducks Nybegynder
18. december 2008 - 07:24 #3
Ville lave den sådan her:


if (in_array(getenv('HTTP_HOST'), array("www.minside.dk", "minside.dk")) && getenv('REQUEST_URI') == "/nyheder") {
  echo "Noget tekst her";
}
else {
  echo "Noget andet tekst her";
}
Avatar billede smogle Nybegynder
18. december 2008 - 09:16 #4
perfekt, men problemet opstår hvis jeg lægger filen i en mappe, ex nyheder/nyheder.php

if ( $_SERVER['HTTP_HOST'] == 'www.minside.dk' && $_SERVER['REQUEST_URI'] == '/nyheder/nyheder.php' )

REQUEST_URI sender denne string: /nyheder/nyheder.php

Nogen tanker og takker forresten for de hurtige svar :-D
Avatar billede coderdk Praktikant
18. december 2008 - 09:26 #5
(c:
Avatar billede ducks Nybegynder
18. december 2008 - 09:30 #6
$req_uri = substr(getenv('REQUEST_URI'), 0, 8);

if (in_array(getenv('HTTP_HOST'), array("www.minside.dk", "minside.dk")) && $reg_uri == "/nyheder") {
  echo "Noget tekst her";
}
else {
  echo "Noget andet tekst her";
}
Avatar billede ducks Nybegynder
18. december 2008 - 09:30 #7
Mindre fejl i ovensående, brug den her:

$req_uri = substr(getenv('REQUEST_URI'), 0, 8);

if (in_array(getenv('HTTP_HOST'), array("www.minside.dk", "minside.dk")) && $req_uri == "/nyheder") {
  echo "Noget tekst her";
}
else {
  echo "Noget andet tekst her";
}
Avatar billede jakobdo Ekspert
18. december 2008 - 09:31 #8
Svar!
Avatar billede jakobdo Ekspert
18. december 2008 - 09:31 #9
$req_uri = substr(getenv('REQUEST_URI'), 0, 8);
Kig dog på parse_url()
Avatar billede smogle Nybegynder
18. december 2008 - 09:58 #10
Jeg fik det til at virke med PHP_SELF ;-) Jakobdo tak for denne her

echo '<pre>';
print_r($_SERVER);
echo '</pre>';

Den er en lifesaver.....
Avatar billede jakobdo Ekspert
18. december 2008 - 10:10 #11
smogle: Den gør nu bare det samme som phpinfo(); dog mere specifik på $_SERVER variablen.
Men
echo '<pre>';
print_r($variabel_navn);
echo '</pre>';

Burde tilføjes som standard php funktion, jeg bruger den altid til at debugge.
objekter, arrays og lign... :o)
Avatar billede jakobdo Ekspert
18. december 2008 - 10:10 #12
OG takker for point.
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