Sur un serveur php, le résultat fonctionne très bien.
Chez moi sur un serveur en php5, on ne voit toujours pas le d_important en couleur. (1)

J'ai essayé beaucoup de combinaisons :
Sur mon serveur php5 :
En changeant le Doctype 1.0 strict pour Doctype transitional et en codant :
if(isset($coloreNum) && $coloreNum == $i) echo 'd_jour">';
else if(in_array($i . "_" . $numero_mois . "_" . $annee, $d_important)) echo 'd_important">';

Je vois les jours importants ( http://ppzx.net/calendrier_test.php5 ) (toujours la même CSS pour tous ces essais : css.css)

Même codage, mais avec Doctype strict, pas de jours importants ( http://ppzx.net/calendrier_test2.php5 ).

Avec ( http://ppzx.net/ )
if(isset($coloreNum) && $coloreNum == $i) echo 'd_jour">';
else if(in_array($i . "_" . $numero_mois . "_" . $annee, $d_important)) echo 'td" bgcolor="#EE3300">';

Pas de jours importants visibles. Pas de problème de la même csss !
Quand je le passe au W3C
Line 72, Column 548: there is no attribute "bgcolor".
s="td">23</td><td class="td" bgcolor="#EE3300">24</td><td class="td">25</td><

You have used the attribute named above in your document, but the document type you are using does not support that attribute for this element. This error is often caused by incorrect use of the "Strict" document type with a document that uses frames (e.g. you must use the "Transitional" document type to get the "target" attribute), or by using vendor proprietary extensions such as "marginheight" (this is usually fixed by using CSS to achieve the desired effect instead).

This error may also result if the element itself is not supported in the document type you are using, as an undefined element will have no supported attributes; in this case, see the element-undefined error message for further information.

How to fix: check the spelling and case of the element and attribute, (Remember XHTML is all lower-case) and/or check that they are both allowed in the chosen document type, and/or use CSS instead of this attribute. If you received this error when using the <embed> element to incorporate flash media in a Web page, see the FAQ item on valid flash.


J'aurais bien besoin de vos lumières ! pierreandre
les codages php et CSS :http://ppzx.net/calendrier.txt
Modifié par pierreandre (21 Feb 2009 - 16:15)
Bonjour,

Déjà, «un serveur PHP» par opposition à «un serveur PHP5», ça ne veut pas dire grand chose. Tu veux dire que tu as développé un site en PHP 4 et que tu as un problème de compatibilité avec PHP 5? Est-ce que PHP te retourne des erreurs?

Ensuite, les problèmes que tu décris sont, si j'ai bien compris, des problèmes de rendu visuel. Quel peut bien être le rapport entre ces problèmes et PHP? Le seul rapport possible, c'est le contenu HTML généré (rappel: le navigateur ne voit pas le moindre petit bout de poil de cul du code PHP, ce code étant interprété par le serveur, qui envoie uniquement le résultat au navigateur). Donc si tu as des différences, c'est que tu ne génères pas le même code HTML dans un cas ou dans l'autre.

Si je regarde les trois pages que tu donnes comme référence:
1. Sur http://ppzx.net/calendrier_test.php5 la cellule qui doit être mise en exergue porte une classe spécifique. Les styles CSS appliquent des styles pour cette classe. Tout va bien, ça marche.
2. Sur http://ppzx.net/calendrier_test2.php5 la cellule qui doit être mise en exergue ne porte pas de classe spécifique. De plus tu as placé un attribut HTML fictif dans le code. C'est donc une erreur de HTML (l'attribut HTML background-color n'existe pas).
3. Sur http://ppzx.net/ la cellule qui doit être mise en exergue ne porte pas de classe spécifique. Fin de l'histoire.

Donc pour ce que je comprends jusqu'ici:
- Le titre de ce sujet n'a strictement rien à voir avec ton problème...
- La classe "d_important" colore bien la cellule. Les styles CSS sont correctement appliqués. Rien à signaler.
- Tu as semblé voir un problème quelque part (?), donc tu as essayé d'utiliser une propriété CSS comme attribut HTML (???), et comme ça ne marchait pas tu t'es rabattu sur un attribut (bgcolor) existant... en HTML Transitional uniquement, alors que ton Doctype est Strict, d'où l'erreur de validation HTML.

Et donc, c'est quoi exactement la question? Smiley cligne
Bonjour,
Bonjour,

Déjà, «un serveur PHP» par opposition à «un serveur PHP5», ça ne veut pas dire grand chose. Tu veux dire que tu as développé un site en PHP 4 et que tu as un problème de compatibilité avec PHP 5? Est-ce que PHP te retourne des erreurs?

J'ai développé un calendrier en php et j'ai des problèmes en php5.
Je désire obtenir ce calendrier en php5 (DTD XHTML 1.0 Strict//EN) comme le reste de mon site.


Ensuite, les problèmes que tu décris sont, si j'ai bien compris, des problèmes de rendu visuel. Quel peut bien être le rapport entre ces problèmes et PHP? Le seul rapport possible, c'est le contenu HTML généré (rappel: le navigateur ne voit pas le moindre petit bout de poil de cul du code PHP, ce code étant interprété par le serveur, qui envoie uniquement le résultat au navigateur). Donc si tu as des différences, c'est que tu ne génères pas le même code HTML dans un cas ou dans l'autre.

Tout à fait d'accord pour le code HTML généré.
C'est aussi un problème de décalage d'un mois mars est indiqué pour février.


Si je regarde les trois pages que tu donnes comme référence:
1. Sur http://ppzx.net/calendrier_test.php5 la cellule qui doit être mise en exergue porte une classe spécifique. Les styles CSS appliquent des styles pour cette classe. Tout va bien, ça marche.

Ça marche avec un décalage d'un mois en avance.

2. Sur http://ppzx.net/calendrier_test2.php5 la cellule qui doit être mise en exergue ne porte pas de classe spécifique. De plus tu as placé un attribut HTML fictif dans le code. C'est donc une erreur de HTML (l'attribut HTML background-color n'existe pas).

OK, C'était une recherche pour trouver une classe spécifique

3. Sur http://ppzx.net/ la cellule qui doit être mise en exergue ne porte pas de classe spécifique. Fin de l'histoire.

Maintenant http://ppzx.net porte une classe spécifique et garde encore un décalage d'un mois.

Donc pour ce que je comprends jusqu'ici:
- Le titre de ce sujet n'a strictement rien à voir avec ton problème...
- La classe "d_important" colore bien la cellule. Les styles CSS sont correctement appliqués. Rien à signaler.
- Tu as semblé voir un problème quelque part (?), donc tu as essayé d'utiliser une propriété CSS comme attribut HTML (???), et comme ça ne marchait pas tu t'es rabattu sur un attribut (bgcolor) existant... en HTML Transitional uniquement, alors que ton Doctype est Strict, d'où l'erreur de validation HTML.

Et donc, c'est quoi exactement la question?

Maintenant, la question est comment corriger le décalage d'un mois en php5 ( comme http://ppzx.net ) et en (DTD XHTML 1.0 Strict//EN) ?

Je te remercie pour ton aide qui éclaircit ma (mes) questions.
Amitiés,
Pierre
Modifié par pierreandre (21 Feb 2009 - 04:59)
pierreandre a écrit :
Maintenant, la question est comment corriger le décalage d'un mois en php5 ( comme http://ppzx.net ) et en (DTD XHTML 1.0 Strict//EN) ?

Ah ben ça c'est une mauvaise question. Les questions possibles sont:

1. Comment corriger le décalage d'un mois dans ma classe/fonction PHP? (Et là ça me dépasse.)
2. Comment corriger mon code HTML pour qu'il soit valide XHTML 1.0 Strict? (Solution: faire du code valide. Smiley lol )

Les deux questions ne sont pas liées.