Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: lefrangin le le 30-04-2012 a 17:56:04

Titre: Pb avec Formulaire
Posté par: lefrangin le le 30-04-2012 a 17:56:04

Bonjour,

Je suis en train de faire mon formulaire de contact et je n'arrive pas à faire valider l'envoi des informations.

Une fois le formulaire rempli et valider, une nouvelle page s'ouvre et me met "Vous devez d'abord envoyer le formulaire."

J'ai beau chercher je ne trouve pas le problème.

Qqn pourrais t il m'aider afin que je puisse enfin arriver à bout de cette page contact.
Je précise que c'est mon site perso et non un travail pour un tiers.

Merci d'avance aux personnes qui m'aideront.

++

PS : http://gc-design.fr/contact/index.html

Titre: Re:Pb avec Formulaire
Posté par: Vitamine-web le le 30-04-2012 a 18:35:10

Bonjour,

Visiblement le formulaire pointe sur : traitement_formulaire.php, c'est lui qui pose surement problème ou alors le script attent peut être autre chose comme champ à valider.

Sur quel CMS est développé le site?

Titre: Re:Pb avec Formulaire
Posté par: lefrangin le le 30-04-2012 a 20:06:27

Bonjour,

Effectivement cela est relié à traitement_formulaire.php, mais n'étant pas assez pointu la dessus je ne trouve pas la solution.

Le site a été crée à partir d'un template en html classic.

Je laisse le fichier php pour si vous pouvez y déceler une erreur.
http://gc-design.fr/traitement_formulaire.rar

Merci d'avance

Titre: Re:Pb avec Formulaire
Posté par: WebD le le 01-05-2012 a 08:36:21

Salut,
Cette erreur s'affiche quand l'utilisateur accède à la page de traitement sans appuyer sur le bouton de validation.
C'est la ligne

Code:
if (!isset($_POST['envoi']))


Or ton bouton de validation à pour nom contact_submit.
Il faut donc remplacer la ligne par:

Code:
if (!isset($_POST['contact_submit']))


Ça la fou un peu mal de pas savoir ça en tant que créateur de site internet mais bon...

A+

Titre: Re:Pb avec Formulaire
Posté par: lefrangin le le 01-05-2012 a 12:11:11

Bonjour,

Merci à toi pour ton aide, pour répondre à ton observation, je suis plus graphiste que créateur de site web, je sous traite cette partie de mes prestations.

Concernant mon formulaire, le message arrive bien dans ma boite mais je ne reçois que la partie "message", tous les autres champs ne sont pas dans le mail d'arrivé.

Aurais tu une solution à m'apporter ?

Je remercie d'avance

Titre: Re:Pb avec Formulaire
Posté par: Soundboy39 le le 07-05-2012 a 08:54:37

hello,

est tu sur que tu traite bien tous les $_POST[] ???

Titre: Re:Pb avec Formulaire
Posté par: lefrangin le le 07-05-2012 a 21:05:45

Salut,

Bah je t'avouerai que je suis un peu dans la panade avec ce formulaire, j'ai bien essayé de me dépatouiller tout seul mais force est de constater que je ne sais pas ou est le problème.

Si à l'occaz tu peux jeter un coup d'oeil.

http://gc-design.fr/traitement_formulaire.rar

Merci d'avance ;)

Titre: Re:Pb avec Formulaire
Posté par: Soundboy39 le le 08-05-2012 a 09:33:21

re,

Bon c'est quand même du très basic ton erreur ::) ::) ::) !!

Je ne vois pas comment tu fais pour envoyer ton formulaire sans bouton d'envoi,
au départ je pensais que tu utilise du javascript mais j'en ai pas vu donc j'en ai déduis que tu la réellement oublié...
d'où l'erreur déclenchée par :

if (!isset($_POST['contact_submit']))
   {
      // formulaire non envoyé
      echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
   }

Donc première correction au niveau de la div "form_submit" :

<div class="form_submit">
<div id="submitter">
      <input type="submit" value="Envoyer" name="contact_submit" />
   </div>
</div>

Voilà cette fois le formulaire est bien envoyé avec tous les paramètres nécessaires au traitement.

Ensuite : il y a également une correction à appliqué dans le fichier "traitement_formulaire.php" au niveau des lignes 62-63.
Ligne 62 : la déclaration du pattern est mal délimitée (il manque un ^ à la fin);
Ligne 63 : La fonction eregi() est obsolète, à remplacer par preg_match;

Voilà pour moi ça marche jusqu'à l'envoie du mail, que je ne peu pas faire puisque je suis en local, mais quoi qu'il en soit cette fois tu arrive au bout !...
...Merci qui ?

Titre: Re:Pb avec Formulaire
Posté par: lefrangin le le 08-05-2012 a 11:44:01

Salut Soundboy,

Tout d'abord merci à toi pour ton aide.
Concernant le bouton d'envoi, il y en bien un à la base, il s'affiche lorsque tu remplis la question "5+3".
Désormais avec ton code, j'ai un bouton envoyer qui s'affiche tout le temps mais aussi un bouton "validation>>" qui s'affiche lorsqu'on répond à la question.

Ensuite, j'ai fais un envoi et j'ai toujours le même problème, je ne reçois que les infos inscrites dans la case "demande".

Voila, je pense pas avoir fait d'erreur en faisant tes corrections.

Titre: Re:Pb avec Formulaire
Posté par: WebD le le 08-05-2012 a 19:17:08

Pour le bouton de validation c'est bon pas besoin de toucher à ça comme te le dit Soundboy39.
Il faut maintenant que tu ajoutes les infos dans le corp du message. Pour le téléphone par exemple:

Code:

$message.= "Téléphone:".$tel;


A+

Titre: Re:Pb avec Formulaire
Posté par: lefrangin le le 09-05-2012 a 00:42:18

Merci pour ton aide WebD, mais après plusieurs essais et changement de code je n'ai pas trouvé la solution.
Ca peut paraitre simple pour des connaisseurs mais pour qqn comme moi qui connait pas le codage c'est un calvaire.

Titre: Re:Pb avec Formulaire
Posté par: WebD le le 09-05-2012 a 21:45:43

Dis moi exactement ce que tu reçois.
Quel sujet quel message...?

Olivier.

Titre: Re:Pb avec Formulaire
Posté par: lefrangin le le 09-05-2012 a 23:37:56

Salut,

Alors je reçois ce qu'il y a d'écrit dans les cases demande et message.

La case demande est noté en tant que sujet du mail et la case message est dans le corps du mail.

De plus dans le fichier traitement_formulaire j'ai noté "non" à la commande, envoi d'une copie et la copie arrive tout de même à l'auteur du mail.

http://gc-design.fr/exemple_formulaire.jpg

Merci à toi pour ton aide.

Titre: Re:Pb avec Formulaire
Posté par: Soundboy39 le le 10-05-2012 a 18:47:15

Si tu n'est que designer pourquoi tu ne passe pas par un CMS comme Joomla! plutôt que de tout coder toi même ??

Titre: Re:Pb avec Formulaire
Posté par: lefrangin le le 10-05-2012 a 18:58:35

Bah à vrai dire mon site précédent était fait sous joomla et c'est beaucoup moins pratique au niveau graphisme (je trouve) et je pensais pas que j'allais tant galérer pour faire le formulaire de contact sinon j'aurai juste mis mon mail en contact et basta, mais la il m'a tellement pris la tête ce formulaire que je le laisserai pas gagné...lol

Titre: Re:Pb avec Formulaire
Posté par: WebD le le 10-05-2012 a 19:10:27

Quand tu ajoutes:
$message.= "Téléphone:".$tel;
Juste avant l'envoi du mail ça fait quoi?

Titre: Re:Pb avec Formulaire
Posté par: lefrangin le le 10-05-2012 a 20:39:24

Bah ça fait la même chose, à savoir encore si je met le code au bon endroit...

Titre: Re:Pb avec Formulaire
Posté par: WebD le le 10-05-2012 a 20:52:44

Comme ça:


Code:

// Remplacement de certains caractères spéciaux
         $message = str_replace("&#039;","'",$message);
         $message = str_replace("&#8217;","'",$message);
         $message = str_replace("&quot;",'"',$message);
         $message = str_replace('<br>','',$message);
         $message = str_replace('<br />','',$message);
         $message = str_replace("&lt;","<",$message);
         $message = str_replace("&gt;",">",$message);
         $message = str_replace("&amp;","&",$message);

if(isset($tel))
$message.="Tel:".$tel."\n";

if(isset($website))
$message.="Site:".$websitel."\n";

         // Envoi du mail
         if (mail($cible, $sujet, $message, $headers))
         {
            echo '<p>'.$message_envoye.'</p>'."\n";
         }
         else
         {
            echo '<p>'.$message_non_envoye.'</p>'."\n";
         };

Titre: Re:Pb avec Formulaire
Posté par: lefrangin le le 10-05-2012 a 23:55:51

Bon bah cela fonctionne.
J'avais un soucis car j'avais appelé une balise de mon formulaire "message" ce qui brouillait le mail d'arriver sur ma boite.

Donc je reçois bien le formulaire, merci à tous les 2 (WebD et Soundboy39) pour votre coup de main.

Si vous avez besoin d'un truc pour un design n'hésitez pas.

A bientôt.




Titre: Re:Pb avec Formulaire
Posté par: lefrangin le le 11-05-2012 a 01:03:02

J'avais une autre question.

Actuellement lorsque le visiteur valide le formulaire, ce message "Votre message nous est bien parvenu !" est écrit sur une page blanche peu sympathique.

J'ai fais une page spéciale pour le message de bon envoi du formulaire.

Que dois je mettre comme code sachant que la j'ai ça :

// Messages de confirmation du mail
   $message_envoye = "Votre message nous est bien parvenu !";
   $message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";

   // Messages d'erreur du formulaire
   $message_erreur_formulaire = "Vous devez d'abord <a href=\"index.html\">envoyer le formulaire</a>.";
   $message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";

la page visée est sur ce chemin :
http://gc-design.fr/contact/your-message-has-been-sent/index.html

J'ai essayé d'incorporer un lien direct vers cette page mais cela ne fonctionne pas.

Merci à vous.

Titre: Re:Pb avec Formulaire
Posté par: WebD le le 11-05-2012 a 19:22:29

LOL on va finir par te faire ton site entièrement!
La ça devient plus compliqué, soit tu fais en sorte que la page http://gc-design.fr/contact/traitement_formulaire.php affiche un design.

Soit tu fais ton traitement php directement dans http://gc-design.fr/contact/index.html

Bon courage

Titre: Re:Pb avec Formulaire
Posté par: lefrangin le le 15-05-2012 a 18:58:46

Salut Olivier,

Je vais surement laisser comme ça, la ça devient des gouts de luxe...lol

Merci en tout cas pour le coup de main.

A bientôt


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.