Alle Browser werden als iPhone erkannt

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]
if(navigator.userAgent.indexOf(‚iphone‘) == -1)
alert(„Ein iPhone“);

</script>[/HTML]

[PHP]<?php
#Browserweiche

    •     $ua = $_SERVER['HTTP_USER_AGENT'];
      
    •     if ((strstr($ua, 'iphone') || (strstr($ua, 'ipod')))){
      
    •     header("Lokation: app/iphone/");
      
    •     } else {
      
    •     Header("Location: app/desktop/"); 
      
    •     }
      

?>[/PHP]
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.