Hi Marcel,
dann am Browser alle Header anzeigen lassen. Das geht beim Firefox mit der Live Headers Extension
https://addons.mozilla.org/de/firefox/addon/3829
das war noch das einzig nützliche aus deiner Antwort und
Wenn Du nun alle Pfade sortiert hast zu den Ressourcen, daran gedacht hast, dass für ein ordnungsgemäßes Cookie-Handling immer mindestens ein Pinkt in der URL sein muss (!), dann solltest Du das Handling bald verstanden haben.
wie so das sein soll verstehe ich nicht, denn localhost hat natürlich keinen Punkt, aber dennoch funktionierten in der Vergangenheit alle Cookiescripte tadellos. Tatsächlich ist es aber auch so, dass ich noch (vor Jahren, weiss gar nicht mehr wie das ging, irgendeine Datei im Windowsordner editiert)einen Domainnamen im Windows angelegt, den ich aber sehr selten nutze. Wie auch immer ob localhost oder Domain, das Problem ist das Gleiche.
------------------------------------------------
Stand der Dinge:
Irgendetwas ist kapputt gegangen mit der Pfadangabe und den Rechten.
Und das kann letztendlich nur Windows betreffen, kein Server kein Browser.
Ich kann das Problem mit 3 Dateien die ich auf minimalistische reduziert habe, darstellen.
Verezeichnis: a darin verzeichnis a1
In a liegt eine kleine PHP Datei nennet sich sinnigerweise "showcook.php" die nur das enthält:
<?php print_r($_COOKIE); ?>
In a1 liegen 2 Dateien eine heisst "cook.php" und die andere "cook2.php"
cook.php:
<?php
if($_COOKIE['countx']){$x = ($_COOKIE['countx']*1)+1;}else{$x=1;}
setcookie('countx',$x,0,'/');
print_r($_COOKIE);
?>
cook2.php:
<?php
if($_COOKIE['countmore']){$x = ($_COOKIE['countmore']*1)+1;}else{$x=1;}
setcookie('countmore',$x);
print_r($_COOKIE);
?>
----------------------------------
Der wesentlich Unterschied ist die optionale Pfadangebe bei set_cookie.
Diese war lokal bisher nie von Nöten, jetzt schon!!!
----------------------------------
Aber es kommt noch schlimmer:
Wenn ich nun die cook und cook2 ein paar mal refreshed habe hat sich der Counter logischerweise erhöht und die Cookies sind natürlich vorhanden.
Sind sie? Nicht wirklich, zumindest nicht wie es vorher war.
Rufe ich nun showcook im FF auf erhalte ich Array ( [countx] => 6 ) ,
was bedeutet FF zeigt mir nur den Cookie an, der mit der optionalen Pfadangabe gesetzt wurde.
Beim Aufruf von cook und cook2, die ja beide im selben Verzeichnis liegen, lasse ich ja auch die Cookies anzeigen, dort werden beide auf beiden Datien angezeigt.
Jetzt kommt aber auch noch der IE hinzu:
Der zeigt mir, nicht mal wie FF, ein einziges Cookie auf showcook an:
Array ( ) . cook und cook2 dort schon aber nicht unbedingt verlässlich. Will sagen, er zeigt zumindest diese beiden Dateien nur so an wie FF, wenn ich mindestens cook.php also mit Pfad aktiviert hatte, dann zeigt er beide wenn ich danach auch cook 2 besucht hatte. Zuerst cooks ein paar mal refreshed kommt nichts.
----------------------------------------------
Die Headerausgabe im FF bei der cook.php:
#################################################
http://localhost/test/a/a1/cook.php
GET /test/a/a1/cook.php HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: countmore=3; countx=5
Cache-Control: max-age=0
HTTP/1.x 200 OK
Date: Sun, 19 Apr 2009 15:39:26 GMT
Server: Apache/2.2.9 (Win32) DAV/2 mod_ssl/2.2.9 OpenSSL/0.9.8h mod_autoindex_color PHP/5.2.6
X-Powered-By: PHP/5.2.6
Set-Cookie: countx=6; path=/
Content-Length: 49
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html
########################################
bei der cook2.php:
##############################
http://localhost/test/a/a1/cook2.php
GET /test/a/a1/cook2.php HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: countmore=3; countx=6
Cache-Control: max-age=0
HTTP/1.x 200 OK
Date: Sun, 19 Apr 2009 15:42:23 GMT
Server: Apache/2.2.9 (Win32) DAV/2 mod_ssl/2.2.9 OpenSSL/0.9.8h mod_autoindex_color PHP/5.2.6
X-Powered-By: PHP/5.2.6
Set-Cookie: countmore=4
Content-Length: 49
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html
##############################
bei der showcook.php:
##########################################
http://localhost/test/a/showcook.php
GET /test/a/showcook.php HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: countx=6
Cache-Control: max-age=0
HTTP/1.x 200 OK
Date: Sun, 19 Apr 2009 15:44:33 GMT
Server: Apache/2.2.9 (Win32) DAV/2 mod_ssl/2.2.9 OpenSSL/0.9.8h mod_autoindex_color PHP/5.2.6
X-Powered-By: PHP/5.2.6
Content-Length: 28
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html
##########################################
Das Riesenproblem dabei ist natürlich auch noch, dass nun sehr viele Scripte(auch Fremdscripte) nicht mehr laufen. Denn in der Regel werden dort bei Cookie angaben nicht die Optionalen Parameter genutzt.
Es steht aber für mich nun ausser Zweifel, dass etwas im Windows kapputt ist. Ich frage mich wie sich sowas auf einem Windowsserver im Netz auswirken könnte, aber egal ist ja jetzt nicht das Thema.
Wo muss bei Windos ansetzen um den Fehler zu finden?
Mike