Problème Formulaire

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème Formulaire

Re: Problème Formulaire

par Jim125 » 15 déc. 2011, 13:39

Salut,

Tu devrais vérifier les champs en Javascript d'abord, ça sera plus léger et ça évite de charger des pages pour rien.
Ensuite, une vérification en php côté serveur, mais pour la sécurité.

Pense à écrire &eacute au lieu de é, idem pour les autres lettres accentuées ou caractères spéciaux.
Utilise Elseif aussi. Voilà, si ça peut t'aider.

Re: Problème Formulaire

par Ryle » 14 déc. 2011, 23:11

Ouaip.. à une petite erreur près, tu as une guillemet en trop qui traîne après ton $demande, et qui ferme la chaîne trop tôt... :)

Re: Problème Formulaire

par krealiz » 14 déc. 2011, 10:47

Merci Ryle,

Oui effectivement elle est pas mal celle-là...
Donc au final, si j'ai bien compris, mon code va donner pour cette partie :
$message ="<html><p>Civilité : $civilite<br>
                 Nom : $nom<br>
                 Prénom : $prenom<br>
                 Société : $societe<br>
                 Fonction : $fonction<br>
                 Téléphone : $tel<br>
                 Email : $email</p>
                 <p>Demande :<br> $demande"</p></html>";

Re: Problème Formulaire

par Ryle » 13 déc. 2011, 22:54

Ta variable $message contient une chaine déclarée entre apostrophes... du coup il te faut sortir les variables des chaines pour qu'elles soient interprétées :) (ou mettre la chaine entre guillemets, vu que dans ce cas les variables qu'elle contient sont interprétées)

Ps : "Votre message nous est bien parvenu" ça pique fort les yeux sinon ;) (à noter qu'il est plutôt original d'avoir un message de succès dans une variable qui s'appel erreur ;))

Problème Formulaire

par krealiz » 12 déc. 2011, 14:22

Bonjour,
Je bosse actuellement sur un formulaire de contact mail, mais j'ai un souci au niveau de la synthèse des données à compiler (synthèse en html)...
Je crois qu'il doit y avoir juste 2 fois rien à changer... Si quelqu'un pouvez me rendre ce service je lui en serai grandement reconnaissant...
Ci dessous le code de la page en question (qui est un insert au passage)
Merci,

Code : Tout sélectionner

<?php if(!empty($_POST)){ extract($_POST); $valid = true; if(empty($prenom)){ $valid=false; $erreurprenom="Vous n'avez pas rempli votre prénom"; } if(empty($nom)){ $valid=false; $erreurnom="Vous n'avez pas rempli votre nom"; } if(empty($societe)){ $valid=false; $erreursociete="Vous n'avez pas rempli votre société"; } if(empty($tel)){ $valid=false; $erreurtel="Vous n'avez pas rempli votre numéro de téléphone"; } if(!preg_match("/^[a-z0-9\-_.]+@[a-z0-9\-_.]+\.[a-z]{2,3}$/i",$email)){ echo "Votre email n'est pas valide"; } if(empty($email)){ $valid=false; $erreuremail="Vous n'avez pas rempli votre e-mail"; } if(empty($demande)){ $valid=false; $erreurdemande="Vous n'avez pas rempli votre demande"; } if($valid){ $to ="[email protected]"; $sujet = $nom. " vous a contacté via le site client.fr"; $message ='<html><p>Civilité : $civilite<br> Nom : $nom<br> Prénom : $prenom<br> Société : $societe<br> Fonction : $fonction<br> Téléphone : $tel<br> Email : $email</p> <p>Demande :<br> $demande"</p></html>'; $header = "From: $nom <$email> \n"; $header .= 'MIME-Version: 1.0' . "\n"; $header .= 'Content-type: text/html; charset=UTF-8' . "\r\n"; $demande = stripslashes($demande); $nom = stripslashes($nom); $prenom = stripslashes($prenom); if (mail($to,$sujet,$message,$header)){ $erreur = "Votre message nous ai bien parvenu"; unset($prenom); unset($nom); unset($societe); unset($tel); unset($email); unset($demande); } else{ $erreur = " Une erreur est survenue et votre mail n'est pas partie "; } } } ?> <h8>Vos informations</h8> <?php if(isset($erreur)){ echo "<p>$erreur</p>"; } ?> <form id="account-creation_form" class="std" method="post" action="#"> <fieldset class="account_creation"> <p class="radio required"> <span>Civilité<sup>*</sup></span> <input id="civilite1" type="radio" value="Mr" name="civilite"> <label class="top" for="civilite1">Mr</label> <input id="civilite2" type="radio" value="Mme" name="civilite"> <label class="top" for="civilite2">Mme</label> </p> <span class="error-message"><?php if(isset($erreurprenom)) echo $erreurprenom; ?></span> <p class="required text"> <label for="prenom">Prénom<sup>*</sup></label> <input id="prenom" class="text" type="text" value="" name="prenom"> </p> <span class="error-message"><?php if(isset($erreurnom)) echo $erreurnom; ?></span> <p class="required text"> <label for="nom">Nom<sup>*</sup></label> <input id="nom" class="text" type="text" value="" name="nom"> </p> <span class="error-message"><?php if(isset($erreursociete)) echo $erreursociete; ?></span> <p class="required text"> <label for="societe">Société<sup>*</sup></label> <input id="societe" class="text" type="text" value="" name="societe"> </p> <p class="required text"> <label for="fonction">Fonction<sup>*</sup></label> <select id="id_post" name="fonction"> <option value="">-</option> <option value="PDG,DG">PDG,DG</option> <option value="DRH">DRH</option> <option value="Commerce-Marketing">Commerce-Marketing</option> <option value="Autres">Autres</option> </select> </p> <span class="error-message"><?php if(isset($erreurtel)) echo $erreurtel; ?></span> <p class="required text"> <label for="tel">Tél.<sup>*</sup></label> <input id="tel" class="text" type="text" value="" name="tel"> </p> <span class="error-message"><?php if(isset($erreuremail)) echo $erreuremail; ?></span> <p class="required text"> <label for="email">E-mail<sup>*</sup></label> <input id="email" class="text" type="text" value="" name="email"> </p> <span class="error-message"><?php if(isset($erreurdemande)) echo $erreurdemande; ?></span> <p><textarea name="demande" cols="88" rows="10" id="demande" onfocus="this.value=''">Votre demande ici</textarea></p> <p><input type="submit" class="bouton" value="Envoyer le message" name="submit"></p> </fieldset> </form>