Problème pour regex formulaire

Résolu
Uxon-Studio Messages postés 13 Date d'inscription mardi 12 septembre 2017 Statut Membre Dernière intervention 21 février 2018 - 28 nov. 2017 à 14:12
Uxon-Studio Messages postés 13 Date d'inscription mardi 12 septembre 2017 Statut Membre Dernière intervention 21 février 2018 - 28 nov. 2017 à 18:49
Ola, et Ola Jordane45 si tu passe par là! :)

Bon alors je vais faire court: j'ai un formulaire qui récupère des infos, un ID, une chaîne de caractère "sauce", une chaîne de caractère "option", ensuite boisson (oui ou non) donc ça ok, et la qtée (ça ok). Bémol, le regex option chie! Une idée?

Code: commande_creator.php

if ( preg_match ( " #^[a-zA-Z ]{3,16}$# " , $sauce ) ){
echo "sauce ok blablabla";
} else {
header('Location: ../shop.php?var_shop=regex_sauce');
exit;
}

if ( preg_match ( " #^[a-zA-Z ]$# " , $option ) ){
echo "option ok blablabla";
} else {
header('Location: ../shop.php?var_shop=regex_option');
exit;
}

if ( preg_match ( " #^[a-z]{3}$# " , $boisson ) ){
echo "boisson ok blablabla";
} else {
header('Location: ../shop.php?var_shop=regex_boisson');
exit;
}

if ( preg_match ( " #^(^[0-9])$# " , $qty) ){
echo "qty ok blablabla";
} else {
header('Location: ../shop.php?var_shop=regex_qty');
exit;
}

2 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
28 nov. 2017 à 14:16
Bonjour,

Que contient ta chaine $option ?
As tu essayé ta regexp ? par exemple ici : https://regex101.com/

0
Uxon-Studio Messages postés 13 Date d'inscription mardi 12 septembre 2017 Statut Membre Dernière intervention 21 février 2018
Modifié le 28 nov. 2017 à 14:50
Nice merci pour le site. Et bien l'option contient: " Sans tomate ". Ou autre! Je suis toujours sur le site de foodtruck et je valide toutes les entrées etc...

edit

J'ai test de match plein de regex avec la phrase: "Pas d'option" par exemple. Aucune ne fonctionne.. hmm
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344 > Uxon-Studio Messages postés 13 Date d'inscription mardi 12 septembre 2017 Statut Membre Dernière intervention 21 février 2018
28 nov. 2017 à 16:48
dans "Pas d'option" ..; tu as un P majuscule et une apostrophe .... normal que ta regex ne marche pas !
Par contre avec celle la ça devrait fonctionner :

^[a-zA-Z \']*$


Et si tu as un "!" .. il faut aussi l'ajouter dans la regex

^[a-zA-Z \'!]*$

..etc...

A toi de voir ce dont tu as besoin.
0
Uxon-Studio Messages postés 13 Date d'inscription mardi 12 septembre 2017 Statut Membre Dernière intervention 21 février 2018
28 nov. 2017 à 18:47
Re dsl de répondre tard, finalement j'ai fais comme ça cette aprem:
 #^[a-zA-Z' ,-.]+$# 
0
Whismeril Messages postés 19027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 24 avril 2024 656
28 nov. 2017 à 16:45
Bonjour,

Peux tu donner une chaîne représentative de ce que tu auras en entrée et le résultat que tu escomptes?
0
Uxon-Studio Messages postés 13 Date d'inscription mardi 12 septembre 2017 Statut Membre Dernière intervention 21 février 2018
28 nov. 2017 à 18:49
Ola, merci pour la reponse, mais grace au site regex101 j'ai fini toute mes regex cette aprem! :)
0
Rejoignez-nous