question bête sur condition preg_match_all
Posté : 24 mai 2011, 15:55
bonjour,
j'ai un petit soucis sur une de mes fonctions et j'ai du mal à voir ce qui cloche.
j'ai un champ par exemple : U36U38
j'ai une fonction qui vérifie que ce champ est bien au format UXXUXX, ce qui fonctionne très bien.
mon soucis : je viens de rajouter une condition dans cette fonction qui doit m'autoriser à mettre ce champ à "NO", donc j'ai le droit soit à un champ au format UXXUXX, soit à NO.
hors, la condition pour le "NO" ne fonctionne pas.
voici la fonction :
merci !
j'ai un petit soucis sur une de mes fonctions et j'ai du mal à voir ce qui cloche.
j'ai un champ par exemple : U36U38
j'ai une fonction qui vérifie que ce champ est bien au format UXXUXX, ce qui fonctionne très bien.
mon soucis : je viens de rajouter une condition dans cette fonction qui doit m'autoriser à mettre ce champ à "NO", donc j'ai le droit soit à un champ au format UXXUXX, soit à NO.
hors, la condition pour le "NO" ne fonctionne pas.
voici la fonction :
function VerifyBaieloc($champ) {
if(!preg_match_all('/^[U-Uu-u][0-9][0-9][U-Uu-u][0-9][0-9]$/', $champ, $out) || !preg_match_all('/^[n-N][o-O]$/', $champ, $out)){
echo '<br><br><font face="verdana">Erreur: la valeur "Emplacement dans la baie" doit etre au format UXXUXX</font><br><br>';
echo '<a href="javascript:history.back()"><font face="verdana" color="#91aa37">Retourner en arriere<br></a>';
exit;
}
}
malgré mon champ mis à "NO", je me tape une erreur "Erreur: la valeur "Emplacement dans la baie" doit etre au format UXXUXX". alors que cela devrait fonctionner et ne pas m'afficher d'erreur, qu'ai-je fait de pas bien dans mon "|| !preg_match_all('/^[n-N][o-O]$/', $champ, $out)" ?merci !