Avatar billede sotec Nybegynder
03. november 2003 - 15:15 Der er 24 kommentarer og
1 løsning

Newbie: Jeg har stirret mig blind på noget kode

Hvad er galt her, siden jeg ikke får en anden bgcolor når jeg er på den respektive side?

Include-menu:

<table width="740" border="0" cellspacing="1" cellpadding="3" align="center" bgcolor="white">
<tr>
<td align="center" bgcolor="<? if ($_SERVER["PHP_SELF"]=="/index.php") { echo "#008000"; } else { echo "#ff4500"; } ?>"><a href="index.php">Home</a></td>
<td align="center" bgcolor="<? if ($_SERVER["PHP_SELF"]=="/products.php") { echo "#008000"; } else { echo "#ff4500"; } ?>"><a href="products.php">Products</a></td>
<td align="center" bgcolor="<? if ($_SERVER["PHP_SELF"]=="/support.php") { echo "#008000"; } else { echo "#ff4500"; } ?>"><a href="support.php">Support</a></td>
<td align="center" bgcolor="<? if ($_SERVER["PHP_SELF"]=="/contact.php") { echo "#008000"; } else { echo "#ff4500"; } ?>"><a href="contact.php">Contact</a></td>
<td align="center" bgcolor="<? if ($_SERVER["PHP_SELF"]=="/about.php") { echo "#008000"; } else { echo "#ff4500"; } ?>"><a href="about.php">About</a></td>
<td align="center" bgcolor="<? if ($_SERVER["PHP_SELF"]=="/partners.php") { echo "#008000"; } else { echo "#ff4500"; } ?>"><a href="partners.php">Partners</a></td>
<td align="center" bgcolor="<? if ($_SERVER["PHP_SELF"]=="/sitemap.php") { echo "#008000"; } else { echo "#ff4500"; } ?>"><a href="sitemap.php">Sitemap</a></td>
</tr>
</table>
Avatar billede ztyxx Nybegynder
03. november 2003 - 15:19 #1
prøv at fjerne / i /index.php så den bliver index.php
Avatar billede sotec Nybegynder
03. november 2003 - 15:21 #2
Gør ingen forskel
Avatar billede 7th Praktikant
03. november 2003 - 15:23 #3
Jeg er ret sikker på det er fordi $_SERVER['PHP_SELF'] er mere end bare /side.php. Afhængig af hvad din $_SERVER['PHP_SELF'] udskriver, så prøv dette.

$side = explode ("/" , $_SERVER['PHP_SELF']);

if ($side[2] == "side.php") {
echo ...
}
Avatar billede ztyxx Nybegynder
03. november 2003 - 15:24 #4
brug $_SERVER["REQUEST_URI"] istedet for PHP_SELF
Avatar billede sotec Nybegynder
03. november 2003 - 15:27 #5
OK, jeg er ikke nået til explode endnu :-)
Mener du jeg skal have mere af stien til root med`?


(Den udskriver det jeg echoer nu, så denne måde virker i hvert fald)
Avatar billede sotec Nybegynder
03. november 2003 - 15:30 #6
$_SERVER["REQUEST_URL" ændrede ikke noget ved det
Avatar billede ztyxx Nybegynder
03. november 2003 - 15:31 #7
URI skal det være
Avatar billede 7th Praktikant
03. november 2003 - 15:36 #8
$side = explode ("/" , $_SERVER['PHP_SELF']);

if ($side[1] == "test.php") {
echo true;
}

if ($_SERVER['PHP_SELF'] == "/test.php") {
echo true;
}

if ($_SERVER['REQUEST_URI'] == "/test.php") {
echo true;
}

Alle tre ovenstående metoder virker hos mig. Det virker mystisk metode 2 ikke virker i dit script.
Avatar billede sotec Nybegynder
03. november 2003 - 15:36 #9
Kan det være at det kun skal være 1 = og ikke 2 ==  ?
Avatar billede 7th Praktikant
03. november 2003 - 15:41 #10
Nej.
Avatar billede sotec Nybegynder
03. november 2003 - 15:41 #11
Der er vel ikke nogle sikkerheds issues her
som kan være årsagen?
Hotellet er Wannafind
Avatar billede 7th Praktikant
03. november 2003 - 15:42 #12
Avatar billede sotec Nybegynder
03. november 2003 - 15:45 #13
Undskyld hvis jeg ikke kan gennemskue det du viser 7th, men din tabelcelle skifter da heller ikke farve!?
Avatar billede 7th Praktikant
03. november 2003 - 15:48 #14
Den udskriver da den rigtige farve :)

// hvis den pågældende side er lig med test.php så vis grøn farve
if ($_SERVER["PHP_SELF"]=="/test.php") {
echo "#008000";
}

// ellers så vis rød farve
else {
echo "#ff4500";
}
Avatar billede sotec Nybegynder
03. november 2003 - 15:50 #15
Ja, du har ret.
Men det virker stadigvæk ikke for mig
Avatar billede detox Nybegynder
03. november 2003 - 15:51 #16
Ellers kan du prøve med basename():

<td align="center" bgcolor="<? if (basename($_SERVER["PHP_SELF"])=="index.php") { echo "#008000"; } else { echo "#ff4500"; } ?>"><a href="index.php">Home</a></td>
Avatar billede sotec Nybegynder
03. november 2003 - 15:57 #17
Basename virker!!!

Hvordan kan der være så stor forskel på den måde
hotellerne sætter PHP op?
Avatar billede sotec Nybegynder
03. november 2003 - 15:59 #18
Hvem skal have points?
Avatar billede detox Nybegynder
03. november 2003 - 16:10 #19
Ja, jeg smider da gerne et svar, hvis vi kan dele?
Avatar billede sotec Nybegynder
03. november 2003 - 16:11 #20
Tak til 7th og detox, men ingen andre end ztyxx har lavet et svar
Avatar billede detox Nybegynder
03. november 2003 - 16:15 #21
Ok, to late! Velbekommen ;o)
Avatar billede ztyxx Nybegynder
03. november 2003 - 21:44 #22
hvis ikke min løsning var den der skulle bruges, vil jeg med glæde afstå mine point til 7th og detox, så bare sig til drenge, jeg vil ikke beholde noget der ikke retteligt tilfalder mig :-)
Avatar billede ztyxx Nybegynder
05. november 2003 - 16:03 #23
vil i have de point drenge??
Avatar billede detox Nybegynder
06. november 2003 - 00:36 #24
Ja, hvis vi kunne dele vil jeg godt være med ;o)
Avatar billede ztyxx Nybegynder
06. november 2003 - 01:59 #25
detox og 7th, jeres point ligger her:
http://www.eksperten.dk/spm/423859
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