IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Détection du navigateur client


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 28
    Points : 14
    Points
    14
    Par défaut Détection du navigateur client
    Salut salut

    Voilà, je souhaiterais bricoler un peu de php (langage dans lequel j'ai très peu de notions) pour détecter le navigateur de mon client et d'afficher une autre page que celle de l'accueil habituel en cas de navigateur trop ancien.

    L'idée est la suivante :
    if (if < 9 || firefox < 20 || chrome < 25 || safari < 5)
    {
    ouvrir page_speciale.html (une page que je créé moi même pour indiquer au client que son navigateur est trop vieux et qu'il peut cliquer ici ou là pour mettre à jour où en installer un autre)
    }

    ça parait simple vu comme ça ^^ mais je ne sais pas du tout comment faire, comme je vous dis, le php ce n'est vraiment pas mon truc !

    Merci beaucoup d'avance

  2. #2
    Membre confirmé
    Avatar de Jacques Beauregard
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2015
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2015
    Messages : 231
    Points : 595
    Points
    595
    Par défaut
    Salut,

    Je te laisse feuilleter cette doc PHP : http://php.net/manual/en/function.get-browser.php
    Il ne faut jamais prendre les gens pour des cons, mais il ne faut pas oublier qu'ils le sont...

    Le guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    Get browser ça fonctionne avec un fichier ini, c'est bien mais c'est pas très pratique.

    Tu peux te baser sur le user-agent, mais sache que c'est aussi un peu long à développer et il existe déjà des librairies qui existe comme par exemple celle-ci : https://github.com/ua-parser/uap-php
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 28
    Points : 14
    Points
    14
    Par défaut
    Je suis désolé de vous dire que ça ne m'aide pas...!

    La doc de php, j'y étais déjà allé mais c'est franchement pas clair...

    J'ai trouvé ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if(preg_match('/(?i)msie [1-8]/',$_SERVER['HTTP_USER_AGENT']))
    {
        // if IE<=8
        include ( TEMPLATEPATH . '/nav.php' );
        exit;
    }
    Je ne comprend pas plus mais ça repère bien IE inférieur ou égal à 8

    Avec ça, un nouveau problème est arrivé : mes images ne s'affichent pas ! ça fait un pauvre petit cadre avec une croix rouge dedans (comme quand une image n'arrive pas à s'afficher en fait ^^')

  5. #5
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Tu fais ça pourquoi, à cause d'une fonctionnalité javascript incompatible ?
    Dans ce cas le plus simple serait de tester la fonction javascript non compatible avec les navigateurs anciens, et si elle ne fonctionne pas tu affiches un lien + l'avertissement.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 28
    Points : 14
    Points
    14
    Par défaut
    Non, je fais ça par ce que sous IE8 ma mise en forme est complètement "détruite".

    J'utilise Wordpress à vrai dire et le thème utilisé n'est pas compatible sous IE8...

  7. #7
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Donc tu n'as qu'un problème avec ie <= 8 puisque les autres navigateurs se mettent à jour automatiquement.
    Dans ce cas tu peux utiliser un hack css, genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <!--[if lte IE 8]>Inférieure ou égale à Internet Explorer 8<![endif]-->
    Tu peux l'utiliser dans le head de ta page pour déclarer un style spécifique (faire afficher un bloc d'avertissement par exemple) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <!--[if lte IE 8]>
    <style type="text/css">
    .avertissementIe8{
    display:block;
    }
    </style>
    <![endif]-->
    Il existe d'autres termes de comparaison : "gte", "gt", "lt" pour dire respectivement "supérieur ou égal", "supérieur" ou "inférieur". Cherches "hack css IE" si tu veux plus d'explications.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 28
    Points : 14
    Points
    14
    Par défaut
    Je me permet de revenir sur le sujet...
    Tout fonctionnait avec ce bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if(preg_match('/(?i)msie [1-8]/',$_SERVER['HTTP_USER_AGENT']))
    {
    // if IE<=8
    include ( TEMPLATEPATH . 'nav.php' );
    exit;
    }
    Le problème étant que j'ai mis à jour Wordpress et que ces bouts de code ont disparu et... Je n'arrive pas à me souvenir d'où il fallait le placer...

    index.php à la racine du site ?
    header.php dans le dossier du thème de mon site Wordpress ?

    Ce qui me parait le plus plausible c'est de le mettre dans index.php à la racine du site (logique ?) mais en le mettant n'importe où dans le fichier, il m'affiche une page blanche...

    Pour rappel, mon nav.php est une page avec du texte, 4 logoes png et 4 liens... Rien de bien sorcier ! Mais je n'arrive plus à la lancer au démarrage du site...

    Si vous avez une idée... Je suis preneur
    Merci d'avance !

  9. #9
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Dans header.php de ton thème.

    Une meilleur solution est de créer une fonction dans functions.php pour lancer cette action à partir d'un hook, mais si c'est compliqué pour toi, il faut le mettre dans header.php

    Il ne faut jamais modifier les fichiers de Wordpress, à l'exception de ceux dans le répertoire wp-content/themes (et wp-content/plugins pour tes propres plugins), autrement tu perds tout lors de mises à jour.

Discussions similaires

  1. Réponses: 16
    Dernier message: 31/03/2011, 11h46
  2. Détection du navigateur du client
    Par amigo0 dans le forum Langage
    Réponses: 1
    Dernier message: 08/07/2007, 16h31
  3. Identifier le navigateur client et CSS
    Par nerick dans le forum Langage
    Réponses: 4
    Dernier message: 13/04/2007, 22h38
  4. [TOMCAT][FOP]envoie d'un pdf au navigateur client
    Par fabricew59 dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 11/08/2006, 10h35
  5. [Configuration] Détecter des paramètres du navigateur client...
    Par Olish dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 08/10/2005, 18h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo