Récupérer les données d'un formulaire et les envoyer par mai

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 : Récupérer les données d'un formulaire et les envoyer par mai

Re: Récupérer les données d'un formulaire et les envoyer par mai

par kmrkung » 11 févr. 2011, 05:57

salut

bon je vais pas pouvoir t'aider avec le probleme actuel , mais par contre je peux c'est si tu ne le connaissais pas deja, un site pour apprendre le php. En qques jours tu devrais avoir assez de connaissances pour faire face a ton probleme..

le site: http://www.siteduzero.com

bon courage...

Re: Récupérer les données d'un formulaire et les envoyer par mai

par Fika » 25 janv. 2011, 16:59

Bonjour Moogli (et les autres !)
Je reçois bien le mail mais je n'arrive pas à modifier ton code pour enlever le echo "mail OK"
Quand je l'enlève, je ne reçois plus de mail.
Et quand j'enlève les // de commentaire de la page de redirection, j'ai un message d'erreur.
Peux-tu m'aider à nettoyer le code stp ? (Ou si une autre bonne âme veut s'y coller !)
Merci beaucoup
<?php
$TO = "[email protected]";

$h = "From: " . $TO;
$message = $_POST['nom']."\r\n".$_POST['prenom']."\r\n".$_POST['adresse'];

if (mail($TO, $_POST['subject'], $message, $h)) {
echo 'mail oki !';
}
else echo 'mail nok :\'(';
//header("Location: http://ina.fr");
?>

Re: Récupérer les données d'un formulaire et les envoyer par mai

par Fika » 21 janv. 2011, 09:54

Ca marche !!!!!!!!!!!!!!!!!!!!
Wouahou !
Merci beaucoup !

Un dernier truc : je peux envoyer le mail à 2 personnes ?
J'ai fait quelques essais de mon invention mais sans succès.

Merci merci merci ! :)

Re: Récupérer les données d'un formulaire et les envoyer par mai

par moogli » 20 janv. 2011, 23:33

ça affiche quelque chose ?

faudrais que l'on sache la version de php aussi (avec un echo phpversion(); ou en regardant un phpinfo(); )

rraaa je suis un boulet aussi, il faut indique un nom aux champ html (attribut name), le code devient donc :
<form method="POST" action="formmail.php" >
  <fieldset>
  <input type="hidden" name="subject" value="formmail">
          <label for="nom">Nom* :</label><input type="text" id="nom" name="nom" size="70" />
          <label for="prenom">Prénom* :</label><input type="text" id="prenom" name="prenom" size="70" />
          <label for="adresse">Adresse* :</label><input type="text" id="adresse" name="adresse" size="70" />
          <label><INPUT TYPE="submit" VALUE="Envoyer" ></label>
  </fieldset>
</form>
essai donc
<?php
$TO = "[email protected]";

$h = "From: " . $TO;
$message = $_POST['nom']."\r\n".$_POST['prenom']."\r\n".$_POST['adresse'];

if (mail($TO, $_POST['subject'], $message, $h)) {
echo 'mail oki !';
}
else echo 'mail nok :\'(';
//header("Location: http://ina.fr");
?>
avec ça tu devrais pouvoir réaliser ce que tu veut.

@+

Re: Récupérer les données d'un formulaire et les envoyer par mai

par Fika » 20 janv. 2011, 22:20

Bonsoir
Je l'ai donc mis dans formmail.php, au début, comme ça :
<?php
var_dump($_POST);
$TO = "[email protected]";
$h = "From: " . $TO;
$message = "";
while (list($key, $val) = each($HTTP_POST_VARS)) {
$message .= "$key : $val\n";
}
mail($TO, $subject, $message, $h);
Header("Location: http://ina.fr");
?>
C'est ce que tu voulais ?

Ca n'a rien changé en tout cas.

Re: Récupérer les données d'un formulaire et les envoyer par mai

par moogli » 20 janv. 2011, 03:55

juste mettre un var_dump($_POST); dans le fichier cible du formulaire pour voir si tu a bien toute les info du formulaire qui s'affichent

@+

Re: Récupérer les données d'un formulaire et les envoyer par mai

par Fika » 20 janv. 2011, 02:38

bon j'ai donc testé
Merci !

J'ai pris ton PHP et l'ai mis à la place du mien et j'ai reçu le même mail que toi.
Maintenant comme je suis newbie totale en PHP je ne suis pas sûre de saisir ce que tu me demandes :
l'affichage des erreurs est actif ?
J'ai regardé dans le fichier 'apache_error.log' mais il n'y avait rien à la date d'aujourd'hui.
un var_dump($_POST); fournit bien les valeurs saisies dans le formulaire
Excuse-moi mais je ne comprends pas ce que ça veut dire.

Re: Récupérer les données d'un formulaire et les envoyer par mai

par moogli » 20 janv. 2011, 02:27

bon j'ai donc testé
<?php
$TO = "[email protected]";

$h = "From: " . $TO;
//bon ça c'est pour éviter le formulaire  :roll: (ça fonctionne pareil avec un formulaire)
$_POST = array('nom'=>'moog','prenom'=>'li','adresse' =>'jungle city ;)','subject'=>'ceci est un mail de test ^^');
$message = $_POST['nom']."\r\n".$_POST['prenom']."\r\n".$_POST['adresse'];

if (mail($TO, $_POST['subject'], $message, $h)) {
echo 'mail oki !';
}
else echo 'mail nok :\'(';
//header("Location: http://ina.fr");
?>
mail reçu
- titre ceci est un mail de test ^^
- message
moog
li
jungle city ;)
le code est donc fonctionnel.

si ça ne l'est pas pour toi peut tu vérifier si
- l'affichage des erreurs est actif ?
- un var_dump($_POST); fournit bien les valeurs saisies dans le formulaire
- dans le formulaire html la méthode est normalement en minuscule, mais il me semble que ça change rien.

au pire test ce code de ce message tu verra bien ce que ça donne

@+

Re: Récupérer les données d'un formulaire et les envoyer par mai

par Fika » 20 janv. 2011, 00:20

Ca m'envoie toujours un mail dont le seul contenu est : subject : formmail

Re: Récupérer les données d'un formulaire et les envoyer par mai

par moogli » 19 janv. 2011, 22:23

oula oui c'est du php3 la nan ? :)
<?php
$TO = [email protected]";

$h = "From: " . $TO;

$message = $_POST['nom']."\r\n".$_POST['prenom']."\r\n".$_POST['adresse'];

mail($TO, $_POST['subject'], $message, $h);
header("Location: http://ina.fr");
?>
esdsai ça ;)

@+

Re: Récupérer les données d'un formulaire et les envoyer par mai

par Fika » 19 janv. 2011, 18:50

Mon HTML :
<form method="POST" action="formmail.php" >
  <fieldset>
  <input type="hidden" name="subject" value="formmail"> 
          <label for="nom">Nom* :</label><input type="text" id="nom" size="70" />
          <label for="prenom">Prénom* :</label><input type="text" id="prenom" size="70" />
          <label for="adresse">Adresse* :</label><input type="text" id="adresse" size="70" />
          <label><INPUT TYPE="submit" VALUE="Envoyer" ></label>
  </fieldset>
</form>
Mon PHP (intégralité du fichier PHP) :
<?php
$TO = [email protected]";

$h = "From: " . $TO;

$message = "";

while (list($key, $val) = each($HTTP_POST_VARS)) {
$message .= "$key : $val\n";
}

mail($TO, $subject, $message, $h);

Header("Location: http://ina.fr");

?>

Re: Récupérer les données d'un formulaire et les envoyer par mai

par moogli » 19 janv. 2011, 18:23

quel est le dernier code utiliser ?

le formulaire et la validation

@+

Re: Récupérer les données d'un formulaire et les envoyer par mai

par Fika » 19 janv. 2011, 18:22

Ah OK je saurai pour la prochaine fois, merci.
Néanmoins, là c'est un problème que j'avais résolu, aurais-tu une solution pour mon problème d'envoi de mail vide ?
Thanxs !

Re: Récupérer les données d'un formulaire et les envoyer par mai

par moogli » 19 janv. 2011, 18:12

heu wé mais sinon le php avant le html
par exemple
<?php
// validation du formulaire et envoie du mail

?>
<html>
<head></head>
<body>
blabla
</body>
</html>
@+

Re: Récupérer les données d'un formulaire et les envoyer par mai

par Fika » 19 janv. 2011, 17:59

Excuse-moi, je suis super neuneu en PHP, et je ne comprends même pas ce que tu m demandes...
La preuve : J'avais mis le PHP dans le <body> en laissant l'en-tête HTML. Maintenant dans ma page PHP, je n'ai plus que le PHP. C'est de ça dont tu parles peut-être ?
Tout marche maintenant, sauf que je reçois un mail avec comme seul texte : subject : formmail
Il ne comprend pas quelles données récupérer dans mon formulaire ?