webForumDet fria alternativet

Kolla om index=0

24 svar · 1 476 visningar · startad av jlee

jleeMedlem sedan dec. 2002378 inlägg
#1

Hur kan jag skriva detta rätt?
Vill kolla om indexsidan inte har något id eller id=0 och då vill jag visa ett helt javascript annars vill jag visa en bild bara.
Hur får jag detta rätt?
Antar att villkoret i if satsen måste skrivas på ett visst sätt?!

<?php

if (index.php?option=com_frontpage&Itemid=0 ) {

visa ett javascript här...

} else {

en bild

}
?>

Peter SMedlem sedan dec. 20025 483 inlägg
#2

Är det Itemid du menar?

if (!isset($_GET['Itemid']) || $_GET['Itemid'] == 0){
  //
} else {
  //
}
jleeMedlem sedan dec. 2002378 inlägg
#3

Ja det är det men hur kan jag presentera ett javascript om det är sant? Är det bara att lägga in det med <SCRIPT LANGUAGE=JavaScript1.1> + hela scriptet? då eller?

KrikoMedlem sedan dec. 2006382 inlägg
#4

Japp. JavaScript är klientexekverat och köra således efter att PHP-koden exekverats.
Är if-satsen falsk kommer aldrig javascriptet skickas till klienten.

Peter SMedlem sedan dec. 20025 483 inlägg
#5

Det finns väl olika sätt att göra det på. Ett kan vara:

if (){
  include "fil.js";
} else {
  //
}

Ett annat är att använda echo "<script...";

SpinxMedlem sedan nov. 200321 inlägg
#6

Enklast för nybörjare är att separera php och html/js:

<?
if (isset($_GET['Itemid']) && $_GET['Itemid'] != 0){
    ?>
    <script>/*Javascript här!*/</script>
    <?
} else {
    ?>
    Här körs inget javascript!
    <?
}
?>

Det är inte nödvändigt att använda else.

Om du inte vill att nånting ska hända om id inte är större än 0 så kan du använda detta:

<?
if (isset($_GET['Itemid']) && $_GET['Itemid'] != 0){
    ?>
    <script>/*Javascript här!*/</script>
    <?
}
?>
jleeMedlem sedan dec. 2002378 inlägg
#7

Tusen tack!!!

jleeMedlem sedan dec. 2002378 inlägg
#8

En följdfråga på denna tråd är om jag vill kolla en hel url istället, hur skriver jag då i php för att kolla dessa 2 samtidigt:

http://www.sajten.se/index.php
http://www.sajten.se/index.php?option=com_frontpage&Itemid=60

Peter SMedlem sedan dec. 20025 483 inlägg
#9
<? 
if (isset($_GET['Itemid']) && preg_match('/^http:\/\/www\.sajten\.se\/index\.php(?:\?option=com_frontpage&Itemid=60)?$/', $_GET['Itemid']) != 0){ 
    ?> 
    <script>/*Javascript här!*/</script> 
    <? 
} 
?>

If-satsen körs om $_GET['Itemid'] matchar någon av adresserna.

jleeMedlem sedan dec. 2002378 inlägg
#10

Hmm, måste vara något fel på den kodsnutten? Sidan vill inte visas nu..

Peter SMedlem sedan dec. 20025 483 inlägg
#11

Vad innehåller $_GET["Itemid"]?

jleeMedlem sedan dec. 2002378 inlägg
#12

Ett visst id innehåller ett visst innehåll. Så om dessa (http://www.sajten.se/index.php
http://www.sajten.se/index.php?opti...tpage&Itemid=60)
uppfylls så ska jag visa en flash annars en bild bara.
Tog fel....nu visas bilden även på dessa id

Peter SMedlem sedan dec. 20025 483 inlägg
#13

Det är inte $_SERVER["HTTP_REFERER"] du vill kolla i efter adresserna?

(Jag har gjort en liten ändring i kodstycket ovan.)

jleeMedlem sedan dec. 2002378 inlägg
#14

Ok, det är fortfarande bilden som visas bara. Vet inte om det är $_SERVER["HTTP_REFERER"] jag vill kolla.
Det jag är ute efter är om någon av dessa exakta url´s visas så visa flash

Peter SMedlem sedan dec. 20025 483 inlägg
#15

Så här kanske:

<? 
if (preg_match('/^http:\/\/www\.sajten\.se\/index\.php(?:\?option=com_frontpage&Itemid=60)?$/', 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']) != 0){ 
    ?> 
    <script>/*Javascript här!*/</script> 
    <? 
} 
?>
jleeMedlem sedan dec. 2002378 inlägg
#16

Nu funkar det men nu visas tyvärr flashen på alla sidor

jleeMedlem sedan dec. 2002378 inlägg
#17

Ett exempel på en annan sidas avslutning i url´n för att underlätta kanske: /index.php?option=com_content&task=view&id=12&Itemid=85&Itemid=106

Peter SMedlem sedan dec. 20025 483 inlägg
#18

Inlägget ovan ändrat. :)

jleeMedlem sedan dec. 2002378 inlägg
#19

Perfekt!! Nu funkar det precis som jag ville. Tack Peter!!

Peter SMedlem sedan dec. 20025 483 inlägg
#20

:bire

138 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)