jleeMedlem sedan dec. 2002378 inlägg 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 Är det Itemid du menar?
if (!isset($_GET['Itemid']) || $_GET['Itemid'] == 0){
//
} else {
//
}
jleeMedlem sedan dec. 2002378 inlägg 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 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 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 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 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 <?
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 Hmm, måste vara något fel på den kodsnutten? Sidan vill inte visas nu..
Peter SMedlem sedan dec. 20025 483 inlägg Vad innehåller $_GET["Itemid"]?
jleeMedlem sedan dec. 2002378 inlägg 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 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 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 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 Nu funkar det men nu visas tyvärr flashen på alla sidor
jleeMedlem sedan dec. 2002378 inlägg 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
jleeMedlem sedan dec. 2002378 inlägg Perfekt!! Nu funkar det precis som jag ville. Tack Peter!!