Bonjour
Je viens de terminer un script pour un formulaire et comme je suis novice en la matière il ne fonctionne pas.
En effet, meme si je rentre un numéro de téléphone à 10 chiffres, un message m'indiquant que le numéro ne comporte pas 10 chiffres apparait quand meme.
Je laisse le code de ma page test (code raccourci) ci dessous et j'imagine que l'erreur doit etre celle d'un débutant ...( que je suis d'ailleurs)
Mon formulaire se trouve sur une page formulaire.php et le code qui suit est dans une autre page traitement.php.
Code :
- <?php
- if (isset($_POST["nom"]))
- {
- setcookie('cookie_nom', $_POST["nom"], (time() + 15));
- }
- .................
- if (isset($_POST["email"]))
- {
- setcookie('cookie_email', $_POST["email"], (time() + 15));
- }
- ?>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
- .................
- $formnom = $_POST['nom'];
- $formemail = $_POST['email'];
- ..................
- if(!empty($formemail) && !empty($formprenom) && !empty($formnom) )
- {
- if ( preg_match ("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", "$formemail" ) )
- {
- if ( preg_match("#^0[0-68]([-. ]?[0-9]{2}){4}$#", '$formtelephone') )
- {
- if(md5($nombre) == $_SESSION['valeur_image'])
- {
- //ok pas vide
- //on convertie les caractètres HTML de tous les champs
- $formnom = htmlentities($formnom);
- ...............................................
- $formemail = htmlentities($formemail);
- $formcourrier = "Il s'agit d'une demande de ......... //mis en forme du message qui sera envoyé
- if( mail('moi@fai.com','Demande d\'informations',$formcourrier,$formemail) )
- {
- echo 'Les informations ont bien été envoyées!';
- }
- else {
- echo 'Une erreur est survenu lors de l\'envoi du message';
- }
- }
- else {
- echo 'Vous avez entré un mauvais code'; ?>
- <span><a href="index_reservations.php">Modifier le ou les champs erronés</a></span>
- <?php
- }
- }
- else {
- echo 'Vérifier que votre numéro de téléphone est composé de 10 chiffres'; ?>
- <span><a href="index_reservations.php">Modifier le ou les champs erronés</a></span>
- <?php
- }
- }
- else {
- echo 'Vérifier que votre email est de la forme xxxxxx@xx.xx '; ?>
- <span><a href="index_reservations.php">Modifier le ou les champs erronés</a></span>
- <?php
- }
- }
- else {
- echo 'Merci de remplir les champs Nom Prénom et Email afin que nous puissions traiter votre demande dans les plus brefs délais.'; ?>
- <span><a href="index_reservations.php">Modifier le ou les champs erronés</a></span>
- <?php
- }
- ?>
- .....................
- </body>
- </html>
|
Plusieurs interrogations concernant ce formulaire:
- J'utilise des cookies pour remplir le formulaire avec les données déà entrées comme ca si la personne venait à oubier de remplir son nom prenom ou email les autres champs seraient déjà remplis mais voila, un problème se pose:
Comment faire si l'utilisateur n'entre pas de nom ou de prenom ou d'email ? En effet, la variable $cookie_nom prend la valeur qui se trouve dans la zone texte prévu à cet effet et si l'utilisateur ne rentre rien, lorsque le formulaire réapparait il y a des espaces dans la zone de texte "nom" ou "prenom". Comment remédier à ce problème ?
- Commentfaire si l'on doit remettre le formulaire car il y a une erreur sans faire un lien vers le formulaire ? Je pensais à la redirection mais je n'arrive pas à l'utilser du fait qu'elle doit etre utilisé avant tout alors que moi je voudrais dire à l'utilisateur: Vous avez oublié ce champs ( et puis redirection dans 5 secondes)
Merci d'avance à toutes celles et ceux qui liront mon message.
J'attends vos réponses avec impatience.
kvf300