Cookies erlaubt?

Benzol

Erfahrenes Mitglied
Ich würde gerne mit php überprüfen, ob der Browser Cookies aktiviert hat. Ich habe schon etwas bei de.comp.lang.php.* FAQ gelesen über ein Fallback oder sowas aber irgentwie bin ich :confused:
Das ist glaube ich nicht so ganz das, was ich wollte. Ich möchte quasi gleich beim ersten Laden wissen, ob der Brwoser Cookies aktiviert hat. Mein Chef wollte jetzt noch eine Tunnelseite mit unserem Logo haben, jenes habe ich jetzt über Cookies gelöst. Also der Besucher kommt, das Logo wird gezeigt. Er klickt auf das Logo und kommt auf die Seite. Wenn Cookies erlaubt sind, geht es. Wenn sie gesperrt sind, logischerweise nicht :)
Über Sinn und Unsinn von Tunnelseiten brauchen wir bitte nicht zu diskutieren... würde mich freuen, wenn jemand eine Zündende Idee... weil ich weiss grade nicht weiter.
haut rinn,
Benzol
 
Versuch ein Cookie zu setzen und es gleich wieder auszulesen. Scheitert das Auslesen kannst du davon ausgehen, dass Cookies deaktiviert sind.
 
Moritz123 hat gesagt.:
Versuch ein Cookie zu setzen und es gleich wieder auszulesen. Scheitert das Auslesen kannst du davon ausgehen, dass Cookies deaktiviert sind.
Das kannst Du so nicht machen, denn bevor der Cookie gelesen werden kann muss die die Seite erst neu geladen werden.
php.net hat gesagt.:
Once the cookies have been set, they can be accessed on the next page load with the $_COOKIE or $HTTP_COOKIE_VARS arrays.

Hab dafuer schon ein Script hier rumliegen, das kommt auch so in abgewandelter Form auf meiner HP zum Einsatz.

cookiecheck.php
PHP:
<?
if (!$_GET["check"])
	{
		setcookie("test","test",time()+3600);
		header("Location: cookiecheck.php?check=1");
	}
else
	{
		if ($_COOKIE["test"]=="test")
			{
				$cookies=true;
			}
		else
			{
				$cookies=false;
			}
		setcookie("test","test",time()-3600);
	}
?>
<html>
<body>
<?
if ($cookies==true)
	{
		printf("Cookies are enabled<br>");
	}
else
	{
		printf("Cookies are disabled<br>");
	}
?>
<a href="cookiecheck.php">Check if cookies are enabled</a>
</body>
</html>
 
In deinem Script ist es aber dann auch so, das die Seite quasi neugeladen werden muss, dammit man überhaupt erst Daten bekommen kann, oder Irre ich da?
 
Das ist bei PHP nunmal so, Du kannst einen Cookie nicht setzen und gleich wieder auslesen. Der Grund steht in meinem vorherigen Post und auch in der Beschreibung von setcookie() auf php.net
 
Bestünde die Möglichkeit mit Javascript ein Cookie zu setzen und es mit PHP auszulesen, ohne die Seite neuladen zu müssen? Oder verhält es swich hier genau so?
 
Keine Ahnung, JavaScript hab ich mir abgewoehnt.
Aber wo liegt das Problem daran, dass das Script die Seite neu laedt?
 
Ich weiss nicht, finde diese Lösung ein bisschen uncool, wenn du verstehst was ich mein. ;-) Lassen sich Cookies, die per JS gesetzt wurden, auch von php auslesen?
 
Benzol hat gesagt.:
Ich weiss nicht, finde diese Lösung ein bisschen uncool, wenn du verstehst was ich mein. ;-)
Ich versteh nicht was Du meinst. Was ist daran uncool
Benzol hat gesagt.:
Lassen sich Cookies, die per JS gesetzt wurden, auch von php auslesen?
Das sollte kein Problem sein, Cookies sind Cookies.
Ich weiss aber nicht ob man auch bei JS nicht erst die Seite neu laden muss, damit der Cookie gelesen werden kann.

Das Problem bei JS ist halt immer, dass es im Browser deaktiviert sein kann.

Dafuer hab ich bisher leider noch keine zuverlaessige Loesung gefunden das zu ueberpruefen.
Aber ich hab schon einen Ansatz dafuer im Kopf.
 
Zurück