Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Entwickler>setcookie()

setcookie()

apple4ever
apple4ever03.06.0614:52
ich habe ein problem. irgendwie will der bei mir auf einer seite kein cookie setzen!

mein quelltext:

$time = time()+ 3600 * 24 * 3650;
setcookie("Musikverein-Langscheid-Login-Name", $user, $time);
setcookie("Musikverein-Langscheid-Login-Passwort", $pas, $time);

der fehler:

Warning: Cannot modify header information - headers already sent by (output started at /Library/WebServer/Documents/musik/index.php:23) in /Library/WebServer/Documents/musik/informationen/tele.php on line 45

Warning: Cannot modify header information - headers already sent by (output started at /Library/WebServer/Documents/musik/index.php:23) in /Library/WebServer/Documents/musik/informationen/tele.php on line 46
0

Kommentare

Rantanplan
Rantanplan03.06.0615:07
Warum probierst du nicht zuerst danach zu Googeln?!? Das geht viel schneller:
„Wenn ich nicht hier bin, bin ich auf dem Sonnendeck“
0
apple4ever
apple4ever03.06.0615:27
das stimmt aber nicht was da steht, erstens, ich habe keinen header() befehl, zweitens in der zeile 23 in index.php ist kein echo und auch nicht davor oder da nach
0
Rantanplan
Rantanplan03.06.0615:29
So so. Na wenn du meinst.
„Wenn ich nicht hier bin, bin ich auf dem Sonnendeck“
0
hoshbad
hoshbad03.06.0616:52
1. Wie wäre es mit einem 5-sekündigen Blick ins PHP Manual?
setcookie() definiert ein mit den HTTP Header-Informationen zu übertragendes Cookie. Wie andere Header auch, müssen Cookies vor jeglicher Ausgabe Ihres Skriptes gesendet werden (dies ist eine Einschränkung des Protokolls). Das bedeutet, dass Sie diese Funktione aufrufen müssen, bevor Sie eine Ausgabe, dazu zählen auch <html>- oder <head>-Tags sowie jede Art von Whitespaces, übermitteln. Erfolgt eine Ausgabe vor dem Aufruf dieser Funktion, wird setcookie() fehlschlagen und gibt FALSE zurück. Wenn setcookie() erfolgreich durchgeführt wird, wird TRUE zurückgegeben. Dies sagt jedoch nichts darüber aus, ob der Benutzer das Cookie auch akzeptiert hat.

2. Vielleicht hilft ein Buch über PHP oder ein PHP-Forum.

3. Du willst nicht wirklich ein Passwort in einem Cookie speichern? Reicht ja schon, wenn Mendel alles in Cookies speichert...Ist einfach keine geeignete Ablage für sowas.
0
apple4ever
apple4ever03.06.0621:52
DANKE seaside!!!!
es geht!!!!!!
0
Rantanplan
Rantanplan03.06.0622:20
Tja, sag ich ja. Aber erstmal rummaulen.
„Wenn ich nicht hier bin, bin ich auf dem Sonnendeck“
0
apple4ever
apple4ever03.06.0623:57
ich brauchte eine lösung und keine erklärung des problems!

aber trotzdem danke
0
Harun03.06.0618:45
ich würde da lieber mit sessions arbeiten und ein längerfristiges speichern von Login Daten nicht anbieten, ist einfach ein Sicherheitsrisiko für die Nutzer...
0
seaside03.06.0619:45
apple4ever<br>
das stimmt aber nicht was da steht, erstens, ich habe keinen header() befehl, zweitens in der zeile 23 in index.php ist kein echo und auch nicht davor oder da nach

Auch wenn kein ECHO Befehl im Programm steht, kann es zu einem Problem kommen: Nämlich dann, wenn vor dem erste <?PHP irgendein Zeichen steht - z.B. Leerzeichen oder Zeilenumbruch.

Setcookie() führt irgend einen setheader() Befehl aus. Insofern gelten Kommentare für setheader() auch hier.

Mit ob_start() kann am Anfang eine Skripts kannst stellt Du PHP so ein, dass Du jederzeit - auch wenn schon Daten ausgegeben wurden, noch Header setzen kannst.

Dieses Verhalten kannst Du auch in der php.ini setzen: outbut_buffering auf ON setzen.
0
seaside03.06.0619:46
Setcookie() führt irgend einen setheader() Befehl aus.

.. sollten lauten ...

Setcookie() führt intern einen setheader() Befehl aus.
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.