Problème de syntaxe avec script php

Résolu/Fermé
rodolf - Modifié par rodolf le 25/08/2011 à 19:22
 rodolf - 26 août 2011 à 00:02
Bonjour, j'asseye de faire un script pour que le css change en fonction de l'heure et de la saison...
Mais une erreur de syntaxe se produit lorsque je compare deux nombres :


Parse error: syntax error, unexpected '<' in /var/www/***********.com/htdocs/include/1.php on line 9

voici la ligne concernée :

if ('9' < $cssh < '13') or ('0' < $cssh < '4') and ('0' < $csss < '3') or ('10' < $csss < '13'){ /*une nuit d'hiver*/

Je ne sais pas comment bien écrire la comparaison... Quelqu'un sait comment faire ?

En espérant une réponse rapide ^^.

A voir également:

3 réponses

J'ai résolu le problème : un SWITCH !!!
1
pols12 Messages postés 1143 Date d'inscription lundi 22 mars 2010 Statut Membre Dernière intervention 31 juillet 2019 119
25 août 2011 à 19:29
Je ne crois pas qu'on puisse faire ça. ;) Ou c'est trop moderne pour moi :D

if ('9' < $cssh AND $cssh < '13')

Pas de OR et de AND en dehors de parenthèse ni plusieurs conditions en même temps, il faut un AND à chaque fois. ;)
0
Utilisateur anonyme
25 août 2011 à 19:30
Fait ça peut-être :
if((9 < $cssh and $cssh < 13) or (0 < $cssh and $cssh < 4) and (0 < $csss and $csss < 3) or (10 < $csss and $csss < 13)){ /*une nuit d'hiver*/ 
0
J'ai essayé les espaces, les quotes, les guillemets, mais rien y fait ^^
0
Utilisateur anonyme
25 août 2011 à 19:38
Et les "and" aussi ? Je pense que c'est les x < $v < y qui coince, parce ces conditions sont réglés en binaires :
Si x< $v, alors le test retourne "1", sinon "0".
Or, si tu as deux tests d'affilé, php remplace le premier test par sa valeur puis passe ensuite au suivant. Donc :
Si x<$v<y revient à écrire Si 1<y, ce qui est ridicule.
Or avec and, il teste les deux séparément, avant de les comparer.
0
En fait je ne pense pas que tu es compris le but du script, je prend l'heure avec la fonction php qui est faite pour ça, ensuite je prend le numéro du mois, j'en déduis donc la saison et le moment de la journée (jour/nuit), mais comme la nuit empiète sur deux jours, je dois prendre la fonction 'OR' pour que le script prenne en compte 22h00 - 24h00 et 00h00 7h00... et le faire avec que des 'AND' revient à doubler le script qui fait déjà plus de 60 ligne ><
0
Utilisateur anonyme
25 août 2011 à 22:37
J'avais bien compris alors =D ! Nan, je t'assure essaye avec ma ligne, c'est pareil, mais sans l'erreur. Ait confiaaannncee, eenn moiiiii !
0
Je vais donc essayer de ce pas
0