Bonjour. J'ai des difficultés à gérer un contrôle de saisie.
La saisie est pleinement opérationnelle mais sans contrôle.
Le formulaire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 <form method="post" enctype="application/x-www-form-urlencoded" autocomplete="on" action="correspondance.php" name="Mail" style="font-weight: bold;"> <div align="center"> <h3>Votre Message:</h3> <table align="center" width="100%";> <tr> <td> <label for="nom">Nom</label> </td> <td ><input id="nom" name="nom" type="text" value=""/> </td> </tr> <tr> <td ><label for="email">Votre mail</label> </td> <td> <input id="email" name="email" type="text" value=""/> </td> </tr> <tr> <td> <label for="message">Message</label> </td> <td> <textarea id="message" rows="20" name="message" >Bonjour.</textarea> </td> <td> </td> </tr> </table> </div> <button class="button" type="submit" name="envoi">Envoi</button> <button class="button" type="button" onclick="javascript:window.close()">Annuler</button> <br> </form>
Si je mets:
Mes variables se retrouvent vides.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $nom = filter_input(INPUT_POST,$_POST['nom'],FILTER_SANITIZE_SPECIAL_CHARS); $email = filter_input(INPUT_POST,$_POST['email'],FILTER_SANITIZE_EMAIL); $message= filter_input(INPUT_POST,$_POST['message'],FILTER_SANITIZE_SPECIAL_CHARS);
Pourtant unme montre que ce n'est pas vide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part print_r($_POST);
Il se peut que filter_input renvoie NULL mais je ne vois pas pourquoi dans mon cas.
Il y a aussi des gens qui me mettent une adresse mail dans le nom. Comment filtrer ça ?
Vu le nombre de messages que je reçois, je me demande s'il n'y a pas un bot qui s'amuse.
Merci de votre aide car logiquement je devrais récupérer mes variables ?
Partager