FORMULAIRE : les données ne m'arrivent pas.
yves.gdn
Messages postés
44
Date d'inscription
Statut
Membre
Dernière intervention
-
bg62 Messages postés 23734 Date d'inscription Statut Modérateur Dernière intervention -
bg62 Messages postés 23734 Date d'inscription Statut Modérateur Dernière intervention -
Madame, Monsieur, BONJOUR
J'ai créé un formulaire de contact. Si vous l'essayez :
http://www.gundermann.fr/Contact.htm
vous remarquerez que toutes les données de mon visiteur sont bien prises en compte. Le problème, c'est que le formulaire rempli ne me parvient pas sur mon adresse mail, il est orienté sur une page qui n'a rien à voir avec mon adresse email. Ici le formulaire est traité en.cgi (script ci-dessous).
Lorsque je passe en .php, le mail m'est transmis, mon visiteur reçoit une page de conformation de réception (pour l'instant j'y indique une erreur). Problème dans ce cas, les données saisies par mon visiteur me sont invisibles, je ne reçois que le nom des champs, mais rien derrière. Tout ce qui a été saisi par mon visiteur n'apparaît pas.
Je vous serais reconnaissant de bien vouloir jeter un oeil à mes deux scripts, dans l'un (le cgi) c'est sans doute mon adressage qui n'est pas correct. Dans l'autre (en php) c'est la récupération des données qui ne colle pas.
Merci de ne pas me renvoyer sur des sites de formation, ni de me communiquer des listes d'exemple, j'en ai déjà reçues beaucoup mais je n'y comprends rien. La programmation n'est pas mon truc du tout, ni ma formation. Je suis retraité, j'étais infographiste.
Bien cordialement, mes remerciements anticipés, et bonne journée à vous. Merci d'accepter de me donner un peu de votre temps. Yves
SCRIPT CGI : C'est ACTUELLEMENT LE SCRIPT CGI qui est ACTIF SUR MON SITE
#!/usr/local/bin/perl -w
use strict;
use CGI::Carp qw(fatalsToBrowser);
read(STDIN, my $donnees, $ENV{'CONTENT_LENGTH'});
my $url = "http://gundermann.fr/";
my($mailTo) = 'contact@gundermann.fr';
my @champs_formulaire = split(/&/, $donnees);
my ($champ, $nom, $valeur);
my %formulaire;
foreach $champ (@champs_formulaire) {
(my $nom, my $valeur) = split(/=/, $champ);
$valeur =~ tr/+/ /;
$valeur =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$valeur =~ s/</</g;
$valeur =~ s/>/>/g;
$formulaire{$nom} = $valeur;
}
print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">', "\n";
print "<html><head><title>CGI-Feedback</title></head>\n";
print "<body><h1>FORMULAIRE DE CONTACT </h1>\n";
print "<p><b>CIVILITE :</b> $formulaire{genre}</p>\n";
print "<p><b>NOM :</b> $formulaire{nom}</p>\n";
print "<p><b>PRENOM :</b> $formulaire{prenom}</p>\n";
print "<p><b>ADRESSE E-Mail :</b> $formulaire{email}</p>\n";
print "<p><b>TELEPHONE FIXE :</b> $formulaire{telephone}</p>\n";
print "<p><b>TELEPHONE MOBILE :</b> $formulaire{mobile}</p>\n";
print "<p><b>TEXTE :</b> $formulaire{textemail}</p>\n";
print "</body></html>\n";
SCRIPT PHP :
<?php
define('MAIL_DESTINATAIRE','contact@gundermann.fr'); // remplacez par votre email
define('MAIL_SUJET','Formulaire de contact');
foreach($_POST as $index => $valeur) {
$$index = stripslashes(trim($valeur));
}
$pref = $_POST['pref'];
$sqlpref = '';
for ($i=0; $i<count($pref); $i++)
{
$sqlpref .= $pref[$i];
$sqlpref .= ', ';
}
$genre = $_POST['genre'];
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$email = $_POST['email'];
$telephone = $_POST['telephone'];
$mobile = $_POST['mobile'];
$textemail = $_POST['textemail'];
//Préparation de l entête du mail:
$mail_entete = "MIME-Version: 1.0\r\n";
$mail_entete .= "From: {$_POST['nom']} "
."<{$_POST['email']}>\r\n";
$mail_entete .= 'Reply-To: '.$_POST['email']."\r\n";
$mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
$mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
$mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";
// préparation du corps du mail
$mail_corps .= "CIVILITE :".$genre."\n\n";
$mail_corps .= "NOM :".$nom."\n\n";
$mail_corps .= "PRENOM :".$prenom."\n\n";
$mail_corps .= "ADRESSE EMAIL :".$email."\n\n";
$mail_corps .= "TELEPHONE :".$telephone."\n\n";
$mail_corps .= "MOBILE :".$mobile."\n\n";
$mail_corps .= "VOTRE TEXTE :".$textemail."\n\n";
// envoi du mail
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete))
{
// si formulaire envoyé, on récupère tous les champs. Sinon, on initialise les variables.
$genre = (isset($_POST['genre'])) ? Rec($_POST['genre']) : '';
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$telephone = (isset($_POST['telephone'])) ? Rec($_POST['telephone']) : '';
$mobile = (isset($_POST['mobile'])) ? Rec($_POST['mobile']) : '';
$textemail = (isset($_POST['textemail'])) ? Rec($_POST['textemail']) : '';
if (isset($_POST['envoi']))
{
// On va vérifier les variables et l'email ...
$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
$err_formulaire = (IsEmail($email)) ? false : true;
if (($nom != '') && ($prenom != '') && ($email != '') && ($mobile != '') && ($textemail != ''))
{
// les 5 variables sont remplies, on génère puis envoie le mail
$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";
// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible = $destinataire.','.$email;
}
else
{
$cible = $destinataire;
};
// Remplacement de certains caractères spéciaux
$message = html_entity_decode($message);
$message = str_replace(''',"'",$message);
$message = str_replace('’',"'",$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
// Envoi du mail
if (mail($genre, $nom, $prenom, $email, $telephone, $mobile, $textemail))
{
echo '<p>'.$message_envoye.'</p>'."\n";
}
else
{
echo '<p>'.$message_non_envoye.'</p>'."\n";
};
};
}; // fin du if (!isset($_POST['envoi']))
if (($err_formulaire) || (!isset($_POST['envoi'])))
//Le mail est bien expédié
header("Status: 301 Moved Permanently", false, 301);
header("Location: http://www.gundermann.fr/Reception.htm");
exit();
}
?>
Voilà, et merci à vous. Quelle ligne manquante ou qu'est-ce qui est en trop ?
J'ai créé un formulaire de contact. Si vous l'essayez :
http://www.gundermann.fr/Contact.htm
vous remarquerez que toutes les données de mon visiteur sont bien prises en compte. Le problème, c'est que le formulaire rempli ne me parvient pas sur mon adresse mail, il est orienté sur une page qui n'a rien à voir avec mon adresse email. Ici le formulaire est traité en.cgi (script ci-dessous).
Lorsque je passe en .php, le mail m'est transmis, mon visiteur reçoit une page de conformation de réception (pour l'instant j'y indique une erreur). Problème dans ce cas, les données saisies par mon visiteur me sont invisibles, je ne reçois que le nom des champs, mais rien derrière. Tout ce qui a été saisi par mon visiteur n'apparaît pas.
Je vous serais reconnaissant de bien vouloir jeter un oeil à mes deux scripts, dans l'un (le cgi) c'est sans doute mon adressage qui n'est pas correct. Dans l'autre (en php) c'est la récupération des données qui ne colle pas.
Merci de ne pas me renvoyer sur des sites de formation, ni de me communiquer des listes d'exemple, j'en ai déjà reçues beaucoup mais je n'y comprends rien. La programmation n'est pas mon truc du tout, ni ma formation. Je suis retraité, j'étais infographiste.
Bien cordialement, mes remerciements anticipés, et bonne journée à vous. Merci d'accepter de me donner un peu de votre temps. Yves
SCRIPT CGI : C'est ACTUELLEMENT LE SCRIPT CGI qui est ACTIF SUR MON SITE
#!/usr/local/bin/perl -w
use strict;
use CGI::Carp qw(fatalsToBrowser);
read(STDIN, my $donnees, $ENV{'CONTENT_LENGTH'});
my $url = "http://gundermann.fr/";
my($mailTo) = 'contact@gundermann.fr';
my @champs_formulaire = split(/&/, $donnees);
my ($champ, $nom, $valeur);
my %formulaire;
foreach $champ (@champs_formulaire) {
(my $nom, my $valeur) = split(/=/, $champ);
$valeur =~ tr/+/ /;
$valeur =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$valeur =~ s/</</g;
$valeur =~ s/>/>/g;
$formulaire{$nom} = $valeur;
}
print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">', "\n";
print "<html><head><title>CGI-Feedback</title></head>\n";
print "<body><h1>FORMULAIRE DE CONTACT </h1>\n";
print "<p><b>CIVILITE :</b> $formulaire{genre}</p>\n";
print "<p><b>NOM :</b> $formulaire{nom}</p>\n";
print "<p><b>PRENOM :</b> $formulaire{prenom}</p>\n";
print "<p><b>ADRESSE E-Mail :</b> $formulaire{email}</p>\n";
print "<p><b>TELEPHONE FIXE :</b> $formulaire{telephone}</p>\n";
print "<p><b>TELEPHONE MOBILE :</b> $formulaire{mobile}</p>\n";
print "<p><b>TEXTE :</b> $formulaire{textemail}</p>\n";
print "</body></html>\n";
SCRIPT PHP :
<?php
define('MAIL_DESTINATAIRE','contact@gundermann.fr'); // remplacez par votre email
define('MAIL_SUJET','Formulaire de contact');
foreach($_POST as $index => $valeur) {
$$index = stripslashes(trim($valeur));
}
$pref = $_POST['pref'];
$sqlpref = '';
for ($i=0; $i<count($pref); $i++)
{
$sqlpref .= $pref[$i];
$sqlpref .= ', ';
}
$genre = $_POST['genre'];
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$email = $_POST['email'];
$telephone = $_POST['telephone'];
$mobile = $_POST['mobile'];
$textemail = $_POST['textemail'];
//Préparation de l entête du mail:
$mail_entete = "MIME-Version: 1.0\r\n";
$mail_entete .= "From: {$_POST['nom']} "
."<{$_POST['email']}>\r\n";
$mail_entete .= 'Reply-To: '.$_POST['email']."\r\n";
$mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
$mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
$mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";
// préparation du corps du mail
$mail_corps .= "CIVILITE :".$genre."\n\n";
$mail_corps .= "NOM :".$nom."\n\n";
$mail_corps .= "PRENOM :".$prenom."\n\n";
$mail_corps .= "ADRESSE EMAIL :".$email."\n\n";
$mail_corps .= "TELEPHONE :".$telephone."\n\n";
$mail_corps .= "MOBILE :".$mobile."\n\n";
$mail_corps .= "VOTRE TEXTE :".$textemail."\n\n";
// envoi du mail
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete))
{
// si formulaire envoyé, on récupère tous les champs. Sinon, on initialise les variables.
$genre = (isset($_POST['genre'])) ? Rec($_POST['genre']) : '';
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$telephone = (isset($_POST['telephone'])) ? Rec($_POST['telephone']) : '';
$mobile = (isset($_POST['mobile'])) ? Rec($_POST['mobile']) : '';
$textemail = (isset($_POST['textemail'])) ? Rec($_POST['textemail']) : '';
if (isset($_POST['envoi']))
{
// On va vérifier les variables et l'email ...
$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
$err_formulaire = (IsEmail($email)) ? false : true;
if (($nom != '') && ($prenom != '') && ($email != '') && ($mobile != '') && ($textemail != ''))
{
// les 5 variables sont remplies, on génère puis envoie le mail
$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";
// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible = $destinataire.','.$email;
}
else
{
$cible = $destinataire;
};
// Remplacement de certains caractères spéciaux
$message = html_entity_decode($message);
$message = str_replace(''',"'",$message);
$message = str_replace('’',"'",$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
// Envoi du mail
if (mail($genre, $nom, $prenom, $email, $telephone, $mobile, $textemail))
{
echo '<p>'.$message_envoye.'</p>'."\n";
}
else
{
echo '<p>'.$message_non_envoye.'</p>'."\n";
};
};
}; // fin du if (!isset($_POST['envoi']))
if (($err_formulaire) || (!isset($_POST['envoi'])))
//Le mail est bien expédié
header("Status: 301 Moved Permanently", false, 301);
header("Location: http://www.gundermann.fr/Reception.htm");
exit();
}
?>
Voilà, et merci à vous. Quelle ligne manquante ou qu'est-ce qui est en trop ?
A voir également:
- FORMULAIRE : les données ne m'arrivent pas.
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
- Confirmer le nouvel envoi du formulaire err_cache_miss - Forum Webmastering
- Problème avec Google Chrome - Forum Google Chrome
13 réponses
$to=tonadresse;
$subject=tonsujet;
$message=$nom.$prenom.$email etc;
$message = html_entity_decode($message);
$message = str_replace(''',"'",$message);
$message = str_replace(''',"'",$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
mail ( $to , $subject , $message );
echo '<p>'.$message_envoye.'</p>'."\n";
c'est plutot un truc de ce style qu'il te faudrait mettre
$subject=tonsujet;
$message=$nom.$prenom.$email etc;
$message = html_entity_decode($message);
$message = str_replace(''',"'",$message);
$message = str_replace(''',"'",$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
mail ( $to , $subject , $message );
echo '<p>'.$message_envoye.'</p>'."\n";
c'est plutot un truc de ce style qu'il te faudrait mettre
Merci beaucoup.
Alors, concrètement, je dois faire quoi s'il vous (te) plaît ? Je n'y connais rien et suis bloqué depuis des semaines entières. Jusque là, impossible d'avoir une vraie piste. La vôtre me paraît très cohérente, j'apprécie, énormément.
Merci encore. Super plus que sympa...
Cordialement. Yves
Alors, concrètement, je dois faire quoi s'il vous (te) plaît ? Je n'y connais rien et suis bloqué depuis des semaines entières. Jusque là, impossible d'avoir une vraie piste. La vôtre me paraît très cohérente, j'apprécie, énormément.
Merci encore. Super plus que sympa...
Cordialement. Yves
Bonjour Monsieur Varaldi
Merci infiniment d'avoir encore pris du temps. J'ai essayé vos lignes de programmation mais cela ne colle pas. Sans doute suis-je trop novice pour le faire correctement. A mon avis, lorsque je colle et adapte vos lignes, je dois laisser des doublons qui font que cela coince.
Si je n'abuse pas, pourriez-vous un copier-coller de tout mon script, l'adapter et me le retourner.
Bonne journée. Bien cordialement. Yves (ici dans l'Est de la France, temps pourri, vous avez bien de la chance d'habiter à Valence).
Merci infiniment d'avoir encore pris du temps. J'ai essayé vos lignes de programmation mais cela ne colle pas. Sans doute suis-je trop novice pour le faire correctement. A mon avis, lorsque je colle et adapte vos lignes, je dois laisser des doublons qui font que cela coince.
Si je n'abuse pas, pourriez-vous un copier-coller de tout mon script, l'adapter et me le retourner.
Bonne journée. Bien cordialement. Yves (ici dans l'Est de la France, temps pourri, vous avez bien de la chance d'habiter à Valence).
Malheureusement cela fait bien longtemps que je n'ai pas programmé, et j'avoue avoir un peu de mal ... ^^'
Mais sinon, peut-être que vous pourriez essayer de remplacer
par
Mais ça fait trop longtemps que je n'y ait pas mis le nez dedans... ^^'
Au fait, un truc me parait étrange, 2 lignes correspondent à l'envoi du mail.
Mais sinon, peut-être que vous pourriez essayer de remplacer
// envoi du mail if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) { // si formulaire envoyé, on récupère tous les champs. Sinon, on initialise les variables. $genre = (isset($_POST['genre'])) ? Rec($_POST['genre']) : ''; $nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : ''; $prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : ''; $email = (isset($_POST['email'])) ? Rec($_POST['email']) : ''; $telephone = (isset($_POST['telephone'])) ? Rec($_POST['telephone']) : ''; $mobile = (isset($_POST['mobile'])) ? Rec($_POST['mobile']) : ''; $textemail = (isset($_POST['textemail'])) ? Rec($_POST['textemail']) : ''; if (isset($_POST['envoi'])) { // On va vérifier les variables et l'email ... $email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré $err_formulaire = (IsEmail($email)) ? false : true; if (($nom != '') && ($prenom != '') && ($email != '') && ($mobile != '') && ($textemail != '')) { // les 5 variables sont remplies, on génère puis envoie le mail $headers = 'From: '.$nom.' <'.$email.'>' . "\r\n"; // envoyer une copie au visiteur ? if ($copie == 'oui') { $cible = $destinataire.','.$email; } else { $cible = $destinataire; }; // Remplacement de certains caractères spéciaux $message = html_entity_decode($message); $message = str_replace(''',"'",$message); $message = str_replace(''',"'",$message); $message = str_replace('<br>','',$message); $message = str_replace('<br />','',$message); // Envoi du mail if (mail($genre, $nom, $prenom, $email, $telephone, $mobile, $textemail)) { echo '<p>'.$message_envoye.'</p>'."\n"; } else { echo '<p>'.$message_non_envoye.'</p>'."\n"; }; }; }; // fin du if (!isset($_POST['envoi'])) if (($err_formulaire) || (!isset($_POST['envoi']))) //Le mail est bien expédié header("Status: 301 Moved Permanently", false, 301); header("Location: http://www.gundermann.fr/Reception.htm"); exit(); } ?>
par
// envoi du mail mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete) { // si formulaire envoyé, on récupère tous les champs. Sinon, on initialise les variables. $genre = (isset($_POST['genre'])) ? Rec($_POST['genre']) : ''; $nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : ''; $prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : ''; $email = (isset($_POST['email'])) ? Rec($_POST['email']) : ''; $telephone = (isset($_POST['telephone'])) ? Rec($_POST['telephone']) : ''; $mobile = (isset($_POST['mobile'])) ? Rec($_POST['mobile']) : ''; $textemail = (isset($_POST['textemail'])) ? Rec($_POST['textemail']) : ''; if (isset($_POST['envoi'])) { // On va vérifier les variables et l'email ... $email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré $err_formulaire = (IsEmail($email)) ? false : true; if (($nom != '') && ($prenom != '') && ($email != '') && ($mobile != '') && ($textemail != '')) { // les 5 variables sont remplies, on génère puis envoie le mail $headers = 'From: '.$nom.' <'.$email.'>' . "\r\n"; // envoyer une copie au visiteur ? if ($copie == 'oui') { $cible = $destinataire.','.$email; } else { $cible = $destinataire; }; // Remplacement de certains caractères spéciaux $message = html_entity_decode($message); $message = str_replace(''',"'",$message); $message = str_replace(''',"'",$message); $message = str_replace('<br>','',$message); $message = str_replace('<br />','',$message); // Envoi du mail mail($genre, $nom, $prenom, $email, $telephone, $mobile, $textemail)) echo '<p>'.$message_envoye.'</p>'."\n"; }; }; // fin du if (!isset($_POST['envoi'])) if (($err_formulaire) || (!isset($_POST['envoi']))) //Le mail est bien expédié header("Status: 301 Moved Permanently", false, 301); header("Location: http://www.gundermann.fr/Reception.htm"); exit(); } ?>
Mais ça fait trop longtemps que je n'y ait pas mis le nez dedans... ^^'
Au fait, un truc me parait étrange, 2 lignes correspondent à l'envoi du mail.
Encore un grand merci
OUI, c'est étrange et anormal, deux lignes correspondent à l'envoi du mail. Comme j'ai récupéré et adapté le script ailleurs, je ne sais pas ce qu'il faut conserver. Comme je l'ai dit, je n'y connais rien, je n'y comprends rien.
Et je reste persuadé que allez trouver mon script, si vous acceptez de persévérer et de me donner de votre temps.
Bien cordialement, et je vous souhaite un excellent week-end. Ou vacances ? Yves
OUI, c'est étrange et anormal, deux lignes correspondent à l'envoi du mail. Comme j'ai récupéré et adapté le script ailleurs, je ne sais pas ce qu'il faut conserver. Comme je l'ai dit, je n'y connais rien, je n'y comprends rien.
Et je reste persuadé que allez trouver mon script, si vous acceptez de persévérer et de me donner de votre temps.
Bien cordialement, et je vous souhaite un excellent week-end. Ou vacances ? Yves
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Si vous désirez simplement envoyer le petit formulaire dans un mail, regardez ici, vous devriez trouver votre bonheur.
www.salemioche.net/script-php-1.php
Varaldi Q.
Laisse moi 2 minutes que j'te trouve un autre truc...
www.salemioche.net/script-php-1.php
Varaldi Q.
Laisse moi 2 minutes que j'te trouve un autre truc...
Bonsoir Monsieur Varaldi
Merci pour ce que vous m'avez transmis. J'ai mis tout cela en oeuvre, exactement tel qu'indiqué.
Mon visiteur reçoit la page de réception après avoir validé le mail (bouton envoyer). Quant à moi, je reçois un mail entièrement vide dont l'expéditeur est moi-même.
Que se passe-t-il ? Voici le script en question. Encore merci pour toute votre précieuse aide. Bonne soiré, bon week-end et bien cordialement.
Yves
<?php
$TO = "contact@gundermann.fr";
$h = "From: " . $TO;
$message = "";
while (list($key, $val) = each($HTTP_POST_VARS)) {
$message .= "$key : $val\n";
}
mail($TO, $subject, $message, $h);
header("Location: http://www.gundermann.fr/Reception.htm");
?>
Merci pour ce que vous m'avez transmis. J'ai mis tout cela en oeuvre, exactement tel qu'indiqué.
Mon visiteur reçoit la page de réception après avoir validé le mail (bouton envoyer). Quant à moi, je reçois un mail entièrement vide dont l'expéditeur est moi-même.
Que se passe-t-il ? Voici le script en question. Encore merci pour toute votre précieuse aide. Bonne soiré, bon week-end et bien cordialement.
Yves
<?php
$TO = "contact@gundermann.fr";
$h = "From: " . $TO;
$message = "";
while (list($key, $val) = each($HTTP_POST_VARS)) {
$message .= "$key : $val\n";
}
mail($TO, $subject, $message, $h);
header("Location: http://www.gundermann.fr/Reception.htm");
?>
Merci, mais quelle est la procédure pour consulter un message privé ? Je ne trouve pas où cliquer...
Bonjour, voici un formulaire que j'utilise sur tous mes sites et qui fonctionne très bien, nommez bien votre page (contact.php),
ensuite dans cette page, copiez collez ce code=>
<strong><font color="#000000">Contactez-nous en remplissant le formulaire,<br />
nous vous répondrons<br /> dans les plus brefs délais.</font></strong>
<?php
$CONFIG['email_reponse'] = 'vous@votresite.com'; // votre email
if(isset($_POST['envoi']) && ( $_POST['envoi'] == 'Envoyer le message'))
{
$sujet = $_POST['sujet'];
$email = $_POST['email'];
$message = $_POST['message'];
$date = date('d-m-Y');
$ip = $_SERVER['REMOTE_ADDR'];
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
if($message != null and $message != "")
{
$corps = 'De : '.$email.'
----Adresse IP : '.$ip.'
----Nom : '.$nom.'
----Prenom : '.$prenom.'
----Date : '.$date.'
----Sujet : '.$sujet.'
----Message : '.$message.'';
$entete = "Content-type:text/html\nFrom:$email\r\nReply-To:$email";
if(mail($CONFIG['email_reponse'],'Contact : '.$sujet,$corps,$entete))
{
echo '<font color="#000000" size="+2"><br />Votre message nous a bien été envoyé,<br />merci.</font>';
}
}
else
{
echo '<br /><font color="#FF0000" size="+2"><strong>Vous n\'avez pas entré de message !</strong></font>';
}
}
?>
<form action="contact.php" method="post" name="formulaire">
<center><font color="#FF0000">Sélectionnez un sujet</font><br />
<select name="sujet">
<option value="Question générale">Question générale</option>
<option value="Question commerciale">Question commerciale</option>
<option value="Problème compte">Problème compte</option>
<option value="Signalement d'un bugg">Signaler un bugg</option>
<option value="Publicité / Partenariats">Publicité / Partenariats</option>
<option value="Suggestion">Suggestion</option>
<option value="Autre">Autre</option>
</select>
<br /><br />
<font color="#000000">Votre nom :</font><br />
<input type="text" name="nom" id="nom" value=""/>
<br /><br />
<font color="#000000">Votre prénom :</font><br />
<input type="text" name="prenom" id="prenom" value=""/>
<br /><br />
<font color="#000000">Votre adresse mail :</font><br />
<input name="email" type="text" value="" />
<br /><br />
<font color="#000000">Votre message :</font><br />
<textarea cols="30" rows="5" name="message" class="textarea"></textarea>
<br /><br />
<input type="submit" value="Envoyer le message" name="envoi"/></center>
</form>
-----------------------
voilà le code.....
ensuite dans cette page, copiez collez ce code=>
<strong><font color="#000000">Contactez-nous en remplissant le formulaire,<br />
nous vous répondrons<br /> dans les plus brefs délais.</font></strong>
<?php
$CONFIG['email_reponse'] = 'vous@votresite.com'; // votre email
if(isset($_POST['envoi']) && ( $_POST['envoi'] == 'Envoyer le message'))
{
$sujet = $_POST['sujet'];
$email = $_POST['email'];
$message = $_POST['message'];
$date = date('d-m-Y');
$ip = $_SERVER['REMOTE_ADDR'];
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
if($message != null and $message != "")
{
$corps = 'De : '.$email.'
----Adresse IP : '.$ip.'
----Nom : '.$nom.'
----Prenom : '.$prenom.'
----Date : '.$date.'
----Sujet : '.$sujet.'
----Message : '.$message.'';
$entete = "Content-type:text/html\nFrom:$email\r\nReply-To:$email";
if(mail($CONFIG['email_reponse'],'Contact : '.$sujet,$corps,$entete))
{
echo '<font color="#000000" size="+2"><br />Votre message nous a bien été envoyé,<br />merci.</font>';
}
}
else
{
echo '<br /><font color="#FF0000" size="+2"><strong>Vous n\'avez pas entré de message !</strong></font>';
}
}
?>
<form action="contact.php" method="post" name="formulaire">
<center><font color="#FF0000">Sélectionnez un sujet</font><br />
<select name="sujet">
<option value="Question générale">Question générale</option>
<option value="Question commerciale">Question commerciale</option>
<option value="Problème compte">Problème compte</option>
<option value="Signalement d'un bugg">Signaler un bugg</option>
<option value="Publicité / Partenariats">Publicité / Partenariats</option>
<option value="Suggestion">Suggestion</option>
<option value="Autre">Autre</option>
</select>
<br /><br />
<font color="#000000">Votre nom :</font><br />
<input type="text" name="nom" id="nom" value=""/>
<br /><br />
<font color="#000000">Votre prénom :</font><br />
<input type="text" name="prenom" id="prenom" value=""/>
<br /><br />
<font color="#000000">Votre adresse mail :</font><br />
<input name="email" type="text" value="" />
<br /><br />
<font color="#000000">Votre message :</font><br />
<textarea cols="30" rows="5" name="message" class="textarea"></textarea>
<br /><br />
<input type="submit" value="Envoyer le message" name="envoi"/></center>
</form>
-----------------------
voilà le code.....
Merci beaucoup. Bonne journée à vous, et bien cordialement. J'adapte votre script à mes données, j'essaye et je vous tiens au courant.
Re-Bonjour Cheese42
Qu'ai-je fait comme boulette ? J'ai adapté votre script (essayez sur :
http://www.gundermann.fr/Contact.htm) vous verrez, les champs restent vides et je ne reçois aucun mail.
Si vous voulez bien prendre un peu de temps pour jeter un oeil, bien cordialement et bonne après-midi. Yves
<strong><font color="#000000">Formulaire de Contact</font></strong>
<?php
$CONFIG['email_reponse'] = 'contact@gundermann.fr'; // votre email
if(isset($_POST['envoi']) && ( $_POST['envoi'] == 'Envoyer le message'))
{
$subject = $_POST['subject'];
$email = $_POST['email'];
$message = $_POST['message'];
$date = date('d-m-Y');
$ip = $_SERVER['REMOTE_ADDR'];
$genre = $_POST['genre'];
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$telephone = $_POST['telephone'];
$mobile = $_POST['mobile'];
if($message != null and $message != "")
{
$corps = 'De : '.$email.'
----Adresse IP : '.$ip.'
----Civilité : '.$genre.'
----Nom : '.$nom.'
----Prénom : '.$prenom.'
----Votre adresse E-Mail : '.$email.'
----Téléphone fixe : '.$telephone.'
----Téléphone mobile : '.$mobile.'
----Sujet de votre mail : '.$subject.'
----Date : '.$date.'
----Message : '.$message.'';
$entete = "Content-type:text/html\nFrom:$email\r\nReply-To:$email";
if(mail($CONFIG['email_reponse'],'Contact : '.$subject,$corps,$entete))
{
echo '<font color="#000000" size="+2"><br />Votre message nous a bien été envoyé,<br />merci.</font>';
}
}
else
{
echo '<br /><font color="#FF0000" size="+2"><strong>Vous n\'avez pas entré de message !</strong></font>';
}
}
?>
<form action="contact.php" method="post" name="formulaire">
<font color="#000000">Votre civilité :</font><br />
<input type="text" name="genre" id="genre" value=""/>
<br /><br />
<font color="#000000">Votre nom :</font><br />
<input type="text" name="nom" id="nom" value=""/>
<br /><br />
<font color="#000000">Votre prénom :</font><br />
<input type="text" name="prenom" id="prenom" value=""/>
<br /><br />
<font color="#000000">Votre adresse mail :</font><br />
<input name="email" type="text" value="" />
<br /><br />
<font color="#000000">Votre téléphone fixe :</font><br />
<input type="text" name="telephone" id="telephone" value=""/>
<br /><br />
<font color="#000000">Votre téléphone mobile :</font><br />
<input type="text" name="mobile" id="mobile" value=""/>
<br /><br />
<font color="#000000">Sujet de votre mail :</font><br />
<input type="text" name="subject" id="subject" value=""/>
<br /><br />
<font color="#000000">Votre message :</font><br />
<textarea cols="30" rows="5" name="message" class="textarea"></textarea>
<br /><br />
<input type="submit" value="Envoyer" name="envoi"/></center>
</form>
Qu'ai-je fait comme boulette ? J'ai adapté votre script (essayez sur :
http://www.gundermann.fr/Contact.htm) vous verrez, les champs restent vides et je ne reçois aucun mail.
Si vous voulez bien prendre un peu de temps pour jeter un oeil, bien cordialement et bonne après-midi. Yves
<strong><font color="#000000">Formulaire de Contact</font></strong>
<?php
$CONFIG['email_reponse'] = 'contact@gundermann.fr'; // votre email
if(isset($_POST['envoi']) && ( $_POST['envoi'] == 'Envoyer le message'))
{
$subject = $_POST['subject'];
$email = $_POST['email'];
$message = $_POST['message'];
$date = date('d-m-Y');
$ip = $_SERVER['REMOTE_ADDR'];
$genre = $_POST['genre'];
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$telephone = $_POST['telephone'];
$mobile = $_POST['mobile'];
if($message != null and $message != "")
{
$corps = 'De : '.$email.'
----Adresse IP : '.$ip.'
----Civilité : '.$genre.'
----Nom : '.$nom.'
----Prénom : '.$prenom.'
----Votre adresse E-Mail : '.$email.'
----Téléphone fixe : '.$telephone.'
----Téléphone mobile : '.$mobile.'
----Sujet de votre mail : '.$subject.'
----Date : '.$date.'
----Message : '.$message.'';
$entete = "Content-type:text/html\nFrom:$email\r\nReply-To:$email";
if(mail($CONFIG['email_reponse'],'Contact : '.$subject,$corps,$entete))
{
echo '<font color="#000000" size="+2"><br />Votre message nous a bien été envoyé,<br />merci.</font>';
}
}
else
{
echo '<br /><font color="#FF0000" size="+2"><strong>Vous n\'avez pas entré de message !</strong></font>';
}
}
?>
<form action="contact.php" method="post" name="formulaire">
<font color="#000000">Votre civilité :</font><br />
<input type="text" name="genre" id="genre" value=""/>
<br /><br />
<font color="#000000">Votre nom :</font><br />
<input type="text" name="nom" id="nom" value=""/>
<br /><br />
<font color="#000000">Votre prénom :</font><br />
<input type="text" name="prenom" id="prenom" value=""/>
<br /><br />
<font color="#000000">Votre adresse mail :</font><br />
<input name="email" type="text" value="" />
<br /><br />
<font color="#000000">Votre téléphone fixe :</font><br />
<input type="text" name="telephone" id="telephone" value=""/>
<br /><br />
<font color="#000000">Votre téléphone mobile :</font><br />
<input type="text" name="mobile" id="mobile" value=""/>
<br /><br />
<font color="#000000">Sujet de votre mail :</font><br />
<input type="text" name="subject" id="subject" value=""/>
<br /><br />
<font color="#000000">Votre message :</font><br />
<textarea cols="30" rows="5" name="message" class="textarea"></textarea>
<br /><br />
<input type="submit" value="Envoyer" name="envoi"/></center>
</form>
Re-Bonjour
Oui, j'avais bien lu votre message. Votre script se nommait bien (en minuscules et avec la bonne extension) "contact.htm. Fichier placé au niveau zéro de mon Site chez OVH dans un dossier "cgi-bin".
Le fichier "Contact.htm" qui à présent est en minuscules aussi est en fait généré automatiquement, ainsi que la création proprement dite du formulaire, par mon logiciel de PAO "QuarkXPress". Je ne peux donc absolument pas intervenir là-dessus.
Le script PHP que je n'arrive pas à trouver consiste donc uniquement au traitement des données, puisque le formulaire est déjà créé. Il s'agit du script de traitement lorsque mon visiteur a déjà rempli tous les champs et qu'il valide par le bouton "submit".
Je crois que je n'étais pas très clair. Désolé. Qu'en pensez-vous ? Bien cordialement et encore un énorme merci pour tout le temps que vous m'avez déjà consacré.
Yves
Oui, j'avais bien lu votre message. Votre script se nommait bien (en minuscules et avec la bonne extension) "contact.htm. Fichier placé au niveau zéro de mon Site chez OVH dans un dossier "cgi-bin".
Le fichier "Contact.htm" qui à présent est en minuscules aussi est en fait généré automatiquement, ainsi que la création proprement dite du formulaire, par mon logiciel de PAO "QuarkXPress". Je ne peux donc absolument pas intervenir là-dessus.
Le script PHP que je n'arrive pas à trouver consiste donc uniquement au traitement des données, puisque le formulaire est déjà créé. Il s'agit du script de traitement lorsque mon visiteur a déjà rempli tous les champs et qu'il valide par le bouton "submit".
Je crois que je n'étais pas très clair. Désolé. Qu'en pensez-vous ? Bien cordialement et encore un énorme merci pour tout le temps que vous m'avez déjà consacré.
Yves