Multidesk.be » Forums » PHP » get_browser

  • Pagina
  • 1 van 1
0 gasten lezen dit onderwerp.
^ Onderwerp geschreven door Simon op dinsdag 30 december 2008 om 20:29:05.
Simon's avatar
Multiviteit: 3742
naar aanleiding van dit ben ik met de functie get_browser gaan proberen om te kijken of de gebruiker firefox gebruikt, zodat ik de layout wat kan aanpassen.
Bij firefox 2 werkte dit, en werd de juiste stylesheet toegepast. In firefox 3 geeft get_browser echter "Default browser" terug, met als gevolg dat de layout niet aangepast is. Ook Opera, IE 7, Safari en Chrome doen dit. Dit is echter geen probleem omdat de layout daar niet door elkaar gegooid wordt.

Iemand een idee wat de oorzaak zou kunnen zijn en hoe ik het kan verhelpen?

PHP
  1. <?php
  2.  
  3. $browser = get_browser(null, true);
  4.  
  5. if( ( $browser['browser'] == 'Mozilla' ) || ( $browser['browser'] == 'Firefox' ) )
  6. {
  7.         echo '<link rel="stylesheet" href="' ._ROOT_URL_. 'styles/stylesheet_ff.css" type="text/css" />';
  8. }
  9.  
  10. ?>
^ Reactie #1 geschreven door Martijn op dinsdag 30 december 2008 om 21:11:39.
Martijn heeft nog geen avatar toegevoegd
Multiviteit: 13785
Beheerder
Is je PHP Browscap file up to date?

Ik zou in dit geval gewoon checken op de $_SERVER['HTTP_USER_AGENT'].
Met vriendelijke groeten,
Martijn Wouters
^ Reactie #2 geschreven door Simon op zondag 4 januari 2009 om 18:32:12.
Simon's avatar
Multiviteit: 3742
Ik heb nog niet echt gehoord van een browscap file.

Ik had ook al gedacht aan $_SERVER['HTTP_USER_AGENT'], maar ik weet niet echt hoe ik daaruit de browser kan halen.

Bijvoorbeeld, ik krijg bij:
  • Internet Explorer 7: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)
  • Opera 9: Opera/9.63 (Windows NT 5.1; U; nl) Presto/2.1.1
  • Firefox 3: Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5

Het lijkt me wat moeilijk om daaruit de browserversie te halen?
^ Reactie #3 geschreven door Martijn op zondag 4 januari 2009 om 19:35:21.
Martijn heeft nog geen avatar toegevoegd
Multiviteit: 13785
Beheerder
Browscap.ini noemt die geloof ik.

In je string staat toch telkens de Browserversie? :)
Met vriendelijke groeten,
Martijn Wouters
^ Reactie #4 geschreven door Simon op woensdag 7 januari 2009 om 21:58:25.
Simon's avatar
Multiviteit: 3742
Bedoel je dan kijken via regex of de naam firefox terug te vinden is?

Bovenaan browscap.ini stond "September 4, 2005 at 10:27:57 PM UTC". Al vrij oud dus vermoed ik :).
Ik heb daarom xampp geupdated omdat dat ook al lang geleden was, maar nu kan ik niets meer testen. Ik geraak niet meer op mijn website omdat de documentroot niet wil wijzigen.

in httpd.conf heb ik Documentroot gewijzigd naar dit:
DocumentRoot "D:/Mijn documenten/Mijn webs"

En dan een beetje later in het bestand ook hetzelfde in directory:
<Directory "D:/Mijn documenten/Mijn webs">

Helaas wordt ik nog steeds verwezen naar de xampp-welkom-pagina en kan ik op geen enkele manier mijn websites openen.

**EDIT**
Vergeten Apache te herstarten (blush).

De browscap.ini is nu de versie van 17 december 2008 en nu werkt het wel. Hij herkent de versie van elke browser op de computer hier. In firefox 3 is nu ook de layout in orde!

Bedankt voor de hulp!
Deze tekst werd het laatst bewerkt voor 15.74 % door Simon op woensdag 7 januari 2009 om 22:20:58.
^ Reactie #5 geschreven door Martijn op woensdag 7 januari 2009 om 22:13:23.
Martijn heeft nog geen avatar toegevoegd
Multiviteit: 13785
Beheerder
Jep via regex.

Apache al herstart?
Met vriendelijke groeten,
Martijn Wouters
^ Reactie #6 geschreven door Simon op donderdag 8 januari 2009 om 18:03:44.
Simon's avatar
Multiviteit: 3742
Ik had de pagina nog niet ververst toen ik mijn bericht bewerkte.

Ja, ik was dus vergeten om de pagina te verversen. Nu werkt alles en herkent hij alle browsers bij naam.

Bedankt voor de hulp!
  • Pagina
  • 1 van 1

Snel-antwoordformulier
Toon uitgebreid antwoordformulier Bericht nalezen Bericht plaatsen