Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Cookie wird nicht gesetzt [hab schon gesucht] [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Cookie wird nicht gesetzt [hab schon gesucht]


 
Rufus Shinra
22-03-2005, 13:36 
 
+--------------------------------------------------------------------
| {Local}
| System: Win XP Prof
| Server: Apache/1.3.27 / Mysql 4.0.13
| PHP: PHP 5.0.3 [Apache module]
| {Internet}
| System: Linux dd3022 2.4.20-4GB-athlon #1
| Server: Apache/1.3.31 / Mysql 4.0.23
| PHP: PHP 4.3.10 [Apache module]
+--------------------------------------------------------------------

Local funzt es nicht auf dem server schon? :confused:
hat sich im bereich Cookie soviel verändert von php4.3.10 -» PHP5.0.3

Gibt es eine einstellung in der PHP.ini die man vor nehmen muss?

Es kommen Local nur 2 Meldungen:
Notice: Undefined index: action in c:\apache\htdocs\shq\cookie\test.php on line 3

Notice: Undefined index: TestCookie in c:\apache\htdocs\shq\cookie\test.php on line 7


Internet Server keine Fehler Meldungen.

<?php
$value = "Das ist ein Test!";
if($_GET['action'] == "del") {
/* Löschen des cookies */
setcookie("TestCookie", $value, time()-3600);
echo "Das Cookie wurde soebend gelöscht!<br>";
echo "<a href=\"?action=set\">Cookie setzen</a>";
} else if($_COOKIE['TestCookie'] != "") {
/* Prüfung ob cookie bereits vorhanden */
echo "Das Cookie wurde bereits gesetzt!<br>";
echo "Cookie: ".$_COOKIE['TestCookie']."<br>";
echo "<a href=\"?action=del\">Cookie löschen</a>";
} else {
/* cookie wird gesetzt */
setcookie("TestCookie", $value, time()+3600); /* verfällt in 1 Stunde */
echo "Das Cookie wurde soebend gesetzt!<br>";
echo "<a href=\"javascript:self.location.href=self.location.href;\">Aktualisieren</a>";
}
?>

 
TobiaZ
22-03-2005, 13:39 
 
Wie wäre es, wenn du erstmal die fehler die angezeigt werden, behebst?

 
penizillin
22-03-2005, 13:39 
 
Undefined index bedeutet aktion mit einem nicht gesetzten element eines arrays, überprüfe erstmal seine existenz, bevor du es verwendest.

 
Rufus Shinra
22-03-2005, 13:48 
 
Das Spielt keine rolle das action leer ist da es nur zum löschen des
cookies gebraucht wird und wenn es nicht gesetzt ist wird es übergangen!

if($_GET['action'] == "del") {

und das TestCookie leer ist, ist auch egal weil noch kein cookie gesetzt wurde und es so auch übergangen wird.

} else if($_COOKIE['TestCookie'] != "") {

Desweiteren sind es keine Fehler sondern nur Notizen das die variablen leer sind.

 
penizillin
22-03-2005, 13:52 
 
es ist schön, dass du es besser weißt - deine frage wurde beantwortet - wenn du nicht darauf eingehen willst, ist es natürlich dein recht.

E_ALL ist eine praktische sache, hat aber auswirkung auf die header-setzung. lies mal irgendwas darüber - dann siehst du deinen fehler.

 
Rufus Shinra
22-03-2005, 13:54 
 
ich habe es mit (display_errors = Off) schon probiert
dann kommt keine ausgabe vor dem setcookie

 
TobiaZ
22-03-2005, 13:56 
 
Original geschrieben von Rufus Shinra
ich habe es mit (display_errors = Off) schon probiert
dann kommt keine ausgabe vor dem setcookie Aha? :confused:

 
penizillin
22-03-2005, 14:00 
 
sollte dein "else if" evtl. ein "elseif" sein?

 
Rufus Shinra
22-03-2005, 14:06 
 
ja sollte ein elseif

habe es auch schon ohne abfragen probiert.

setcookie("TestCookie", $value, time()+3600); /* verfällt in 1 Stunde */
echo "Das Cookie wurde soebend gesetzt!<br>";
echo "<a href=\"javascript:self.location.href=self.location.href;\">Aktualisieren</a>";

aber in keinen von beiden Fällen wird das cookie gesetzt wenn ich es local versuche nur wenn ich es über meinen internet server mache geht es!

http://scripte.shinrahq.net/test.php

 
penizillin
22-03-2005, 14:11 
 
browsereinstellungen? versuchs mit einem anderen browser.

 
TobiaZ
22-03-2005, 14:12 
 
testausgaben?

 
Rufus Shinra
22-03-2005, 14:17 
 
browsereinstellungen? versuchs mit einem anderen browser.

Daran hatte ich auch schon gedacht hatte es mit firefox und IE versucht aber bei beiden gingen die cookies nur über den internet server zu setzen aber nicht local.

habe beim firefox sogar eine sonder erlaubnis für die locale domain eingestellt.

testausgaben?

Die gibt es ja bei dem script ganz oben.

1. cookie setzen
2. auslesen
3. löschen

das problem besteht seit dem ich von php 4.3.7 auf 5.0.3 gewechselt habe.

 
penizillin
22-03-2005, 14:25 
 
meldet E_ALL lokal das gleiche - undefined index?
print_r($_COOKIE);// angeschaut?
$erfolg = setcookie(...);
if($erfolg) ... //probiert?

 
Rufus Shinra
22-03-2005, 14:35 
 
meldet E_ALL lokal das gleiche - undefined index?
ja

print_r($_COOKIE);// angeschaut?
print_r ausgabe:
Array ( )

meine PHP.ini
Klick hier (http://scripte.shinrahq.net/php.txt)

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:12 Uhr.