IE Abfrage

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • IE Abfrage

    Hallo zusammen, bin neu hier und habe gleich mal eine Frage, und zwar ich mag für meine Homepage auf der Startseite eine Browser Abfrage machen. Ich möchte damit keine IE benutzer von meiner Seite ausperren sondern nur eine Meldung anzeigen dass die seite für firefox optimiert ist und das auch der Downloadlink für den Firefox angezeigt wird.
    Die Formulierung und das Bild ändere ich noch. Das bild nur zum testen drinn.

    Mein Problem ist:
    1. Bin Neuling bei PHP
    2. Wenn ich meine Seite aufrufe erscheint nichts von dieser Abfrage

    die datei habe ich als index.php auf dem server geladen.

    PHP-Code:
    <html>

    <head>
    <meta http-equiv="Content-Language" content="de">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <meta http-equiv="refresh" content="10; URL=start.htm">
    <title>NUDELAUG</title>

    </head>

    <body link="#0000FF" vlink="#008080" alink="#008000">

    <p align="center">
    <a href="start.htm">
    <img border="0" src="images/startpage/logo.png" width="60%" height="40%"></a></p>

    <p align="center"><font face="Arial">10 Sekunden warten oder das Logo klicken</font></p>
    <p align="center"> </p>
    <p align="center">

    <?php
    $browser_gecko 
    = (strpos(getenv('HTTP_USER_AGENT'), 'Gecko') !== false);
    $browser_opera = (strpos(getenv('HTTP_USER_AGENT'), 'Opera') !== false);
    $browser_msie = (!$browser_opera) && (strpos(getenv('HTTP_USER_AGENT'), 'MSIE') !== false);


    if (
    $browser_msie)
    {
    echo(
    '<br /><strong>Du benutzt Internet Explorer. Die folgende Seite kann nicht mit Internet Explorer benutzt werden - Bitte lade dir Firefox unter
    <a href="http://www.getfirefox.com/" target="_blank">[url]http://www.getfirefox.de[/url]</a> herunter.
    </strong><br /><br /><br /><img src="http://www.chip.de/ii/71858973_f74d4c97de.jpg" border="0" alt="" /><br />'
    );
    }
    ?>
    </p>


    </body>

    </html>
    Könnt ihr mir Vieleicht weiterhelfen, vieleicht findet ihr den fehler warum nichts angezeigt wird.

  • #2
    Sollte funktionieren. Wie testest du es denn, ich meine mit welchem UA-String?

    Der Link zum Firefox ist aber auch nur 10 Sekunden sichtbar, dann wird man (auch wenn man IE benutzt) auf start.htm umgeleitet.

    Kommentar


    • #3
      hab die datei auf dem server geladen weis sonst nicht wie ich sie testen kann.
      http://www.nudlaug.info
      bin grad beim anfangen also es ist noch nichts auf der seite, aber das ist ja egal.

      Das mit den 10 Sekunden ist mir klar da werd ich mir noch was anderes einfallen lassen.

      die page auf die verwiesen wird heißt jetz page.htm nicht mehr start.htm

      Kommentar


      • #4
        Mach vor dem if mal
        PHP-Code:
        var_dump($browser_msie); 
        schraub auch mal noch das error_reporting hoch
        PHP-Code:
        //ganz am Anfang
        <?php
        error_reporting
        (E_ALL);
        ?>
        Ich glaube nicht, dass deine Var Browser irgendeinen Inhalt hat und leere Strings werden in einer Bedingung als false angesehen.

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          ok habe es hinzugefügt
          er zeigt mir jetz die Meldung an " bool(false) "
          http://www.nudlaug.info/index.php

          hab im netz gesucht was das bedeuten soll aber ich habe es ned verstanden :-(


          PHP-Code:
          <html>

          <?php
          error_reporting
          (E_ALL);
          ?>

          <head>
          <meta http-equiv="Content-Language" content="de">
          <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
          <meta http-equiv="refresh" content="10; URL=page.htm">
          <title>NUDELAUG</title>

          </head>

          <body link="#0000FF" vlink="#008080" alink="#008000">

          <p align="center">
          <a href="page.htm">
          <img border="0" src="images/startpage/logo.png" width="60%" height="40%"></a></p>

          <p align="center"><font face="Arial">10 Sekunden warten oder das Logo klicken</font></p>

          <?php
          $browser_gecko 
          = (strpos(getenv('HTTP_USER_AGENT'), 'Gecko') !== false);
          $browser_opera = (strpos(getenv('HTTP_USER_AGENT'), 'Opera') !== false);
          $browser_msie = (!$browser_opera) && (strpos(getenv('HTTP_USER_AGENT'), 'MSIE') !== false);

          var_dump($browser_msie);
          if (
          $browser_msie)
          {
          echo(
          '<br /><strong>Du benutzt Internet Explorer. Die folgende Seite kann nicht mit Internet Explorer benutzt werden - Bitte lade dir Firefox unter
          <a href="http://www.getfirefox.com/" target="_blank">[url]http://www.getfirefox.de[/url]</a> herunter.
          </strong><br /><br /><br /><img src="http://www.chip.de/ii/71858973_f74d4c97de.jpg" border="0" alt="" /><br />'
          );
          }
          ?>

          </body>

          </html>

          Kommentar


          • #6
            Habe vorhin noch einen anderen Tip bekommen bzw. code

            PHP-Code:
            <?php
            if (preg_match('/msie/i',$_SERVER['HTTP_USER_AGENT'])) {
                echo 
            'Internet Explorer';
            }
            ?>
            mit diesem geht es jetz habe halt als echo noch etwas anderes stehen,
            aber trotzdem dankeschön für die sehr schnelle hilfe von euch

            Kommentar


            • #7
              Die vorherige Abfrage war aber präziser.

              Ein Beispiel:
              Mit Opera und "als IE identifizieren" hat man in etwa diesen User-Agent-String:
              Mozilla/4.0 (compatible; MSIE 6.0; {OS}; {Lang}) Opera {Version}

              Deine erste Version hat $browser_opera auf true evaluiert, somit wurde "$browser_msie = (!$browser_opera) && ..." false und der Hinweis erschien nicht.

              Mit deiner jetzigen Lösung erhält der Opera-User den Hinweis, er möge sich bitte vom IE trennen und Firefox runterladen.

              Kommentar


              • #8
                ahhhhh gut zu wissen.
                Ok dann kann ich mich doch noch nicht freuen :-(
                aber mit dem obigen hatte ich als letztes die Meldung bool(false)
                wie gesagt der link zu dem php file
                http://www.nudlaug.info/index_test.php

                Kommentar


                • #9
                  bool(false) heißt, die Variable, die du per var_dump() ausgegeben hast, ist eine boolsche Variable (ein Wahrheitswert) und aktuell mit dem Wert false (falsch) belegt.

                  var_dump($browser_msie) sollte immer dann bool(false) ausgeben, wenn du die Seite nicht mit dem Internet Explorer aufrufst.

                  Kommentar


                  • #10
                    bool(false) ist im IE sowie im Firefox zu sehen

                    Kommentar


                    • #11
                      PHP-Code:
                      <?php
                      error_reporting
                      (E_ALL);

                      $ua strtolower($_SERVER['HTTP_USER_AGENT']);
                      $is_gecko strpos($ua'gecko') !== false;
                      $is_opera strpos($ua'opera') !== false;
                      $is_msie = !$is_opera && strpos($ua'msie') !== false;

                      // wenns klappt, diese Zeile entfernen
                      die($ua.'<br>Gecko:'.$is_gecko.'<br>Opera:'.$is_opera.'<br>MSIE:'.$is_msie);

                      if (!
                      $is_msie) {
                          if (!
                      headers_sent()) {
                              
                      header('Location: http://example.com/page.htm');
                              exit;
                          } else {
                      ?>
                      <html><head><title>NUDELAUG</title>
                      <meta http-equiv="refresh" content="0; URL=page.htm">
                      </head><body></body></html>
                      <?php
                          
                      }
                      } else {
                      // hier natürlich eine ganze HTML-Seite ausgeben
                      ?>
                      <a href="http://www.getfirefox.com/">FF is besser!</a>
                      <?php
                      }
                      ?>

                      Kommentar


                      • #12
                        es funktioniert sehr gut....
                        Ich werde es dann noch umgestallten

                        Einen Riesen Dankeschön!!!!,
                        ich melde mich wenn ich es dann mal fertig habe.

                        Kommentar

                        Lädt...
                        X