Folgender Code:
if(($\_COOKIE["popup1"]=false)AND($\_COOKIE["popup2"]=false)AND($\_COOKIE["popup3"]=false))
{
$zahl = rand (0,1);
if ($zahl0.33) AND ($zahl
Die Cookies sind ja nicht gesetzt also müsste doch die innere Bedingung ausgeführt werden und ein Popup erscheinen. Was mache ich falsch?
Mal die Gesamtsituation:
popup.php
<?php $id = true;<br />switch($id)
{
default:
if(($\_COOKIE["popup1"]=false)AND($\_COOKIE["popup2"]=false)AND($\_COOKIE["popup3"]=false))
{
$zahl = rand (0,1);
if ($zahl\<=0.33)
{
$popup = "window.open('index.php5?s=41&id=1','Veranstaltungen', 'width=250, height=580')";
setcookie("popup1", "");
}
elseif(($zahl\>0.33) AND ($zahl
Diese wird in eine andere Datei included. Im zugehörigen template wird dann $popup per JS ausgeführt.
Hallo,
Vergleiche führt man mit == oder === (zusätzliche Typprüfung) durch, nicht mit =. if ($_COOKIE[‚popup1‘]=false) wird deshalb nicht so funktionieren, wie Du es willst. Überprüfe die Cookies am besten mit isset: if (!isset($_COOKIE[‚popup1‘])…
Nach dem „case 1“ steht ein Semikolon anstatt eines Doppelpunkts.
Der Sinn des restlichen Programms erschließt sich mir nicht. Mit ${‚titel‘.$i}=… kannst Du übrigens Variablen dynamisch adressieren und mit list(${‚titel‘.$i}, ${‚weekday‘.$i}, …) = mysql_fetch_row($result) würde das Programm so ca. um 2/3 kürzer. Aber optimieren kannst Du dann wenn es so läuft wie Du möchtest.
Ciao
Rudy
Danke, aber hab das ganze nun gelöst. Ist mir dann auch aufgefallen, dass da nur ein „=“ war. Der Code funktioniert wie ich will.
Die Optimierung…ja ist mir klar. Ist auch schon etwas alter code und der musste mal schnell her sozusagen.
Neues Script:
<?php if(isset($_GET['id']))<br />{
$id = $\_GET['id'];
}
else
{
$id = "default";
}
switch($id)
{
default:
//Falls kein Popup erschienen
if((empty($\_COOKIE["popup1"]))AND(empty($\_COOKIE["popup2"]))AND(empty($\_COOKIE["popup3"])))
{
$zahl = rand (0,1);
if ($zahl\<=0.2)
{
$popup = "window.open('index.php5?s=41&id=1','Veranstaltungen', 'width=250, height=580')";
setcookie("popup1", "true");
}
elseif(($zahl\>0.2) AND ($zahl
Hab alle Meldungen zu undefined var und index weg und die Funktion sollte recht stabil laufen. Schade nur, dass ich es mit meiner Unkenntnis so umständlich machen musste.