Bonjour, j'ai vu que l on pouvait "proteger" contre le spam son formulaire en creant un champ supplementaire "toto" non caché en indiquant aux visiteurs de ne pas remplir ce champs. Mais comment faire, coté traitement php (detail code ci dessous) pour verifier la condition que le champ toto est bien vide, et donc on valide l'enregistrement des donnees dans la base dans ce cas.
Mon formulaire est en 2 partie une en html, et le post traitement en php.
mon code html donne :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
<form action="http://www.monsite.fr/validation.php" method="post">
 
Société: <br><input type="text" name="id" maxlength="110"/><br/>
Adresse: <br><input type="text" name="adresse" maxlength="100"/><br/>
Code postal:<br><input type="text" name="code" maxlength="6"/><br/>
Merci de ne pas remplir ce champs (ceci est un controle anti-Spam)<br><input type="text" name="toto" maxlength="150"/><br/>
		<br>
 
        <input type="submit" value="Enregistrer"/>
    </form>

le fichier de validation php :
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
38
<?php
        // Parametres de connexion à la base de données
        $BD_serveur      = "***";
        $BD_utilisateur = "***";
        $BD_motDePasse  = "****";
        $BD_base                = "****";
 
        // Récupération des paramètres POST
        $id       = $_POST["id"];
        $adresse  = $_POST["adresse"];
        $code    = $_POST["code"];
        $ville = $_POST["ville"];
        $pays = $_POST["pays"];
$activite = $_POST["activite"];
$mel = $_POST["mel"];
$tel = $_POST["tel"];
$site = $_POST["site"];
$toto = $_POST["toto"];
 
 
        echo "Bonjour ".stripSlashes($id)." ".stripSlashes($nom).",<br/>";
 
        @mysql_pconnect($BD_serveur, $BD_utilisateur, $BD_motDePasse)
                or die("Impossible de se connecter au serveur de bases de données.");
        @mysql_select_db($BD_base)
                or die("Impossible de se connecter à la base de données.");
 
        $requete = "INSERT INTO annu (id, adresse, code, ville, pays, activite, mel, tel, site)
                                  VALUES ('$id','$adresse','$code','$ville', '$pays', '$activite', '$mel', '$tel', '$site')";
        $result = @mysql_query($requete);
        if (!$result) {
                echo "L enregistrement de vos donnees a echoue. Vous etes certainement deja inscrit sous ce nom.";
        } else {
                echo "Felicitations.....r<br> ".
                         "<br />";
        }
 
?>