Hallo Forum,
ich habe ein Snippet geschrieben, welches bei jedem Reload einer Seite, genauso wie beim Springen zu einer anderen Seite im Rotationsverfahren einen Gif-Banner anzeigen soll.
Beispiel: gegeben eine Website mit 10 Seiten (Startseite + neun Unterseiten) und 4 verschieden Banner. Nun soll beim ersten Aufruf der Website Banner1 gezeigt werden. Beim Sprung auf eine der Unterseiten dann Banner2, beim nächsten Sprung Banner3 usw. Nach Banner4 folgt dann logisch wieder Banner1. ich hoffe ich habe mich verständlich ausgedrückt!?
So nun habe diese Aufgabenstellung als PHP-Rookie versucht mit Sessions oder Cookies zu lösen. Beide funktioniert bei mir lokal (nicht in Modx eingebunden, sondern ganz normal als PHP-Seite im Apache) aber leider nicht als Snippet auf dem Produktions-Server. Warum???
Hier mein Code zum lokalen Test (Cookie-Variante):
<?php
if(!isset($_COOKIE["banner"]))
{
$count=(int)1;
setcookie("banner",$count,time()+(30*24*60*60));
echo"<img src='images/banner".$_COOKIE["banner"].".gif' witdh='700' height='147' alt='Banner' title='Banner' />";
}
else {
if($_COOKIE["banner"]<4)
{
$count=(int)$_COOKIE["banner"]+(int)1;
setcookie("banner",$count,time()+(30*24*60*60));
echo"<img src='images/banner".$_COOKIE["banner"].".gif' witdh='700' height='147' alt='Banner' title='Banner' />";
}
else {
$count=(int)1;
setcookie("banner",$count,time()+(30*24*60*60));
echo"<img src='images/banner".$_COOKIE["banner"].".gif' witdh='700' height='147' alt='Banner' title='Banner' />";
}
}
?>
Session-Variante:
<?php
session_start();
if(!isset($_SESSION["banner"]))
{
$_SESSION["banner"]=(int)1;
echo"<img src='images/banner".$_SESSION["banner"].".gif' witdh='700' height='147' alt='Banner' title='Banner' />";
}
else {
if($_SESSION["banner"]<4)
{
$_SESSION["banner"]+=(int)1;
echo"<img src='images/banner".$_SESSION["banner"].".gif' witdh='700' height='147' alt='Banner' title='Banner' />";
}
else {
$_SESSION["banner"]=(int)1;
echo"<img src='images/banner".$_SESSION["banner"].".gif' witdh='700' height='147' alt='Banner' title='Banner' />";
}
}
?>
Und hier das Snippet (Session-Variante):
session_start();
if(!isset($_SESSION["bannerwahl"]))
{
$_SESSION["bannerwahl"]=(int)1;
echo"<img src='assets/images/banner".$_SESSION["bannerwahl"].".gif' witdh='700' height='147' alt='Banner' title='Banner' />";
}
else
{
if($_SESSION["bannerwahl"]<4)
{
$_SESSION["bannerwahl"]+=(int)1;
echo"<img src='assets/images/banner".$_SESSION["bannerwahl"].".gif' witdh='700' height='147' alt='Banner' title='Banner' />";
}
else
{
$_SESSION["bannerwahl"]=(int)1;
echo"<img src='assets/images/banner".$_SESSION["bannerwahl"].".gif' witdh='700' height='147' alt='Banner' title='Banner' />";
}
}
Ich hoffe irgendwer kann die Dunkelheit lichten!?
Lieben Gruß aus Hannover, Alex