Cookie setzen bei PHP - was mache ich falsch
rene
- php
Hallo!
Ich möchte einen Cokkie setzen. das ganze läuft über eine include-Datei. Aber der Cookie wird einfach nicht gesetzt. Nach dem include wird eine Seite erzeugt, also Header-Informationen gesendet. Hier einmal der Quelltext. Vielleicht kann mir jemand helfen. Danke schon einmal für die Mühe.
function warenkorb ($artikelnr, $artikelname, $artikelpreis, $menge) {
include("./db.php");
$inhalt = $HTTP_COOKIE_VARS[$shopname];
$neuerInhalt = $artikelnr."&".$artikelname."&".$artikelpreis."&".$menge;
$time = time()+60*60*2;
if (!isset($shopname)) {
$gesamt = $inhalt."&".$neuerInhalt;
setcookie($shopname, $gesamt, $time, "/", "", 0);
}
else
{
$gesamt = $neuerInhalt;
setcookie($shopname, $gesamt, $time, "/", "", 0);
}
$artikelnr = "";
$artikelname = "";
$artikelpreis = "";
}
Hi,
beachtrachte doch mal diese Zeile:
if (!isset($shopname)) {
$gesamt = $inhalt."&".$neuerInhalt;
setcookie($shopname, $gesamt, $time, "/", "", 0);
$shopname ist imho leer. Verstanden? Cookies ohne Namen sind bei Browsern und PHP nichtwillkommen...
E7
Sollte dann nicht aber folgendes funktionieren:
<?php
setcookie("Name", "Inhalt");
echo "Gesetzt?";
?>
Sag mir bitte wo ich falsch bin! Hab mal wieder ein Brett vor dem Kopf. Bei diesem mini-Script passiert auch nichts. (Arbeite als localhost unter Apache 2.0.47, php 4.3.3 - Konfiguartion falsch?)
Danke noch einmal!
hi,
Sollte dann nicht aber folgendes funktionieren:
<?php
setcookie("Name", "Inhalt");
echo "Gesetzt?";
?>
ja, sollte funktionieren.
Bei diesem mini-Script passiert auch nichts.
woraus schliesst du das?
gruss,
wahsaga
woraus schliesst du das?
gruss,
wahsaga
Hallo!
Ich finde 1. keinen Cookie (über Explorer) und 2. auch mit print-r($HTTP_COOKIE_VARS) kommt auch nichts. Der Cookie kann auch nicht angesprochen werden, dass Script läuft aber Fehlerfrei durch.
hi,
Ich finde 1. keinen Cookie (über Explorer)
bitte benutze einen browser, der in der lage ist, dir den empfang eines cookies per meldung zu bestätigen. erst dann können wirbeurteilen, ob das _setzen_ des cookies klappt oder nicht.
und 2. auch mit print-r($HTTP_COOKIE_VARS) kommt auch nichts.
das ein cookie erst nach der nächsten anforderung einer ressource vom server durch den client im request header wieder mitgesendet wird, ist dir bekannt?
(auf gut deutsch: cookie setzen und in der selben instanz des scriptes wieder abfragen geht nicht.)
gruss,
wahsaga
bitte benutze einen browser, der in der lage ist, dir den empfang eines cookies per meldung zu bestätigen. erst dann können wirbeurteilen, ob das _setzen_ des cookies klappt oder nicht.
Ich benutze als Webbrowser Mozilla und habe die Einstellung "Vor dem speichern von Cookies fragen" gewählt. Aber da kommt keine Meldung.
(auf gut deutsch: cookie setzen und in der selben instanz des scriptes wieder abfragen geht nicht.)
Ja, ist bekannt.
Danke!
Hi,
die Zeit müsstest du noch als dritten Parameter angeben.
E7
Jetzt habe ich versucht, mit Sessions zu arbeiten, aber die geht auch immer verloren. Folgender Maßen gehe ich vor:
Erst Session starten, dann Variablen registrieren und dann mit den Variablen arbeiten. Aber wenn die Seite wieder neu aufgebaut wird, kommt eine neue Session-ID. Ich kapiers nicht! :-(