Formulaire de contact

arm57 Messages postés 260 Date d'inscription   Statut Membre Dernière intervention   -  
dugenou Messages postés 6087 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous!

J'ai voulu utilisé ce code pour pouvoir envoyer directement des mails depuis mon site:

<?php
$action=$_REQUEST['action'];
if ($action=="") /* display the contact form */
{
?>
<form action="" method="POST" enctype="multipart/form-data">
<input type="hidden" name="action" value="submit">
Your name:<br>
<input name="name" type="text" value="" size="30"/><br>
Your email:<br>
<input name="email" type="text" value="" size="30"/><br>
Your message:<br>
<textarea name="message" rows="7" cols="30"></textarea><br>
<button class="yourclasshere" type="submit" name="sendMail">Send Mail</button>
</form>
<?php
}
else /* send the submitted data */
{
$name=$_REQUEST['name'];
$email=$_REQUEST['email'];
$message=$_REQUEST['message'];
if (($name=="")||($email=="")||($message==""))
{
echo "All fields are required, please fill <a href=\"\">the form</a> again.";
}
else{
$from="From: $name<$email>\r\nReturn-path: $email";
$subject="Message sent using your contact form";
mail("monadressemail", $subject, $message, $from);
echo "Email sent!";
}
}
?>


Cependant, quand je le teste, le message "Cannot POST /index.html" apparait...

Quel est le problème?

Merci d'avance.

5 réponses

dugenou Messages postés 6087 Date d'inscription   Statut Contributeur Dernière intervention   1 452
 
Bonjour,

Je n'ai pas détaillé tout ton code, mais à première vue, il y a deux problèmes.

Il doit se trouver dans un fichier avec l'extension PHP, par exemple contact.php et il faut mettre le nom du fichier dans cette partie du code :

<form  action="contact.php" method="POST" enctype="multipart/form-data">




Courage, le bout du tunnel n'est pas loin, il suffit de se retourner.
0
arm57 Messages postés 260 Date d'inscription   Statut Membre Dernière intervention   41
 
Le problème étant que je n'ai que ce morceau de code que j'ai posté...

J'ai également trouvé formulaire: http://www.php-astux.info/script-formulaire-contact.php
Qui correspond à ce que je voudrais (à savoir un formulaire de contact avec envoi directe), mais je ne sais pas comment le mettre en place...

"Les Hommes ne lâchent jamais l'affaire, sauf quand leurs propres vies sont en danger"
0
Konseil Messages postés 643 Date d'inscription   Statut Membre Dernière intervention   430
 
1ere chose, il faut t'assurer que la fonction mail() est bien activée sur ton hébergement.
0
dugenou Messages postés 6087 Date d'inscription   Statut Contributeur Dernière intervention   1 452 > Konseil Messages postés 643 Date d'inscription   Statut Membre Dernière intervention  
 
Effectivement !
0
dugenou Messages postés 6087 Date d'inscription   Statut Contributeur Dernière intervention   1 452
 
Le premier script de formulaire de contact devrait fonctionner si tu appliques les modifications que j'ai précisées.

Il faut aussi ajouter ton adresse mail de destination dans cette partie du code :

mail("monadressemail", $subject, $message, $from);


Par exemple :

mail("toto@free.fr", $subject, $message, $from);


Sinon, plutôt que de chercher d'autres scripts, tu peux utiliser un générateur de formulaire de contact :

https://duckduckgo.com/?q=g%C3%A9n%C3%A9rateur+de+formulaire+php&t=h_&ia=web
0
arm57 Messages postés 260 Date d'inscription   Statut Membre Dernière intervention   41
 
Le problème c'est que je n'ai pas trouvé un seul générateur qui ne demande pas de s'inscrire ou qui ne renvoi pas au site directement, et je voudrais éviter cet inconvénient...
0
dugenou Messages postés 6087 Date d'inscription   Statut Contributeur Dernière intervention   1 452
 
As-tu essayé de faire les modifications sur ton premier script ?
0
arm57 Messages postés 260 Date d'inscription   Statut Membre Dernière intervention   41
 
J'ai bien mis mon adresse mail sans problème, mais je n'ai pas compris ce que tu as dit plus haut:

"Il doit se trouver dans un fichier avec l'extension PHP, par exemple contact.php et il faut mettre le nom du fichier dans cette partie du code :

<form  action="contact.php" method="POST" enctype="multipart/form-data">
"

Je n'ai que le morceau de code que j'ai mis dans mon premier post...
0
dugenou Messages postés 6087 Date d'inscription   Statut Contributeur Dernière intervention   1 452
 
Bonjour,

Il faut créer un fichier texte avec l'extension PHP, par exemple, contact.php.
Si tu es sous Windows, tu peux utiliser le bloc note ou NotePad.

Ensuite, il faut copier/coller le code à l'intérieur de ce fichier contact.php.

Voici le code modifié à copier/coller dans le fichier contact.php :

<?php
$action=$_REQUEST['action'];
if ($action=="")    /* afficher le formulaire de contact */
    {
    ?>
    <form  action="contact.php" method="POST" enctype="multipart/form-data">
    <input type="hidden" name="action" value="submit">
    Votre nom:<br>
    <input name="name" type="text" value="" size="30"/><br>
    Votre adresse mail:<br>
    <input name="email" type="text" value="" size="30"/><br>
    Votre message:<br>
    <textarea name="message" rows="7" cols="30"></textarea><br>
    <button class="votreclassici" type="submit" name="sendMail">Envoyer le message</button>
    </form>
    <?php
    } 
else                /* envoyer les données soumises */
    {
    $name=$_REQUEST['name'];
    $email=$_REQUEST['email'];
    $message=$_REQUEST['message'];
    if (($name=="")||($email=="")||($message==""))
        {
  echo "Veuillez remplir tous les champs<a href=\"\"> du formulaire</a> SVP.";
     }
    else{  
     $from="From: $name<$email>\r\nReturn-path: $email";
        $subject="Message envoyé en utilisant votre formulaire de contact";
  mail("adresse@mail.fr", $subject, $message, $from);
  echo "Message envoyé !";
     }
    }  
?>


Tu n'auras plus qu' à mettre ton adresse mail dans cette partie du code :

mail("adresse@mail.fr", $subject, $message, $from);


Tu peux ensuite, mettre du HTML autour pour l'intégrer à ton site.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
arm57 Messages postés 260 Date d'inscription   Statut Membre Dernière intervention   41
 
Alors, j'ai bien remplacé tout comme tu m'as dit, le formulaire apparait (première image) et lorsque je clique sur "Envoyer le message", je me retrouve avec des ligne de code (deuxième image)

0
dugenou Messages postés 6087 Date d'inscription   Statut Contributeur Dernière intervention   1 452
 
Ton site est hébergé chez qui ?
Peux-tu donner son adresse sans mettre http://
0