Problème formulaire de contact php ( e-mail vide )

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 de contact php ( e-mail vide )

Re: Problème formulaire de contact php ( e-mail vide )

par Lino » 14 mai 2015, 07:46

UP

Re: Problème formulaire de contact php ( e-mail vide )

par Lino » 08 mai 2015, 11:03

Bonjour !

C'est très étrange car moi je reçois toujours avec les champs vide (y compris le message) ..

Voici mes modification :

Code : Tout sélectionner

<section id="contact"> <div class="container"> <div class="box last"> <div class="row"> <div class="col-sm-6"> <h1>Contactez-nous :</h1> <p>Si vous avez une question ou une remarque, n'hésitez pas à nous contacter !</p> <div class="status alert alert-success" style="display: none"></div> <form id="main-contact-form" class="contact-form" name="contact-form" method="post" action="sendemail.php" role="form"> <div class="row"> <div class="col-sm-6"> <div class="form-group"> <input name="name" type="text" class="form-control" required="required" placeholder="Nom"> </div> </div> <div class="col-sm-6"> <div class="form-group"> <input name="email" type="text" class="form-control" required="required" placeholder="Email"> </div> </div> <div class="col-sm-6"> <div class="form-group"> <input name="subject" type="text" class="form-control" required="required" placeholder="Sujet"> </div> </div> </div> <div class="row"> <div class="col-sm-12"> <div class="form-group"> <textarea name="message" id="message" required="required" class="form-control" rows="8" placeholder="Message"></textarea> </div> <div class="form-group"> <button type="submit" class="btn btn-danger btn-lg">Envoyer</button> </div> </div> </div> </form> </div><!--/.col-sm-6--> <h1>Rejoignez-nous sur :</h1> <div class="row"> <div class="col-md-6"> <ul class="social"> <li><a href="#"><i class="icon-facebook icon-social"></i> Facebook</a></li> <li><a href="#"><i class="icon-google-plus icon-social"></i> Google Plus</a></li> <li><a href="#"><i class="icon-twitter icon-social"></i> Twitter</a></li> </ul> </div> </div> </div><!--/.col-sm-6--> </div><!--/.row--> </div><!--/.box--> </div><!--/.container--> </section><!--/#contact-->


Merci pour votre aide!

Re: Problème formulaire de contact php ( e-mail vide )

par Saian » 08 mai 2015, 10:46

Salut, bien vu tof73, il faut en effet ajouter un attribut name aux balises input :
<input type="text" name="name" class="form-control" required="required" placeholder="Nom">
<input type="text" name="email" class="form-control" required="required" placeholder="Email">
<input type="text" name="subject" class="form-control" required="required" placeholder="Sujet">
L'attribut placeholder permet de définir le text par défaut du champ.

Re: Problème formulaire de contact php ( e-mail vide )

par tof73 » 08 mai 2015, 02:07

j'ai testé le code et j'obtiens :
Name:

Email:

Subject:

Message: mon message

donc le message tapé apparait bien.
il faut rajouter des name="valeur" dans le code html, pour que cela corresponde au nom des champs en php.

Re: Problème formulaire de contact php ( e-mail vide )

par Lino » 08 mai 2015, 01:58

Oui je remplis tout les champs ..
Je comprends pas .. J'ai récupéré ca d'une template en faite ..

Que dois-je faire ?

Merci

Re: Problème formulaire de contact php ( e-mail vide )

par tof73 » 08 mai 2015, 00:46

$name = @trim(stripslashes($_POST['name']));
$email = @trim(stripslashes($_POST['email']));
$subject = @trim(stripslashes($_POST['subject']));
$message = @trim(stripslashes($_POST['message']));

tu rentres bien un message dans la zone de texte ?
vu qu'il y a name="message" dans le code html, cela devrait fonctionner.
pour les autres champs, il manque l'attribut name, voir carrément le champ pour le sujet.

Re: Problème formulaire de contact php ( e-mail vide )

par Lino » 07 mai 2015, 22:38

Bonsoir,

J'ai changé comme vous m'avez dit :

Code : Tout sélectionner

<?php header('Content-type: application/json'); $status = array( 'type'=>'success', 'message'=>'Email sent!' ); $name = trim(stripslashes($_POST['name'])); $email = trim(stripslashes($_POST['email'])); $subject = trim(stripslashes($_POST['subject'])); $message = trim(stripslashes($_POST['message'])); $email_from = $email; $email_to = '[email protected]'; $body = 'Name: ' . $name . "\n\n" . 'Email: ' . $email . "\n\n" . 'Subject: ' . $subject . "\n\n" . 'Message: ' . $message; $success = mail($email_to, $subject, $body, 'From: <'.$email_from.'>'); echo json_encode($status); die;
Mais le résultat est le même .. Merci de votre aide !

Re: Problème formulaire de contact php ( e-mail vide )

par @rthur » 07 mai 2015, 21:33

Bonjour,

Commence par supprimer tous les arobases de ton code, ils servent à masquer les messages d'erreur or c'est justement ce dont tu as besoin pour débuguer ton code.

Problème formulaire de contact php ( e-mail vide )

par Lino » 07 mai 2015, 17:05

Bonjour,
J'ai un formulaire de contact dans ma page d'accueil, tout avait l'air de fonctionner sauf que lorsque j'envoie le mail via le formulaire de contact, je reçois un mail mais vide, avec juste ca :
Name:

Email:

Subject:

Message:
Donc si vous pouviez m'aider a trouver d'où vient l'erreur..

Mon index.html

Code : Tout sélectionner

<section id="contact"> <div class="container"> <div class="box last"> <div class="row"> <div class="col-sm-6"> <h1>Contactez-nous :</h1> <p>Si vous avez une question ou une remarque, n'hésitez pas à nous contacter !</p> <div class="status alert alert-success" style="display: none"></div> <form id="main-contact-form" class="contact-form" name="contact-form" method="post" action="sendemail.php" role="form"> <div class="row"> <div class="col-sm-6"> <div class="form-group"> <input type="text" class="form-control" required="required" placeholder="Nom"> </div> </div> <div class="col-sm-6"> <div class="form-group"> <input type="text" class="form-control" required="required" placeholder="Email"> </div> </div> </div> <div class="row"> <div class="col-sm-12"> <div class="form-group"> <textarea name="message" id="message" required="required" class="form-control" rows="8" placeholder="Message"></textarea> </div> <div class="form-group"> <button type="submit" class="btn btn-danger btn-lg">Envoyer</button> </div> </div> </div> </form> </div><!--/.col-sm-6--> <h1>Rejoignez-nous sur :</h1> <div class="row"> <div class="col-md-6"> <ul class="social"> <li><a href="#"><i class="icon-facebook icon-social"></i> Facebook</a></li> <li><a href="#"><i class="icon-google-plus icon-social"></i> Google Plus</a></li> <li><a href="#"><i class="icon-twitter icon-social"></i> Twitter</a></li> </ul> </div> </div> </div><!--/.col-sm-6--> </div><!--/.row--> </div><!--/.box--> </div><!--/.container--> </section><!--/#contact-->
Et ma page sendemail.php :

Code : Tout sélectionner

<?php header('Content-type: application/json'); $status = array( 'type'=>'success', 'message'=>'Email sent!' ); $name = @trim(stripslashes($_POST['name'])); $email = @trim(stripslashes($_POST['email'])); $subject = @trim(stripslashes($_POST['subject'])); $message = @trim(stripslashes($_POST['message'])); $email_from = $email; $email_to = '[email protected]'; $body = 'Name: ' . $name . "\n\n" . 'Email: ' . $email . "\n\n" . 'Subject: ' . $subject . "\n\n" . 'Message: ' . $message; $success = @mail($email_to, $subject, $body, 'From: <'.$email_from.'>'); echo json_encode($status); die;
Merci pour votre aide !