Contexte : un site one page très basique
problème : le formulaire de contact
Dans le fichier index.php :
Dans le fichier traitement.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 <div> <h2>Contactez-nous</h2> <p>Pour toute question, n'hésitez pas à nous contacter !<br/> Nous vous répondrons aussi vite que possible...</p> <form method="post" action="traitement.php"> <p> <label for="nom">Nom : </label><br/> <input id="nom" type="text" name="nom" value="<?php if(isset($nom)) echo $nom; ?>" placeholder="Votre nom"/> <span class="error-message"><?php if(isset($erreurnom)) echo $erreurnom ;?><br/> <label for="prenom">Prénom : </label><br/> <input id="prenom" type="text" name="prenom" value="<?php if(isset($prenom)) echo $prenom; ?>" placeholder="Votre prénom"/> <span class="error-message"><?php if(isset($erreurprenom)) echo $erreurprenom ;?> <br/> <label for="email">Email : </label><br/> <input id="email" type="email" name="email" value="<?php if(isset($email)) echo $email; ?>" placeholder="Votre adresse email"/> <span class="error-message"><?php if(isset($erreuremail)) echo $erreuremail ;?><br/> <label for="message">Message :</label><br/> <textarea name="message" id="message"><?php if(isset($message)) echo $message; ?>" </textarea> <span class="error-message"><?php if(isset($erreurmessage)) echo $erreurmessage ;?><br/> <input type="submit" value="Envoyer" /> <?php if(isset($erreur)){ echo "<p>$erreur</p>"; } ?> </p> </form> </div>
Je suis actuellement un tuto;
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
39
40
41 <?php if(!empty($_POST)){ extract($_POST); $valid = true; if(empty($nom)){ $valid=false; $erreurnom="Vous n'avez pas rempli votre nom"; } if(!preg_match("/^[a-z0-9\-_.]+-_.]+@[a-z0-9\-_.]+\-_.]+\.[a-z]{2,3}$/i",$email)){ $valid=false; $erreuremail="Votre email n'est pas valide"; } if(empty($prenom)){ $valid=false; $erreurprenom="Vous n'avez pas rempli votre prenom"; } if(empty($email)){ $valid=false; $erreuremail="Vous n'avez pas rempli votre email"; } if(empty($message)){ $valid=false; $erreurmessage="Vous n'avez pas rempli votre message"; } if($valid){ $to = "zbim@aol.com"; $sujet = $prenom." ".$nom." nous écrit depuis StudioT"; if(mail($to, $sujet, $message)){ $erreur= "Votre message nous est bien parvenu"; unset($nom); unset($prenom); unset($email); unset($message); } else{ $erreur = "Votre mail n'a pas pu être délivré"; } } } ?>
à ce stade, je devrai avoir les messages d'erreurs généré par le php après vérification ou même l'envoi de mail.
A la place, je n'ai qu'une page blanche (quand je la ré-actualise, il me demande si je veux ré-envoyer le formulaire, j'imagine qu'il sait qd meme plus ou moins de quoi ça parle).
Auriez-vous une idée ?
D'autres questions se posent :
- quitte à avoir mon index en php, ne pourrais-je pas mettre tous la vérification en php dans cet index (au début), et faire pointer action vers index.php (càd la meme page) ?
- Dans le cas où la vérification de mes champs est faite en PHP (+ les echo d'erreurs, la conservation des champs remplis par l'utilisateur, etc) qu'apporterai de plus une validation en JS ?
Partager