JS erkennungs Problem

redX

Erfahrenes Mitglied
Also ich habe ein Simples Script, welches testen soll ob JS aktiviert ist.

PHP:
<?php
if (!$_GET["check"]) {
?> 
<html> 
	<head> 
		<meta http-equiv="refresh" content="0,url=index.php?check=2"> 
		<script type="text/javascript"> 
			top.location.href="index.php?check=1"; 
		</script> 
	</head>	
</html> 
<?php
}
else {
?>
<html>
meine Seite
</html>
<?php
}
?>

Jetzt funktioniert das ganze, wenn JS aktiv ist, jedoch wenn JS deaktiviert ist hat es einen Endlos loop. Weniger angenehm. Habe es nur mit Opera getestet und dort besteht das Problem. Zu sehen auf http://www.simonlang.ch. Besteht das Problem bei euch auch wenn ihr JS deaktivert habt, und wisst ihr was man dagegen tun kann?

MFG
redX
 
Probier mal die Variable $_GET['check'] auf dessen numerischen Wert zu prüfen, nicht nur auf dessen boolschen Wert.
 
Habe die Zeile mal auf folgendes geändert:

if ($_GET['check'] != 1 && $_GET['check'] != 2) {

Aber der Loop bleibt...

MFG
redX
 
Was heisst disjunktiv?

Habe es auch noch mit dem IE6 getestet. Geht auch nicht.

Hey Ceraph
Mit was für einem Browser hast du es denn getestet?

MFG
redX
 
Also genau das gleiche mit einer oder Verknüpfung mache endet es logischerweise mit & ohne JS in einem Loop. Vieleicht habe ich es auch nur falsch verstanden.

Wenn ich das ganze ohne JS mache geht es wie gesagt in den Loop. Der Link in der Adresszeile bekommt aber auch gar nie einen Parameter. Also check=2 wird gar nie an angehängt. Keinen Plan wieso..

Ceraph hat gesagt.:
Bei mir funktionieren beide Versionen unter Firefox einwandfrei!
Oops, sorry!.

MFG
redX
 
Da das alles recht stark nach dem Code aussieht den ich hier zu einem Tutorial zusammengestrickt hab moechte ich natuerlich auch kurz dazu aeussern.
Zugegeben, mit Opera habe ich das Script glaub ich nicht getestet, aber mit Konqueror, Mozilla und IE. Opera hab ich nur im Buero drauf, und da ich das von daheim gepostet (und auch dort geschrieben) hab konnte ich es "nur" mit den genannten Browsern testen.
In Aktion kann man mein Script auch sehen, daher bitte ich darum das mit allen verfuegbaren Browsern mal zu testen. Wenn Ihr auf meine Website geht wird das Script als erstes gestartet.
Es wird einmal fuer jede Session gestartet, wenn Ihr also JavaScript (de)aktiviert muesst Ihr den Browser neu starten damit erneut getestet wird. Die Session wird nur beim Logout gekillt, was aber nur moeglich ist wenn man sich auch eingeloggt hat. (logisch, nicht?)
Es kann uebrigens schonmal dazu kommen, dass die Seite mit einer Fehlermeldung um sich wirft da ich den Session-Path aendere. Das muss ich machen damit alles so funktioniert wie ich das will. ;) Falls Ihr auf diesen Fehler stosst einfach Reloaden, dann geht's in der Regel.
Bisher weiss ich noch nicht warum dieser Fehler manchmal auftritt, ich nehme an, dass das Problem eher beim Provider als bei mir liegt da ich die Website in 2 lokalen Umgebungen getestet habe und keine Probleme hatte.
Falls dazu jemand was weiss, immer her mit den Informationen. :)
Weiterhin gibt's dort in der Section PHP-Scripts auch das Script in seiner urspruenglichen Form, als 2 Scripts. Eines fuer Cookies und eines fuer JavaScript. Und ohne MySQL, wie ich's im Tutorial und im Einsatz auf der Website hab.
 
Zuletzt bearbeitet:
Zurück