Bonjour,

Je pense avoir fait au mieux la validation de mon formulaire, mais j'obtiens toujours mon erreur: "Erreur dans le formulaire".
Je vous remercie de votre aide

Code php : 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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
 
<?php
 
require_once '../controller/dbConfig.php';
 
    $dateActuelle = valid_donnees($_POST['dateActuelle']);
    $nom = valid_donnees($_POST['nom']);
    $email = valid_donnees($_POST['email']);
    $telephone = valid_donnees($_POST['telephone']);
    $adresse = valid_donnees($_POST['adresse']);
    $ville = valid_donnees($_POST['ville']);
    $cp = valid_donnees($_POST['cp']);
    $dateRdv = valid_donnees($_POST['dateRdv']);
            if (isset($_POST['radio'])) {
                $ddeConcerne = valid_donnees($_POST['radio']);
            } else {
                $ddeConcerne = '';
            }
            if (isset($_POST['checkbox'])) {
                $fonctionnalites = valid_donnees($_POST['checkbox']);
            } else {
                $fonctionnalites = '';
            }
    $message = valid_donnees($_POST['message']);
 
    function valid_donnees($donnees)
    {
        // $donnees = trim($donnees);
        $donnees = json_encode($donnees);
        $donnees = stripslashes($donnees);
        $donnees = htmlspecialchars($donnees);
        $donnees = htmlspecialchars($donnees);
        $donnees = str_replace(["\r\n", "\n"], '<br>', $donnees);
        // $donnees = utf8_decode($donnees);
 
        return $donnees;
    }
 
    extract($_POST);
 
if (!empty($nom)
        && strlen($nom) <= 100
        && preg_match("/^[A-Za-z '-]+$/", $nom)
        && !empty($email)
        && filter_var($email, FILTER_VALIDATE_EMAIL)
        && !empty($telephone)
        && strlen($telephone) < 10
        && preg_match('/^[09]+$/', $telephone)
        && !empty($adresse)
        && strlen($adresse) <= 150
        && preg_match("/#^\w+$#/", $adresse)
        && !empty($ville)
        && strlen($ville) <= 100
        && preg_match("/^[A-Za-z '-]+$/", $ville)
        && !empty($cp)
        && strlen($cp) <= 5
        && preg_match('/^[09]+$/', $cp)
        && !empty($message)
        && strlen($message) <= 3
        && preg_match("/^[A-Za-z '-]+$/", $message)) {
    if ($dateRdv == '') {
        echo 'Le participant ne souhaite pas de rendez-vous';
    } else {
        echo $dateRdv;
    }
    if (isset($_POST['radio'])) {
        $ddeConcerne = $_POST['radio'];
    } else {
        $ddeConcerne = '';
    }
    if (isset($_POST['checkbox'])) {
        $fonctionnalites = implode(' | ', $_POST['checkbox']);
    } else {
        $fonctionnalites = '';
    }
 
    $fichiersJoints = '<a href="$targetFilePath">$targetFilePath</a>';
 
    $expediteur = $emailAdministrateur;
    $destinataire = $expediteur;
    $reponse = $expediteur;
 
    // if ($accepte == 'on') {
    //     $accepte = '';
    // }
 
    $objet = 'Demande d\'informations sur le site '.$siteTitle.'';
    $codehtml =
        '<html>
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        </head>
        <body>
        <h1>'.$siteTitle.'</h1>
        <P>Courrier demande d\'informations sur le site '.$siteTitle.'</P>
        <strong>Date de la demande:</strong> '.$dateActuelle.'<br>
        <strong>Nom complet:</strong> '.$nom.'<br>
        <strong>E-mail: </strong>'.$email.'<br>
        <strong>Téléphone:</strong> '.$telephone.'<br>
        <strong>Adresse: </strong>'.$adresse.'<br>
        <strong>Ville:</strong> '.$ville.'<br>
        <strong>Code postal:</strong> '.$cp.'<br>
        <strong>Votre demande concerne:</strong> '.$ddeConcerne.'<br>
        <strong>Fonctionnalités:</strong> '.$fonctionnalites.'<br>
        <strong>Message:</strong><br>'.$message.'<br>
        <strong>Date de rendez-vous souhaitée:</strong>'.$dateRdv.'<br><hr>
        <strong>Fichiers joints:</strong>'.$fichiersJoints.'<br><hr>
        Merci pour votre confiance, nous allons vous répondre dans les meilleurs délais, à bientôt.
        </body></html>';
    $destinataire = $email;
    $headers = 'From:'.$siteTitle."\r\n";
    $headers .= 'Bcc:'.$emailAdministrateur."\r\n";
    $headers .= 'MIME-Version: 1.0'."\r\n";
    $headers .= "X-Priority : 1\n";
    $headers .= 'Content-Transfer-Encoding: 8bit';
    mail($destinataire, $objet, $codehtml, $headers);
} else {
    echo 'Erreur dans le formulaire !';
}
// }