Albert: Korrektur des php-scriptes

Hallo Leute, es geht mir schlicht um eine Browserweiche nur für den IE (bis einschliesslich Version 10), ich möchte bei diesen Browsern auf eine html Unterseite weiterleiten worauf hingewiesen wird das sie ihren Browser aktualisieren. Zur zeit habe ich dieses hier, es ist aber bestimmt noch nicht korrekt:

<?php 
    $IE6 = (ereg('MSIE 6',$_SERVER['HTTP_USER_AGENT'])) ? true : false;
    $IE7 = (ereg('MSIE 7',$_SERVER['HTTP_USER_AGENT'])) ? true : false;
    $IE8 = (ereg('MSIE 8',$_SERVER['HTTP_USER_AGENT'])) ? true : false;
    $IE8 = (ereg('MSIE 9',$_SERVER['HTTP_USER_AGENT'])) ? true : false;
    $IE8 = (ereg('MSIE 10',$_SERVER['HTTP_USER_AGENT'])) ? true : false;

if (($IE6 == 1) || ($IE7 == 1) || ($IE8 == 1 || ($IE9 == 1 || ($IE10 == 1)) {
    header("Location: http://www.meinewebseite.de/noie.html");
    exit;

} else { ?>
// mache hier normal mit html weiter...
<?php } ?>

Grüsse Albert

  1. Hallo

    es geht mir schlicht um eine Browserweiche nur für den IE (bis einschliesslich Version 10), ich möchte bei diesen Browsern auf eine html Unterseite weiterleiten worauf hingewiesen wird das sie ihren Browser aktualisieren.

    Wo soll man da anfangen.

    1. Der User-Agent-String ist nicht verlässlich.
      • Er kann gegenüber dem Standardwert des Browsers geändert worden sein
      • Er kann nicht vorhanden sein.
    2. Die Funktion ereg wie auch alle anderen POSIX-Regex-Funktionen sind seit PHP 5.3 deprecated (siehe Doku zur Funktion, Warnung). Sie ist nur in PHP4 und PHP5 enthalten. Geht dein Hoster auf PHP7, funktioniert dein Skript nicht mehr.
    3. Eine Nachricht, die zum Update des Browsers auffordert, sagt „Um Euch kümmere ich mich nicht.“. Es kann für die Funktion einer Seite natürlich erforderlich sein, dass die Browser bestimmte Features unterstützen. Oftmals ist es aber die Faulheit der Entwickler, Basisfunktionen, mit denen der Zweck der Seite auch ohne die neuesten Browserversionen grundsätzlich erfüllt wird, bereitzustellen. Es sei daher die Frage erlaubt, warum du meinst, Benutzer älterer Browserversionen ausschließen zu müssen?

    Tschö, Auge

    --
    Wo wir Mängel selbst aufdecken, kann sich kein Gegner einnisten.
    Wolfgang Schneidewind *prust*
    1. Ich wollte keine Diskussion über den Sinn und Zweck entfachen, sondern schlicht einfach nur diese Information erhalten. Gut, eine Info habe ich: die Funktion ereg ist "veraltet", d.h. soll ich sie mit preg_match ersetzen?

      Also so?

      <?php 
          $IE6 = (preg_match('MSIE 6',$_SERVER['HTTP_USER_AGENT'])) ? true : false;
          $IE7 = (preg_match('MSIE 7',$_SERVER['HTTP_USER_AGENT'])) ? true : false;
          $IE8 = (preg_match('MSIE 8',$_SERVER['HTTP_USER_AGENT'])) ? true : false;
          $IE8 = (preg_match('MSIE 9',$_SERVER['HTTP_USER_AGENT'])) ? true : false;
          $IE8 = (preg_match('MSIE 10',$_SERVER['HTTP_USER_AGENT'])) ? true : false;
      
      if (($IE6 == 1) || ($IE7 == 1) || ($IE8 == 1 || ($IE9 == 1 || ($IE10 == 1)) {
          header("Location: http://www.meinewebseite.de/noie.html");
          exit;
      
      } else {} ?>
      
      // mache hier normal mit html weiter...
      
      html
      body
      
      ...
      
      Gruss Albert
      

      [Vollzitat entfernt]

      1. Hallo,

        Ich wollte keine Diskussion über den Sinn und Zweck entfachen, sondern schlicht einfach nur diese Information erhalten.

        Um einfach nur Informationen zu erhalten, dafür gibt es genügend Nachschlagewerke und Suchmaschinen. Du bist hier ins Fachforum gekommen, daher musst du damit rechnen, Ratschläge zu erhalten.

        Mach dich kundig, was "progressive enhancement" bedeutet.

        Gruß
        Kalk