28172 sujets

CSS et mise en forme, CSS3

Bonjour,
Après beaucoup de recherches infructueuses, me poste mon problème même s'il est récurent.
J'ai ma page (index.php) en php qui appelle une feuille de style. Jusqu'ici tout va bien. Comme on le sait avec IE6 et IE7, le CSS réajit différemment. D'où l'idée de faire deux feuilles de styles. J'ai bien vu le système des commentaires conditionnels pour appeler la bonne feuille de style, mais ça ne fonctionne pas car ma page est en php.
A force de recherches, j'ai trouvé le code suivant en php :

<?php
//$_SERVER["HTTP_USER_AGENT"] : variable donnant le navigateur
if (ereg("MSIE", $_SERVER["HTTP_USER_AGENT"])) {
    //Internet explorer
    echo "<link rel=\"stylesheet\" href=\"style_ie.css\" type=\"text/css\" />";
} else {
    //Les autres
    echo "<link rel=\"stylesheet\" href=\"style.css\" type=\"text/css\" />";
}
?> 

Mais au final je me retrouve avec une erreur :
a écrit :
Deprecated: Function ereg() is deprecated in C:\...

Comment dois-je m'y prendre pour avoir un affichage corect sur ma page php.
Avez-vous déja eu se problème?
Modifié par folvool (28 Sep 2009 - 01:09)
Hello folvool et bienvenue,

folvool a écrit :
J'ai bien vu le système des commentaires conditionnels pour appeler la bonne feuille de style, mais ça ne fonctionne pas car ma page est en php
C'est inexact : pour rappel un document contenant du php génère au final un document (x)html classique. Tu as donc probablement une erreur dans ton écriture des commentaires conditionnels.


Edit: et juste pour info les fonctions PCRE (en l'occurence preg_match) sont bien plus efficaces que les fonctions POSIX (ereg).
Modifié par Heyoan (27 Sep 2009 - 13:22)
Bonsoir, ou plutôt Bonjour Heyoan,
Merc de ta réponse.
Bien vu, c'est vrai que côté client on a du html. Je n'avais pas pensé à celà.
Je viens cependant de résoudre mon problème avec du php et non des commentaires conditionnels que je ne connais pas et donc ne maîtrise pas. Je me suis simplement apperçu qu'EasyPHP n'était pas à jour dansles versions de php et que une fois sur mon serveur, je n'ai plus eu de soucis avec mon ereg(). C'est la première fois aujourd'hui que j'en entends parler. Je me pencherai plus dessus quand j'aurai un peu de temps.
Merci à toi.
Modifié par folvool (28 Sep 2009 - 01:11)
Administrateur
Bonjour,

- le browser sniffing c'est mal (détecter un navigateur directement sur le serveur). Pas fiable. Inutile (voir ci-dessous).
- la seule bonne manière est d'utiliser les commentaires conditionnels en HTML : le navigateur choisira ce qu'il fait selon les indications du site ...