Formulaire de contact ne fonctionne pas

Fermé
Tigan - Modifié par crapoulou le 25/09/2016 à 22:04
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 27 sept. 2016 à 12:08
Bonjour,
Je m'excuse de vous dérangé mais j'ai un petit problème au niveau de mon site, sachant que je ne maitrise pas la programmation, j'ai téléchargé un modèle gratuit (c'est juste 3 page qui présente mon entreprise) mais quand je l'ai mis en ligne la page contact ne fonctionne pas , comment faire s'il vous plaît ?
qu'est ce que je dois ajouté pour que ca marche
Merci
Bonnesoirée
<div id="contact-form">

      <form method="post" action="" />

       <fieldset>
        <div class="clearfix">
         <label for="name"><span>Nom :</span></label>
         <div class="input">
          <input tabindex="1" size="18" id="name" name="name" type="text" value="" />
         </div>
        </div>

        <div class="clearfix">
         <label for="email"><span>E-mail :</span></label>
         <div class="input">
          <input tabindex="2" size="25" id="email" name="email" type="text" value="" class="input-xlarge" />
         </div>
        </div>

        <div class="clearfix">
         <label for="message"><span>Message:</span></label>
         <div class="input">
          <textarea tabindex="3" class="input-xlarge" id="message" name="body" rows="7"></textarea>
         </div>
        </div>

        <div class="actions">
         <button tabindex="3" type="submit" class="btn btn-large">Envoyer</button>
        </div>
       </fieldset>

      </form>

     </div>



4 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 331
25 sept. 2016 à 22:04
En une ligne de code :
<form method="post" action="" />

Tu as 2 erreurs :
- Action vide
- Tu fermes la balise dès le départ.
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
25 sept. 2016 à 22:19
Salut Nhnery,
Action à vide n'est pas une erreur.....
Çà signifie seulement que lors du submit tu recharges la même page... (et donc que le code php nécessaire au traitement se trouve également dans ce même fichier ...)
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
25 sept. 2016 à 22:07
Bonjour,
Pour commencer.... où as tu placé ces fichiers ? Sur un hébergeur Web ou en "local" sur ton ordi ?
Si c'est en local... as tu installé un logiciel pour faire fonctionner le php.... tel que wamp ou xampp ou easyphp ?
Puis (toujours si tu es en local...) quelle est l'url qui apparait dans ta barre d'adresse ? ça commence bien par http://localhost ou http://127.0.0.1/ ??

Ensuite... là tu ne nous montres que la partie "html" du code... as tu bien la partie PHP ? (car sans ça... normal qu'il ne se passe rien......)


Et enfin..; toujours si tu es en local sur ton ordi .. qui dit formulaire de contact dit "envoie de mail" ... Pour ça il faut que le serveur smtp soit parmaétré (et/ou que ton hébergeur, si tu n'es pas en local autorise l'envoie de mails)


0
Bonsoir,
Je remercie tout le monde de vos réponse, non tous les fichiers sont sur mon espace d'hébergement en ligne.
je n'ai que des pages html, aucune page php
j'ai enlevé la fermeture, mais dans action je met quoi s'il vous plait ?
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
25 sept. 2016 à 22:29
Dans action... rien !
Par contre tu dois coder du php pour pouvoir trairer le formulaire
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
25 sept. 2016 à 22:55
Voici quelques exemples:
https://www.commentcamarche.net/faq/4516-webmaster-un-formulaire-de-contact-pour-votre-site
https://www.commentcamarche.net/faq/117-php-fonction-mail
NB: Tu dois renommer ton fichier en .php pour que le code php qui s'y trouve(ra) s'exécute.
0
Tigan > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
25 sept. 2016 à 22:56
Bonsoir Jordane,
je le laisse vide ?
mais je ne fait pas du codage ni informatique, puis je trouver un code gratuit à ajouter a mon site pour faire fonctionner ce formulaire.?
Merci
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > Tigan
25 sept. 2016 à 22:56
voir ma réponse précédente :-)
0
Merci, oui je viens de voir qu'on peut le laisser vide
j'ai mon site dans les resultats de google je ne prefere pas la supprimer
dans ce cas je dois ajouter le code dans une page php c'est bien ca ? je m'excuse peut etre que c'est des questions de débutant mais je ne sais que changer le contenu je ne touche jamais au code :-(
0
Bonjour tout le monde
je viens d'appliquer un code que j'ai trouver sur un forum, je ne sais malheureusement pas coder, le formulaire je le recois sur mon adresse mail mais je recois un mail vide. Si quelqu'un peut m'indiquer l'erreur s'il vous plaît, merci.
Formulaire.html
<div id="contact-form">

      <form method="post" action="envoi.php">

       <fieldset>
        <div class="clearfix">
         <label for="name"><span>Nom :</span></label>
         <div class="input">
          <input tabindex="1" size="18" id="nom" name="nom" type="text" value="" />
         </div>
        </div>

        <div class="clearfix">
         <label for="email"><span>E-mail :</span></label>
         <div class="input">
          <input tabindex="2" size="25" id="mail" name="mail" type="text" value="" class="input-xlarge" />
         </div>
        </div>
                                
                                <div class="clearfix">
         <label for="email"><span>Intervention :</span></label>
         <div class="input">
          <input tabindex="2" size="25" id="objet" name="objet" type="text" value="" class="input-xlarge" />
         </div>
        </div>

        <div class="clearfix">
         <label for="message"><span>Message:</span></label>
         <div class="input">
          <textarea tabindex="3" class="input-xlarge" id="message" name="message" rows="7"></textarea>
         </div>
        </div>

        <div class="actions">
         <button tabindex="3" type="submit" class="btn btn-large">Envoyer</button>
        </div>
       </fieldset>

      </form>


envoi.php
<?php 
$nom=$HTTP_POST_VARS['nom']; 
$mail=$HTTP_POST_VARS['mail']; 
$objet=$HTTP_POST_VARS['objet']; 
$message=$HTTP_POST_VARS['message']; 

/////voici la version Mine 
$headers = "MIME-Version: 1.0\r\n"; 

//////ici on détermine le mail en format text 
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n"; 

////ici on détermine l'expediteur et l'adresse de réponse 
$headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP"; 

$subject="$objet"; 
$destinataire="monadressemail"; 
$body="$message"; 
if (mail($destinataire,$subject,$body,$headers)) { 
echo "Votre mail a été envoyé<br>"; 
} else { 
echo "Une erreur s'est produite"; 
} 
?></p>




EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
26 sept. 2016 à 18:31
Re bonjour,
Visiblement dans le formulaire tu as une variable nom et mail ...
Sauf que tu ne t'en sers pas ensuite dans l'envoie de l'email...

Essayes de modifier la variable
$body="$message"; 

par :
$body="Nom : $nom \r\n Mail: $mail \r\n Message :\r\n $message"; 


Préfères aussi l'encodage en utf8
$headers .='Content-Type: text/plain; charset="utf-8" \r\n'; // ici on envoie le mail au format texte encodé en UTF-8
$headers .='Content-Transfer-Encoding: 8bit \r\n'; // ici on précise qu'il y a des caractères accentués


Si ça ne fonctionne toujours pas, ajoutes dont au début de ton script PHP la ligne de code suivante :
print_r($_POST);

et dis nous ce que ça t'affiche.
0
Bonsoir Jordane, je vous remercie pour votre aide
voila le code que j'ai modifié ainsi que le résultat , actuellement je reçois un mail ne contenant pas ce que j'ai introduit dans les champs , comme ceci:
objet: aucun objet
nom:
Mail :
message :
MErci pour votre

<div id="contact-form">

<form method="post" action="envoi.php">

<fieldset>
<div class="clearfix">
<label for="name"><span>Nom :</span></label>
<div class="input">
<input tabindex="1" size="18" id="nom" name="nom" type="text" value="" />
</div>
</div>

<div class="clearfix">
<label for="email"><span>E-mail :</span></label>
<div class="input">
<input tabindex="2" size="25" id="mail" name="mail" type="text" value="" class="input-xlarge" />
</div>
</div>

<div class="clearfix">
<label for="email"><span>Intervention :</span></label>
<div class="input">
<input tabindex="2" size="25" id="objet" name="objet" type="text" value="" class="input-xlarge" />
</div>
</div>

<div class="clearfix">
<label for="message"><span>Message:</span></label>
<div class="input">
<textarea tabindex="3" class="input-xlarge" id="message" name="message" rows="7"></textarea>
</div>
</div>

<div class="actions">
<button tabindex="3" type="submit" class="btn btn-large">Envoyer</button>
</div>
</fieldset>

</form>

</div>

page envoie.php
<div id="contact-form">
<?php
print_r($_POST);
$nom=$HTTP_POST_VARS['nom'];
$mail=$HTTP_POST_VARS['mail'];
$objet=$HTTP_POST_VARS['objet'];
$message=$HTTP_POST_VARS['message'];

/////voici la version Mine
$headers = "MIME-Version: 1.0\r\n";

//////ici on détermine le mail en format text
// ici on envoie le mail au format texte encodé en UTF-8
$headers .='Content-Type: text/plain; charset="utf-8" \r\n';

$headers .='Content-Transfer-Encoding: 8bit \r\n'; // ici on précise qu'il y a des caractères accentués

////ici on détermine l'expediteur et l'adresse de réponse
$headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP";

$subject="$objet";
$destinataire="***@***";
$body="Nom : $nom \r\n Mail: $mail \r\n Message :\r\n $message";
if (mail($destinataire,$subject,$body,$headers)) {
echo "Votre mail a été envoyé<br>";
} else {
echo "Une erreur s'est produite";
}
?></p>


</div>
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
26 sept. 2016 à 21:11
Et que donne le print_r ?
0
après avoir envoyé le formulaire je n'ai que Votre mail a été envoyé
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > Tigan
27 sept. 2016 à 00:24
ce n'est pas possible ...
peux tu me faire un imprime écran de ce que tu as à l'écran ?
NB : Pour poster une image sur ce forum.. il faut utiliser le bouton REPONDRE au lieu de "commenter".
Cela fait apparaitre une icone en plus dans la barre en haut du message
0