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
35428
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 mai 2022
356
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
35428
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 mai 2022
356 > 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
17331
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
17 mai 2022
596
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