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)
Sind Cookies aktiv? [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Sind Cookies aktiv?


 
andik2000
11-07-2003, 11:40 
 
Hallo,

kann ich denn irgendwie mit PHP püfen, ob der Browser eines Benutzers Cookies akzeptiert oder nicht?

Grüße,
Andi

 
Damian1984
11-07-2003, 11:43 
 
du kannst auf der nächsten Seite überprüfen, ob er auch gesetzte ist.
Falls nicht, dann liegst u 99% daran, dass der BEnutzer sie nicht aktzeptiert.

 
andik2000
11-07-2003, 11:48 
 
Nun, ich möchte ja beim Aufruf einer Seite prüfen ob der Browser Cookies überhaupt annimmt, wenn nicht, dann soll was anderes gemacht werden.

Grüße, Andi

 
Damian1984
11-07-2003, 12:30 
 
if(isset($_GET['reload']) && isset($_COOKIE['name']))
{
//mach was, wenn Cookie da ist
}
elseif(isset($_GET['reload']) && !isset($_COOKIE['name']))
{
//oder wenn er nicht da ist

}
else
{
set_cookie();
header("location:".$_SERVER['PHP_SELF']."?reload=1")
}

ist auch innerhalb einer Seite ;)
anderes wird es nicht gehen, soweit ich weiss

 
Tardan
11-07-2003, 12:35 
 
naja es sei denn java ist aktiviert dann dürfte es damit gehen, aber das ist ein anderes thema.

aber soweit ich weiß kann man nicht mit php auf die browser einstellungen zugriff und ich HOFFE das wird immer so sein!!

 
praetorian
11-07-2003, 12:44 
 
Danke der gloreichen PHP Hilfe habe ich gesehen das PHP das ganze schon für uns erledigt


$HTTP_COOKIE;

Hier die Ausgabe:
CookieTest=Dieses_Cookie_ueberprueft_ob_Ihr_Browser_Cookies_annimmt; sprache=deutsch

oder hab ich das was falsch verstanden?

 
andik2000
11-07-2003, 12:48 
 
Hmmmm,

des mit dem erneuten Laden der Seite möchte ich eigentlich vermeiden.

Hat jemand Erfahrung ob das Cookie schon beim Serverseitigen Interpretieren des PHP-Codes an den Browser geschickt wird oder erst beim Senden der kompletten Daten?

Ansonsten hätte ich mit folgendes überlegt:

<?

setcookie("mycookie", "test");
if ($mycookie){
// cookie ist aktiv
} else {
// kein cookie gesetzt
}


?>

 
andik2000
11-07-2003, 12:58 
 
Original geschrieben von praetorian
$HTTP_COOKIE;
Hier die Ausgabe:
CookieTest=Dieses_Cookie_ueberprueft_ob_Ihr_Browser_Cookies_annimmt; sprache=deutsch
oder hab ich das was falsch verstanden?

Laut Online-Handbuch gebe ich mit $HTTP_COOKIE nur ein gesetztes Cookie aus. Wenn ich also ein Cookie mit setcookie("meincookie", "123") gesetzt habe, erhalte ich auf der Folgeseite mit "print $HTTP_COOKIE["meincookie"]" als Ausgabe 123.

Ist in der php.ini REGITER_GLOBALS auf "on" gestellt, kann ich mir $HTTP_COOKIE sparen und einfach "print $meincookie" benutzen.

 
Damian1984
11-07-2003, 13:05 
 
@andik2000
http://de2.php.net/set_cookie


Häufige Probleme:


Cookies werden nicht sichtbar, bevor nicht eine Seite geladen wird, in der das Cookie sichtbar sein soll. Um zu testen, ob ein Cookie erfolgreich gesetzt wurde, prüfen Sie noch vor der Ablaufzeit auf einer weiteren Seite ob das Cookie vorhanden ist. Die Ablaufzeit wird mittels dem Parameter expire gesetzt. Eine nette Möglichkeit um die Existenz von Cookies zu prüfen, ist print_r($_COOKIE); aufzurufen.




@preatorian:

Ich glaube schon.

 
wahsaga
11-07-2003, 13:56 
 
Original geschrieben von andik2000
Hmmmm, des mit dem erneuten Laden der Seite möchte ich eigentlich vermeiden.
geht aber nicht.

bei der auslieferung der seite wird der response-header mitgesendet, der dem browser sagt das du ein cookie setzen möchtest.

beim der nächsten anforderung an den server sendet dann der browser das cookie im request-header wieder mit (sofern er's akzeptiert hat), und erst dann kannst du mit php darauf zugreifen.

 
andik2000
11-07-2003, 14:14 
 
So hab ichs fast geahnt. Dann lasse ich mir was Anderes einfallen.

Dank & Grüße,
Andi


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:48 Uhr.