Page 1 sur 1

Comparaison avec if qui ne marche pas

Posté : 05 oct. 2017, 11:23
par dam-s
Bonjour,
J'ai un fragment de code qui ne fonctionne pas sur le serveur 000webhost, mais qui fonctionne sur mon EasyPHP.

$Quart peux prendre comme valeur : "N", "R", "CA", "RTT", "J", "M" ,"S","WE".

Code : Tout sélectionner

if (($Quart == "N") && ($event['SUMMARY'] == "R" || $event['SUMMARY'] == "CA" || $event['SUMMARY'] == "RTT")) { $Quart = 'DN'; echo " nous sommes en descente de nuit";} elseif (($event['SUMMARY'] == "N") && ($Quart == "R" || $Quart == "CA" || $Quart == "RTT")) { $Quart = 'PN'; echo "nous sommes en premiere nuit";} else {$Quart = $event['SUMMARY']; echo "non";}
Sur mon local, je récupéré bien la bonne valeur.
Sur le serveur distant 000webhost je retourne que la condition else.

J'ai d'autre comparaison qui fonctionne sur les 2 serveurs :

Code : Tout sélectionner

if ( date("N",strtotime($event['DTSTARTTIME'])) == 6 || date("N",strtotime($event['DTSTARTTIME'])) == 7) {echo "</br>WEEK-END"; $Quart = 'WE'; }
J'ai tester differente facons de faire et il semble que

si

Code : Tout sélectionner

$Quart= TRUE;
le

Code : Tout sélectionner

if ($Quart)
=> fonctionne
mais

Code : Tout sélectionner

$Quart = "N";
le

Code : Tout sélectionner

if ($Quart =="N")
=> ne fonctionne pas

Quelqu'un as-t-il une idée ?
Merci d'avance
Damien

Re: Comparaison avec if qui ne marche pas

Posté : 05 oct. 2017, 11:43
par Spols
tu peux faire afficher la valeur de $Quart juste avant ta condition, avec un var_dump($Quart) pour avoir son type aussi
et même essayé un var_dump($Quart == "N")

Sinon vérifie aussi l'encodage de ton fichier et de ton serveur.

Re: Comparaison avec if qui ne marche pas

Posté : 05 oct. 2017, 12:07
par dam-s
Merci pour ce premier retour rapide:
voici le resultat de var_dump($Quart) et var_dump($event['SUMMARY']):
string(1) "?" string(2) "R " non
string(2) "R " string(2) "R " non
string(2) "R " string(2) "N " non
string(2) "N " string(2) "N " non
string(2) "N " string(2) "R " non
Je ne comprend pas bien pourquoi N est différent de N.
Qu'entendez vous par vérifier l'encodage (comment je fais )?
Cordialement

Re: Comparaison avec if qui ne marche pas

Posté : 05 oct. 2017, 13:30
par Spols
je vois un espace à coté du N

et donc "N " != "N"

essaye un trim($Quart) == "N"

Re: Comparaison avec if qui ne marche pas

Posté : 05 oct. 2017, 14:30
par dam-s
YES,
Exactement ça,
Merci.
Ceci étant, bizarre (pour moi) que ça fonctionnais sur le serveur EasyPHP et pas en distant.
Encore merci

Re: [RESOLU] Comparaison avec if qui ne marche pas

Posté : 05 oct. 2017, 15:19
par Spols
Pour être complet, il faudrait voir d'où vient cet espace en remontant à la création de la variable. il y a peut être une différence d'environement.

Re: [RESOLU] Comparaison avec if qui ne marche pas

Posté : 05 oct. 2017, 15:35
par dam-s
Cela vient d'une extraction d'un fichier *.ics
En tt cas merci beaucoup