If-Schleife mit Cookies wird nicht ausgeführt

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.