01. november 2004 - 18:17
Der er
17 kommentarer og 1 løsning
"if" i adresselinie "then"
Jeg skal bruge et helt specielt PHP script, jeg ved ikke engang om det kan laves, men tror det da! Det skal fungere således: HVIS der i adresselinien er skrevet en bestemt tekst (f.eks. INDEX) skal der skrives en bestemt ting (i denne sammenhæng koden: style="display:none") i sourcekoden! HVIS IKKE teksten (INDEX) er skrevet i adresselinien skal der ikke stå noget! Altså: If -> INDEX er skrevet i adresselinien -> Then -> style="display:none" skrives i sourcekoden! Er det mon forståeligt nok? ;-)
Annonceindlæg fra Genetec
Slettet bruger
01. november 2004 - 18:37
#1
hvis du i adressenlinjen har fx hjemmeside.dk/side.php?id=index er det let nok: <? if ($_GET[id] == "index") echo "style=\"display:none\""; ?>
01. november 2004 - 19:18
#2
Eller måske: <?php if (strpos(strtolower($_SERVER['PHP_SELF']), 'index') !== false) { echo 'style="display:none"'; } ?> Hvis det bare skal være skrevet et eller andet sted i adresselinien :)
01. november 2004 - 19:31
#3
Kan man lave en ELSE, vil gerne have det på begge forslag! Sådan at hvis der IKKE står INDEX nogen steder skriver scriptet måske 'style="display:block"';
01. november 2004 - 19:33
#4
if ( strpos( $_SERVER['REQUEST_URI'], 'index' ) > 0 ) { echo 'style="display: none;"'; }
01. november 2004 - 19:34
#5
echo 'style="display: '; if ( strpos( $_SERVER['REQUEST_URI'], 'index' ) > 0 ) { echo 'none;"'; } else { echo 'block;"'; }
01. november 2004 - 19:38
#6
Det er helt kanon
01. november 2004 - 19:39
#7
:)
01. november 2004 - 19:45
#8
Kan jeg kun indsætte ét af disse script på mine sider! Det skal bruges på 8 forskellige steder i min kode! Men det er kun den første der fungerer!
Slettet bruger
01. november 2004 - 19:53
#9
prøv at skrive det der i den første gang: if ($check = (strpos( $_SERVER['REQUEST_URI'], 'index' ) > 0)) og det her de andre gange: if ($check) (jeg er ikke sikker på om det virker, men prøv..)
01. november 2004 - 20:15
#10
men det skal ikke være de samme ord som skal bruges i scriptet! F.eks. skal der ét sted bruges INDEX og et andet måske INDEX5
01. november 2004 - 20:31
#11
Og hvad skal der så ske? Hvis index så er display none, hvis ikke er den block - Hvilke andre muligheder har du? ;) Er ikke sikker på hvad du mener...
01. november 2004 - 20:35
#12
Jeg ville have gjort således: <?php echo 'style="display: '; if ( strpos( $_SERVER['REQUEST_URI'], 'annoncer' ) > 0 ) { echo 'show;"'; } else { echo 'none;"'; } ?> <?php echo 'style="display: '; if ( strpos( $_SERVER['REQUEST_URI'], 'artikler' ) > 0 ) { echo 'show;"'; } else { echo 'none;"'; } ?> <?php echo 'style="display: '; if ( strpos( $_SERVER['REQUEST_URI'], 'diverse' ) > 0 ) { echo 'show;"'; } else { echo 'none;"'; } ?> OSV, siger det dig noget?
01. november 2004 - 21:13
#13
Jooh hvis der er HTML imellem ;) Så kunne man måske også gøre sådan: <?php function shw( $word ) { return 'style="display: ' . ( strpos( $_SERVER['REQUEST_URI'], $word ) > 0 ? 'block' : 'none' ) . ';"; } ?> <div <?= shw('index') ?>>index</div> <div <?= shw('artikler') ?>>artikler</div> <div <?= shw('diverse') ?>>diverse</div>
01. november 2004 - 21:31
#14
god ide, får bare parse error i <div <?= shw('x') ?>>x</div> og kan ikke lige se hvor fejlen er
01. november 2004 - 22:55
#15
My bad. Du aner ikke hvor smadret jeg er :) Prøv: <?php function shw( $word ) { echo 'style="display: ' . ( strpos( $_SERVER['REQUEST_URI'], $word ) > 0 ? 'block' : 'none' ) . ';"'; } ?> <div <? shw('index') ?>>index</div> <div <? shw('artikler') ?>>artikler</div> <div <? shw('diverse') ?>>diverse</div>
02. november 2004 - 20:08
#16
Det er helt kanon! Du skulle vel ikke kunne fortælle mig hvordan man henter hele urlen fra adresselinien ned, så man f.eks. kan skrive <?php echo $url; ?> og så står der
http://www.eksperten.dk/spm/556820 :O)
02. november 2004 - 20:23
#17
echo "
http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
02. november 2004 - 20:55
#18
Hvor er det kanon ;-)
Vi tilbyder markedets bedste kurser inden for webudvikling