empty()
Sp33dy G0nz4l3s
- php
Hi,
ich habe ein Problem mit diesem Code:
//Counter
if (empty($_COOKIE["hits"])){
setcookie("hits");
$sql = "UPDATE cocktails SET hits = hits + 1 WHERE name='".mysql_real_escape_string(str_replace("_", " ", $_GET['cocktail'])).
"'";
$result = mysql_query($sql);
}
///Counter
Das Problem ist, das PHP nicht erkennt wenn der Cookie gesetzt wurde.
Mir der Funktion empty() versuche ich zu prüfen ob der cookie existiert oder nicht.
Hoffe das ihr mir helfen könnt.
Danke
Hallo Sp33dy.
Mir der Funktion empty() versuche ich zu prüfen ob der cookie existiert oder nicht.
Mit Cookies habe ich noch nie gearbeitet, aber vielleicht ist isset eher das, was du suchst.
Einen schönen Samstag noch.
Gruß, Mathias
Hallo Sp33dy.
Mir der Funktion empty() versuche ich zu prüfen ob der cookie existiert oder nicht.
Mit Cookies habe ich noch nie gearbeitet, aber vielleicht ist isset eher das, was du suchst.
Einen schönen Samstag noch.
Gruß, Mathias
Danke für eure Antworten.
Ich habe es jetzt einmal mit isset verscucht. Es geht allerdings auch nicht. Stimmt der Code so?
//Counter
if (isset($_COOKIE["hits"]) && $_COOKIE["hits"] != "yes"){
setcookie("hits", "yes");
$sql = "UPDATE cocktails SET hits = hits + 1 WHERE name='".mysql_real_escape_string(str_replace("_", " ", $_GET['cocktail'])).
"'";
$result = mysql_query($sql);
}
///Counter
Hi!
//Counter
if (empty($COOKIE["hits"])){
setcookie("hits");
$sql = "UPDATE cocktails SET hits = hits + 1 WHERE name='".mysql_real_escape_string(str_replace("", " ", $_GET['cocktail'])).
"'";
$result = mysql_query($sql);
}
///Counter
>
> Das Problem ist, das PHP nicht erkennt wenn der Cookie gesetzt wurde.
> Mir der Funktion empty() versuche ich zu prüfen ob der cookie existiert oder nicht.
Wenn die Annahme von Cookies zugelassen ist, dann existiert dein Cookie nach der Ausführung dieses Codes wohl, aber vermutlich steht in $\_COOKIE["hits"] nichts drin...
Du schreibst ja gar keinen Wert in das Cookie. Oder tust du das irgendwo anders?
Ich sehe nur ein Update in deiner Datenbank.
Bei diesem Code wird die Funktion empty() immer true zurückgeben.
Schau dir im PHP-Handbuch mal die Funktion [setcookie()](http://de.php.net/setcookie) an.
Wenn du möchtest, daß in deinem Cookie auch was drin steht, dann mußt du mit dem zweiten Parameter auch einen Wert übergeben.
Schöner Gruß,
rob