• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Alle Browser werden als iPhone erkannt

Status
Für weitere Antworten geschlossen.

yss

Mitglied
Hallo
Ich will auf meiner Seite eine Browserweiche einbauen, welche erkennt ob es ein iPhone oder ein anderes Gerät ist, doch leider werden immer alle Browser als iPhone erkannt, egal ob ich es mit PHP oder JavaScript mache:
HTML:
<script type="application/x-javascript">
			if(navigator.userAgent.indexOf('iphone') == -1)
			alert("Ein iPhone");
		
	</script>
PHP:
<?php	
	#Browserweiche
 * *	     $ua = $_SERVER['HTTP_USER_AGENT'];
 * *	     if ((strstr($ua, 'iphone') || (strstr($ua, 'ipod')))){
 * *	     header("Lokation: app/iphone/");
 * *	     } else {
 * *	     Header("Location: app/desktop/"); 
 * *	     }
?>
Was mache ich falsch?
 
indexOf liefert die Position des gesuchten Strings im Quellstring.
-1 heißt "nicht gefunden".

Dein JavaScript gibt also "Ein iPhone" aus, wenn im userAgent nicht "iphone" drin steht.

Und im PHP-Script ist ein Tippfehler: Lokation
 
und noch was (muss nicht ein fehler sein, könnte aber mal probleme machen):

if ((strstr($ua, 'iphone')

ist case sensitiv, meldet sich ein browser mit Iphone oder iPhone wird er nicht erkannt.
verwende stristr(), dann ist deine analyse nicht von gross/kleinschreibung abhängig.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben