Bonsoir,
je suis entrain de tenter de valider mon formulaire avant saisie dans la base de donnees je fais une verification des champs en javascript et maintenant je cherche a la faire coté php mais je rencontre un soucis avec une regex, je voudrai que dans le la variable name on ne puisse saisir que des caractere de a à z en majuscules et minuscules ainsi que des nombres et je ne voudrai aucun caracteres comme des virgules ou point-virgules mais lorsque je saisi dans mon formulaire un nom et une virgule cela me le prends alors qu'il ne faudrai pas! là je seche... auriez vous une petite idee a me soumettre
merci d'avance
Gilles
if(preg_match("^-. a-zA-Z0-9]{3,}$")){
echo 'Le nom' . $name. ' est <strong>valide</strong> !';
}else{
echo 'Le nom' . $name . ' n\'est pas valide, recommencez !';
}
}
Salut. C'est normal que ça ne fonctionne pas.
Tu fais un $db->quote($name) et je te laisse deviner, la méthode quote (de $db) ajoute des 'quotes' au début et à la fin de la chaîne de caractères.
Place ta condition (if (pre..)) avant tes variables quotées? ^^
Hi,
Il faut revoir l'expression et la fonction preg_match attend qu'on lui donne/passe 2 paramètres au minimum (obligatoires).
preg_match('/^[a-zA-Z0-9]{3,}$/', $name)
Salut,
j avais oublier de mettre le parametre mais dans mon code il y est et la validation ne passe toujours pas
je mets ci dessous le code qui doit gerer la verif et la sauvegarde
merci d'avance pour votre aide
Gilles
if(isset($_POST'name'])){
checkCsrf();
$name = /*strtoupper*/($db->quote($_POST'name']));
//$slug = $db->quote(Slug($_POST'name']));
$add1 = $db->quote($_POST'add1']);
$add2 = $db->quote($_POST'add2']);
$cp = $db->quote($_POST'cp']);
$ville = $db->quote($_POST'ville']);
$phone = $db->quote($_POST'phone']);
$fax = $db->quote($_POST'fax']);
$email = $db->quote($_POST'email']);
$tarifvl = $db->quote($_POST'tarifvl']);
$tarifvu = $db->quote($_POST'tarifvu']);
$clocal = $db->quote($_POST'clocal']);
$agence_id = $db->quote($_POST'agence_id']);
$comment = $db->quote($_POST'comment']);
if(preg_match('/^[a-zA-Z0-9]{3,}$/', $name)){
/**
* Sauvegarde du client
*/
if(isset($_GET'id'])){
$id = $db->quote($_GET'id']);
$db->query("UPDATE customers SET name=$name, add1=$add1, add2=$add2, cp=$cp, ville=$ville, phone=$phone, fax=$fax, email=$email, tarifvl=$tarifvl, tarifvu=$tarifvu, clocal=$clocal, agence_id=$agence_id, comment=$comment, updated=NOW() WHERE id=$id");
}else{
$db->query("INSERT INTO customers SET name=$name, add1=$add1, add2=$add2, cp=$cp, ville=$ville, phone=$phone, fax=$fax, email=$email, tarifvl=$tarifvl, tarifvu=$tarifvu, clocal=$clocal, agence_id=$agence_id, comment=$comment, created=NOW()");
$_GET'id'] = $db->lastInsertId();
}
setFlash('Le client a bien été ajouté');
header('Location:customer.php');
die();
}else{
setFlash("erreur dans les donnees saisies", 'danger');
}
}