• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Problem mit Cookie

magifix

Neues Mitglied
Hallo,
kann mir jemand bitte sagen warum ich da kein Cookie ans Ende setzen kann.
Da wurde doch noch kein HTML-Code ausgegeben.

<?php

//das modul für Datenbanken anhängen
include "datenbank/mod_mysql.php";
//Verbindung herstellen
DB_Connect();

$query="SELECT COUNT(*) FROM objekte";
$sql=mysql_query($query);
$anzahl=mysql_result($sql,0);

$sql = "select * from objekte order by ts desc";
$result = mysql_query($sql);

$z=0;
while ($row = mysql_fetch_assoc($result)) {
$ts = $row[ts];
$id = $row[ID];
$wert[$z]=$id;
$daten=$daten.$wert[$z].",";

$z++;
}

setcookie("name",$daten);


?>
 
Sofern keine Ausgabe vor dem Setzen kam (ein Leerzeichen reicht schon um es als Ausgabe zu werten und den header zu beenden), ist dein Vorhaben richtig.

Aber bedenke: Cookies brauchen ein wenig Zeit.
Sowas würde NICHT gehen:
PHP:
<?php
setcookie("text", "hallo");

echo $_COOKIE['text'];
?>
Aus dem einfachen Grunde, weil cookies Zeit benötigen. Ich setze immer min. 2 Sekunden ein, um nach dem setzen die cookies zu lesen.

Ich hoffe, ich konnte dir helfen.

Mfg
 
Wenn Du einen Cookie per HTTP-Header setzt (setcookie), wie willst Du den auch eine beliebige Zeit später im selben Script die auslesen? Die werden doch clientseitig gesetzt und das passiert natürlich erst, wenn das PHP-Script zu Ende und an den Browser ausgeliefert ist.

!?
 
Wenn Du einen Cookie per HTTP-Header setzt (setcookie), wie willst Du den auch eine beliebige Zeit später im selben Script die auslesen? Die werden doch clientseitig gesetzt und das passiert natürlich erst, wenn das PHP-Script zu Ende und an den Browser ausgeliefert ist.

!?
Das wollte ich damit auch sagen. Hab mich ein wenig unverständlich ausgedrückt, tur mir Leid.
Das mit dem 2 Sekundenbeispiel war in meinem Kopf ein "warte script ab, ->nächstes script dann lesen". Was man natürlich auch falsch interpretieren kann ;)

Mfg
 
Zurück
Oben