Je rencontre un problème lors de l'application de ma regex ci-dessous:
Code : Tout sélectionner
// Regex qui controle le mail avec protection injection sql
define('REGEX_MAIL_INJECTION_SQL', "/^(?!.*[<>\/@])[-\w.%+]+@[-\w.]+\.[a-zA-Z]{2,}$/");Code : Tout sélectionner
<div class="mt-3">
<label for="exampleFormControlInput1" class="form-label texte"> Mail de contact :</label>
<input type="email" class="form-control" id="mail" name="mail" pattern="<?=REGEX_MAIL_INJECTION_SQL?> placeholder="Mail (obligatoire)" <?php if (isset($mail)) echo 'value="' . htmlspecialchars($mail) . '"'; ?> required>
</div>
Code : Tout sélectionner
$mail = trim(filter_input(INPUT_POST, 'mail', FILTER_SANITIZE_EMAIL));
if (!preg_match(REGEX_MAIL_INJECTION_SQL, $mail)) {
// Si la variable mail ne correspond pas à l'expression régulière
// renvoyer un message d'erreur ou faire quelque chose d'autre
$error["mail"] = 'L\'adresse email n\'est pas valide';
}veuillez modifier la valeur pour correspondre au format demandé.
Ma page ou est définie la regex est bien appelé .
Je sais pas quoi faire.
Merci par avance pour votre aide.
@+ filou