php browsererkennung und umleitung

  • PHP

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • php browsererkennung und umleitung

    hey,
    ich erstelle grad ne homepage und habe gemerkt das die in im ie und firefox unterschiedlich aussieht, so hab da nach ne lösung geguckt und nichts gefunden. dann hab ich mir gedacht wieso nicht erkennen lassen welchen browser der besucher benutzt und jenachdem welchen er benutzt wird er dann auf eine andere seite weitergeleitet.

    also halt besucher kommt auf die seite --> er benutzt firefox --> der browser wird erkannt und der besucher wird dann auf die seite weitergeleitet die ich dann so beabeitet habe das sie im firefox gut aussieht.

    und hatte auch viel gefunden nur halt als java script und das will ich nicht falls der besucher java deaktiviert hat funktioniert das ja nicht mehr.
    also wäre schön wenn mir da einer mit php code weiterhelfen könnte.

    und bitte wenn möglich mit erklärung wie ich den code richtig einbaue und alles richtig klappt

    danke

    mfg compifreak182
  • Naja du kannst ja mit HTTP_USER_AGENT; relativ zügig den Browser des Users rausbekommen... Dann mussst du halt nur ein script schreiben das dann entsprechend handelt..

    PHP-Quellcode

    1. <?php
    2. // Hier wird nun geprüft ob der Brwoser Firefox 5.0 oder 4.x ist und dann gitbt es eine true Anweissung und eine false Anweisung
    3. if (eregi("Mozilla/5.0",$HTTP_USER_AGENT) || eregi("Mozilla/4.",$HTTP_USER_AGENT))
    4. {
    5. //mach das
    6. }
    7. else
    8. {
    9. // mach was anderes
    10. } ?>
    Alles anzeigen

    Wobei ich das mit case machen würde wenn du mehre Brwoser abdecken würdest...
  • Ich würde das weniger mit php, als mit css und html machen ;)
    Es gibt genug Wege, eine Seite für alle Browser gleich aussehen zu lassen.

    Beim IE zum Beispiel:
    <!--[if IE ]>only for IE<![endif]-->

    oder beim Fx würde mir spontan der @import-Befehl in CSS einfallen, den der IE nicht kennt.
    Wobei du ja nur einen Befehl brauchst.

    Useragents lassen sich nämlich leicht manipulieren.

    Gruß
    Broken Sword

    btw.@awak3r
    Der IE hat auch "Mozilla4.0" als User agent string ;)
    UserAgentString.com - List of Internet Explorer User Agent Strings
  • Ich kann mich BrokenSword nur anschließen. Ist auch weniger Arbeit eine ür beide zu machen als das ganze zweifach mit kleinen Änderungen. Auser du schlißt alle IE user ganz aus und leitest sie auf Herzlich willkommen bei der offiziellen Disney-Website! weiter.
    Aber das wäre schon arg diskriminierend.
    Wenn du postet was bei dir nicht passt können wir dir auch gern weiter helfen.
    Ich schätze mal es verschiebt dir den ein oder anderen <div> und maxwidth und diese Späße kennt der IE leider nicht. Sind aber recht leicht zu verwirklichen.

    Gruß
    Markus
  • Das das nicht Clever ist was ich da geschrieben habe ist mir klar, aber seine frage war wie man so eine VOm Brwoser abhängige Weiterleitung mit php umsetzt und daraf habe ich geanwortet ^^

    ich würde das persönlich niemals machen.. Das wäre es mir nicht wert für jeden Brwoser die Seite neu zu progroammieren..

    Also die beiden über mir habe da schon recht bei dem was sie geschrieben habe :D
  • so hab man schnell auf'n freehoster hochgeladen
    die seite is noch im aufbau also nich wundern das da so wenig drin is und das es so weit runter geht (is so gewollt)

    hier die seite

    könnte ja mal im internet explorer und im firefox angucken dann wisster was mein problem is




    so der code noch:


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>GC-CEMETERY</title>
    <meta name="author" content="steve">
    <meta name="editor" content="html-editor phase 5">


    </head>
    <body style="background-image: url(http://img212.imageshack.us/img212/3603/hintergrundyc2.jpg)">
    <table width="55%" height="2000px" style="position:absolute; top:0px; left:277px" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td>

    <table width="697px" align="top" style="position:absolute; top:0px; left:-1px" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <img src="http://i337.photobucket.com/albums/n388/gc-cemetery/header.jpg" border="0" width="697">
    </tr>
    </table>

    <table width="153" style="position:absolute; top:535px; left:-1px" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td><img src="http://i337.photobucket.com/albums/n388/gc-cemetery/menlinksleer.jpg" alt="" border="0" width="153" height="33"></td>
    </tr>
    </table>

    <table width="146" style="position:absolute; top:535px; left:151px" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td><img src="http://i337.photobucket.com/albums/n388/gc-cemetery/menhome-1.jpg" alt="" border="0" width="101" height="33"></td>
    </tr>
    </table>

    <table width="146" style="position:absolute; top:535px; left:251px" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td><img src="http://i337.photobucket.com/albums/n388/gc-cemetery/mengc.jpg" alt="" border="0" width="101" height="33"></td>
    </tr>
    </table>


    <table width="146" style="position:absolute; top:535px; left:351px" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td><img src="http://i337.photobucket.com/albums/n388/gc-cemetery/menmedia.jpg" alt="" border="0" width="101" height="33"></td>
    </tr>
    </table>

    <table width="146" style="position:absolute; top:535px; left:451px" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td><img src="http://i337.photobucket.com/albums/n388/gc-cemetery/mensite-www-1.jpg" alt="" border="0" width="101" height="33"></td>
    </tr>
    </table>


    <table width="151" style="position:absolute; top:535px; left:551px" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td><img src="http://i337.photobucket.com/albums/n388/gc-cemetery/menrechtsleer-1.jpg" alt="" border="0" width="144" height="33"></td>
    </tr>
    </table>


    </td>
    </tr>
    </table>


    </body>
    </html>
  • Ich glaube, dein Problem ist, dass du ein WYSIWYG-Programm benutzt hast. ^^
    Die ganzen Tabellen sind doch nicht normal für eine Leiste...
    Eine Tabelle hat doch nicht ohne Grund Spalten <tr> und Zellen <td>, dann brauchst auch nicht bei jeder Tabelle mit top und left rumspielen. (Firefox nimmt position:absolute; genau und bricht aus der Tabelle aus)
    Bsp.

    Quellcode

    1. <table id="wrapper">
    2. <tr><td colspan="5"><img src="main.jpg" id="header" alt="header" /></td></tr>
    3. <tr><td><a href="test1.htm"><img src="link1.jpg" class="button_list" alt="test1" /></a></td><td><a href="test1.htm"><img src="link1.jpg" class="button_list" alt="test1" /></a></td><td><a href="test1.htm"><img src="link1.jpg" class="button_list" alt="test1" /></a></td><td><a href="test1.htm"><img src="link1.jpg" class="button_list" alt="test1" /></a></td><td><a href="test1.htm"><img src="link1.jpg" class="button_list" alt="test1" /></a></td><td><a href="test1.htm"><img src="link1.jpg" class="button_list" alt="test1" /></a></td></tr>
    4. <tr><td colspan="5" id="content">INHALT</td></tr>
    5. </table>


    Außerdem wäre das Attribut "colspan" gut für dich (damit du nicht Tabelle in Tabelle benutzen musst)
    Also echt, das Programm gehört deinstalliert, mit dem du es gemacht hast. align kann nicht top sein, sonder nur left|center|right. Was du brauchst ist valign. Wobei aber html4.0 so ziemlich das älteste ist, mit dem du antreten kannst. CSS sollte nicht "nur so" eingebaut, sondern die primäre Ausrichtung- und Stylevariante sein, weil diese einheitlich für alle Browser ist.

    Viel Glück beim Verbessern und lass das Proggy echt bei Seite ^^"
  • Browserweiche

    Hi compifreak!
    Meine Empfehlung: Benutze keine Tabellen zur Strukturierung deines Layouts zb. Navigationsleiste sondern benutze das Boxenmodell (CSS) --> lerne HTML/CSS, aber richtig ;)

    Halte dich an DIESEN Leitsatz von Broken Sword:

    CSS sollte nicht "nur so" eingebaut, sondern die primäre Ausrichtung- und Stylevariante sein, weil diese einheitlich für alle Browser ist.


    Als Grundlage empfiehlt sich SELFHTML.


    Sooo... nun zum eigentlichen Thema Browserweiche:
    Erstelle 2 CSS Files (jenachdem für wie viele Browser du eine Weiche machst): firefox.css und IE.css - daraus schließt sich das du in der Datei firefox.css alle Elemente/Boxen so definierst das sie im FIREFOX gut aussehen und in IE.css alles so definierst das es im Internet Explorer gut aussieht.
    Ich hoffe du weißt was ich mit Elementen/Boxen meine :D


    Und nun wird jenachdem welchen Browser der User verwendet das richtige CSS-FILE eingebunden.

    Und hier gibts den Code:

    HTML-Quellcode

    1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    4. <head>
    5. <title>test</title>
    6. <meta name="author" content="Christian Hofer">
    7. <!-- Im Normalfall wird das firefox.css File verwendet -->
    8. <link rel="stylesheet" href="css/firefox.css" type="text/css" />
    9. <!-- Und hier kommt die Browserweiche für den Fall IE -->
    10. <!--[if IE]>
    11. <style type="text/css">@import url(css/IE.css);</style>
    12. <![endif]-->
    13. </head>
    Alles anzeigen


    So, und das ist ne Browserweiche :bing:
  • Black Ghost schrieb:

    Es wäre mal interessant, ob du dein Problem beseitigen konntest :D

    :löl:

    Regeln lesen! Pushposts sind nur nach 7 Tagen erlaubt, außerdem dürfen sowas nur die Threadstarter.
    Noch einmal und es gibt :gelb:



    @compifreak182: Da das sicherlich dauern wird und es dann nichts mehr mit dem eigentlichen Thema zu tun hat, mach ich hier mal zu.
    Wenn doch noch etwas sein sollte, PN an mich und es ist wieder offen.
    => Closed

    Gruß
    Broken Sword