Traitement FORMULAIRE PHP
yves.gdn
Messages postés
56
Statut
Membre
-
malor -
malor -
Bonjour,
J'ai créé un site Internet (http://www.gundermann.fr) avec un formulaire tout simple, de base. Lorsque mon visiteur m'écrit, je ne reçois pas les informations qu'il a saisies dans les champs du formulaire, C'EST VIDE. Qui peut m'aider ?
Tout ce que je reçois, c'est :
MESSAGE VENANT DE : avec rien derrière
"TELEPHONE : avec rien derrière
LE MESSAGE EST LE SUIVANT : avec rien derrière
Le formulaire de départ fonctionne, gestion automatique par QuarkXPress. Ce qui ne fonctionne pas, c'est le traitement des informations. Voici le script de traitement php que j'ai créé. Qu'est-ce qui coince ?
Merci beaucoup
Pour info :
Configuration: Mac OS X / Safari 533.19.4
SCRIPT PHP de TRAITEMENT DE FORMULAIRE
<?php
$subject="Message venant du site";
$destinataire="contact@gundermann.fr";
header("Location: http://www.gundermann.fr/Reception.htm");
$genre = $_POST['genre'];
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$email = $_POST['email'];
$telephone = $_POST['telephone'];
$mobile = $_POST['mobile'];
$textemail = $_POST['textemail'];
//voici la version Mine
$headers = "MIME-Version: 1.0\r\n";
//ici on détermine le mail en format texte
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$body ="MESSAGE VENANT DE : ".$genre." ".$prenom." ".$snom.".\n";
$body .= "TELEPHONE : ".$telephone." ".$mobile.".\n";
$body .= "LE MESSAGE EST LE SUIVANT : ".$textemail.".\n";
//Envoie du mail
mail($destinataire,$subject,$body,$headers);
?>
J'ai créé un site Internet (http://www.gundermann.fr) avec un formulaire tout simple, de base. Lorsque mon visiteur m'écrit, je ne reçois pas les informations qu'il a saisies dans les champs du formulaire, C'EST VIDE. Qui peut m'aider ?
Tout ce que je reçois, c'est :
MESSAGE VENANT DE : avec rien derrière
"TELEPHONE : avec rien derrière
LE MESSAGE EST LE SUIVANT : avec rien derrière
Le formulaire de départ fonctionne, gestion automatique par QuarkXPress. Ce qui ne fonctionne pas, c'est le traitement des informations. Voici le script de traitement php que j'ai créé. Qu'est-ce qui coince ?
Merci beaucoup
Pour info :
Configuration: Mac OS X / Safari 533.19.4
SCRIPT PHP de TRAITEMENT DE FORMULAIRE
<?php
$subject="Message venant du site";
$destinataire="contact@gundermann.fr";
header("Location: http://www.gundermann.fr/Reception.htm");
$genre = $_POST['genre'];
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$email = $_POST['email'];
$telephone = $_POST['telephone'];
$mobile = $_POST['mobile'];
$textemail = $_POST['textemail'];
//voici la version Mine
$headers = "MIME-Version: 1.0\r\n";
//ici on détermine le mail en format texte
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$body ="MESSAGE VENANT DE : ".$genre." ".$prenom." ".$snom.".\n";
$body .= "TELEPHONE : ".$telephone." ".$mobile.".\n";
$body .= "LE MESSAGE EST LE SUIVANT : ".$textemail.".\n";
//Envoie du mail
mail($destinataire,$subject,$body,$headers);
?>
A voir également:
- Traitement FORMULAIRE PHP
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Reconsidérer le traitement de vos informations à des fins publicitaires - Accueil - Réseaux sociaux
- Formulaire de reclamation instagram - Guide
- Traitement de texte gratuit - Guide
26 réponses
Il y a des chances pour que tes variables soient vides. Vérifie les noms des champs dans ton formulaire.
Merci HostofSeraphim, sympa de m'avoir répondu
J'avais évidemment vérifié au préalable, tout est parfaitement compatible, le problème se situe ailleurs. J'avais fait un autre script, qui me pose les mêmes difficultés, je reçois le mail, il est VIDE.
Voici l'autre script : (et MERCI encore)
<?php
define('MAIL_DESTINATAIRE','contact@gundermann.fr');
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 .= ', ';
}
$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";
$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";
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete))
{
function Rec($text)
{
$text = trim($text);
if (1 === get_magic_quotes_gpc())
{
$stripslashes = create_function('$txt', 'return stripslashes($txt);');
}
else
{
$stripslashes = create_function('$txt', 'return $txt;');
}
$text = $stripslashes($text);
$text = htmlspecialchars($text, ENT_QUOTES);
$text = nl2br($text);
return $text;
};
function IsEmail($email)
{
$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
return (eregi($pattern,$email)) ? true : false;
};
$err_formulaire = false;
$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['submit']))
$email = (IsEmail($email)) ? $email : '';
if (($genre != '') && ($nom != '') && ($prenom != '') && ($email != '') && ($telephone != '') && ($mobile != '') && ($textemail != ''))
{
$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";
};
header("Status: 301 Moved Permanently", false, 301);
header("Location: http://www.gundermann.fr/Reception.htm");
exit();
}
?>
J'avais évidemment vérifié au préalable, tout est parfaitement compatible, le problème se situe ailleurs. J'avais fait un autre script, qui me pose les mêmes difficultés, je reçois le mail, il est VIDE.
Voici l'autre script : (et MERCI encore)
<?php
define('MAIL_DESTINATAIRE','contact@gundermann.fr');
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 .= ', ';
}
$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";
$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";
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete))
{
function Rec($text)
{
$text = trim($text);
if (1 === get_magic_quotes_gpc())
{
$stripslashes = create_function('$txt', 'return stripslashes($txt);');
}
else
{
$stripslashes = create_function('$txt', 'return $txt;');
}
$text = $stripslashes($text);
$text = htmlspecialchars($text, ENT_QUOTES);
$text = nl2br($text);
return $text;
};
function IsEmail($email)
{
$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
return (eregi($pattern,$email)) ? true : false;
};
$err_formulaire = false;
$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['submit']))
$email = (IsEmail($email)) ? $email : '';
if (($genre != '') && ($nom != '') && ($prenom != '') && ($email != '') && ($telephone != '') && ($mobile != '') && ($textemail != ''))
{
$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";
};
header("Status: 301 Moved Permanently", false, 301);
header("Location: http://www.gundermann.fr/Reception.htm");
exit();
}
?>
Vérifie de cette façon histoire de voir où se situe à peu près le problème :
$genre = $_POST['genre'];
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$email = $_POST['email'];
$telephone = $_POST['telephone'];
$mobile = $_POST['mobile'];
$textemail = $_POST['textemail'];
echo $genre;
echo $nom;
echo $prenom;
echo $email;
echo $telephone;
echo $mobile;
echo $textemail;
Et éventuellement, mets le reste du script en commentaire. Ensuite, lance le, et regarde si il y a quelque chose d'affiché ou non.
$genre = $_POST['genre'];
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$email = $_POST['email'];
$telephone = $_POST['telephone'];
$mobile = $_POST['mobile'];
$textemail = $_POST['textemail'];
echo $genre;
echo $nom;
echo $prenom;
echo $email;
echo $telephone;
echo $mobile;
echo $textemail;
Et éventuellement, mets le reste du script en commentaire. Ensuite, lance le, et regarde si il y a quelque chose d'affiché ou non.
Encore merci. J'ai ajouté les "echo...", et testé, cela ne change rien pour l'instant. Voici le résultat du mail que je reçois, TOUJOURS VIDE :
CIVILITE :
NOM :
PRENOM :
ADRESSE EMAIL :
TELEPHONE :
MOBILE :
VOTRE TEXTE :
CIVILITE :
NOM :
PRENOM :
ADRESSE EMAIL :
TELEPHONE :
MOBILE :
VOTRE TEXTE :
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Encore et encore MERCI.
... sauf que, je ne sais pas faire cela, désolé. As-tu la possibilité de copier-coller mon script actuel que je reporte modifié suite à tes conseils, et me proposer la modification ?
Le souci majeur est que je suis retraité, j'étais infographiste et me suis laissé dépasser par la programmation !
J'étais déjà bien content d'en arriver jusque là. Merci de ta compréhension. Voici le script tel qu'il se présente maintenant.
ET J'ESPERE NE PAS GACHER TON WEEK-END PAR L'AIDE QUE TU M'APPORTES
<?php
define('MAIL_DESTINATAIRE','contact@gundermann.fr');
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 .= ', ';
}
$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";
$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";
echo $genre;
echo $nom;
echo $prenom;
echo $email;
echo $telephone;
echo $mobile;
echo $textemail;
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete))
{
function Rec($text)
{
$text = trim($text);
if (1 === get_magic_quotes_gpc())
{
$stripslashes = create_function('$txt', 'return stripslashes($txt);');
}
else
{
$stripslashes = create_function('$txt', 'return $txt;');
}
$text = $stripslashes($text);
$text = htmlspecialchars($text, ENT_QUOTES);
$text = nl2br($text);
return $text;
};
function IsEmail($email)
{
$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
return (eregi($pattern,$email)) ? true : false;
};
$err_formulaire = false;
$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['submit']))
$email = (IsEmail($email)) ? $email : '';
if (($genre != '') && ($nom != '') && ($prenom != '') && ($email != '') && ($telephone != '') && ($mobile != '') && ($textemail != ''))
{
$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";
};
header("Status: 301 Moved Permanently", false, 301);
header("Location: http://www.gundermann.fr/Reception.htm");
exit();
}
?>
... sauf que, je ne sais pas faire cela, désolé. As-tu la possibilité de copier-coller mon script actuel que je reporte modifié suite à tes conseils, et me proposer la modification ?
Le souci majeur est que je suis retraité, j'étais infographiste et me suis laissé dépasser par la programmation !
J'étais déjà bien content d'en arriver jusque là. Merci de ta compréhension. Voici le script tel qu'il se présente maintenant.
ET J'ESPERE NE PAS GACHER TON WEEK-END PAR L'AIDE QUE TU M'APPORTES
<?php
define('MAIL_DESTINATAIRE','contact@gundermann.fr');
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 .= ', ';
}
$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";
$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";
echo $genre;
echo $nom;
echo $prenom;
echo $email;
echo $telephone;
echo $mobile;
echo $textemail;
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete))
{
function Rec($text)
{
$text = trim($text);
if (1 === get_magic_quotes_gpc())
{
$stripslashes = create_function('$txt', 'return stripslashes($txt);');
}
else
{
$stripslashes = create_function('$txt', 'return $txt;');
}
$text = $stripslashes($text);
$text = htmlspecialchars($text, ENT_QUOTES);
$text = nl2br($text);
return $text;
};
function IsEmail($email)
{
$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
return (eregi($pattern,$email)) ? true : false;
};
$err_formulaire = false;
$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['submit']))
$email = (IsEmail($email)) ? $email : '';
if (($genre != '') && ($nom != '') && ($prenom != '') && ($email != '') && ($telephone != '') && ($mobile != '') && ($textemail != ''))
{
$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";
};
header("Status: 301 Moved Permanently", false, 301);
header("Location: http://www.gundermann.fr/Reception.htm");
exit();
}
?>
Dans ce cas, le plus simple :
Admettons que ton fichier s'appelle traitement.php. Renomme-le traitement2.php.
Fais un nouveau fichier traitement.php, et colle le code suivant :
<?php
$genre = $_POST['genre'];
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$email = $_POST['email'];
$telephone = $_POST['telephone'];
$mobile = $_POST['mobile'];
$textemail = $_POST['textemail'];
echo $genre;
echo $nom;
echo $prenom;
echo $email;
echo $telephone;
echo $mobile;
echo $textemail;
?>
Ensuite, refais le test avec ton formulaire : il n'y aura pas de mail envoyé, juste une page vierge ou avec quelques données. En fonction du résultat, on pourra voir où est à peu près le problème.
(Une fois les tests finis, on supprimera traitement.php et on renommera traitement2.php en traitement.php pour retourner à l'état d'origine)
Admettons que ton fichier s'appelle traitement.php. Renomme-le traitement2.php.
Fais un nouveau fichier traitement.php, et colle le code suivant :
<?php
$genre = $_POST['genre'];
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$email = $_POST['email'];
$telephone = $_POST['telephone'];
$mobile = $_POST['mobile'];
$textemail = $_POST['textemail'];
echo $genre;
echo $nom;
echo $prenom;
echo $email;
echo $telephone;
echo $mobile;
echo $textemail;
?>
Ensuite, refais le test avec ton formulaire : il n'y aura pas de mail envoyé, juste une page vierge ou avec quelques données. En fonction du résultat, on pourra voir où est à peu près le problème.
(Une fois les tests finis, on supprimera traitement.php et on renommera traitement2.php en traitement.php pour retourner à l'état d'origine)
Donc tes variables sont vides.
Tu peux faire un copier / coller du formulaire ? (entre les balises <form> et </form>, celles-ci comprises ?)
Tu peux faire un copier / coller du formulaire ? (entre les balises <form> et </form>, celles-ci comprises ?)
Voici le formulaire d'origine
<HTML>
<HEAD>
<TITLE>
Formulaire de Contact
</TITLE>
</HEAD>
<BODY>
<H1 align=center>
Formulaire de Contact
</H1>
<P>
<FORM METHOD="POST" ACTION="http://www.gundermann.fr/cgi-bin/formyv.cgi" ENCTYPE="PLAIN">
<INPUT TYPE=HIDDEN NAME="recipient" VALUE="contact@gundermann.fr">
<INPUT TYPE=HIDDEN NAME="from" VALUE="Visiteur">
<INPUT TYPE=HIDDEN NAME="email" VALUE="visiteur@toto.com">
<INPUT TYPE=HIDDEN NAME="subject" VALUE="Réponses de ma page Web">
<INPUT TYPE=HIDDEN NAME="required" VALUE="nom,prenom,email,textemail">
<INPUT TYPE=HIDDEN NAME="redirect" VALUE="http://www.gundermann.fr/Reception.htm">
<br><br>
<tr>
<INPUT NAME="genre" TYPE="radio" VALUE="m">M.
<INPUT NAME="genre" TYPE="radio" VALUE="mme">Mme
<INPUT NAME="genre" TYPE="radio" VALUE="mlle">Mlle<br><br>
</tr>
<tr>
<td>Votre nom</td><br>
<td>
<INPUT TYPE=TEXT NAME="nom" SIZE="40"><br><br>
</td>
</tr>
<tr>
<td>Votre prénom</td><br>
<td>
<INPUT TYPE=TEXT NAME="prenom" SIZE="40"><br><br>
</td>
</tr>
<tr>
<td>Votre adresse e-mail</td><br>
<td>
<INPUT TYPE=TEXT NAME="email" SIZE="50"><br><br>
</td>
</tr>
<tr>
<td>Votre texte</td><br>
<td>
<TEXTAREA NAME="textemail" COLS="100" ROWS="5">
Tapez ici le texte de votre mail</TEXTAREA><br><br>
</td>
</tr>
<tr>
<td>
<INPUT VALUE="Envoyer" TYPE="submit"><br>
<INPUT VALUE="Annulation" TYPE="reset"><br><br>
</td>
</tr>
</FORM>
</P>
</BODY>
</HTML>
<HTML>
<HEAD>
<TITLE>
Formulaire de Contact
</TITLE>
</HEAD>
<BODY>
<H1 align=center>
Formulaire de Contact
</H1>
<P>
<FORM METHOD="POST" ACTION="http://www.gundermann.fr/cgi-bin/formyv.cgi" ENCTYPE="PLAIN">
<INPUT TYPE=HIDDEN NAME="recipient" VALUE="contact@gundermann.fr">
<INPUT TYPE=HIDDEN NAME="from" VALUE="Visiteur">
<INPUT TYPE=HIDDEN NAME="email" VALUE="visiteur@toto.com">
<INPUT TYPE=HIDDEN NAME="subject" VALUE="Réponses de ma page Web">
<INPUT TYPE=HIDDEN NAME="required" VALUE="nom,prenom,email,textemail">
<INPUT TYPE=HIDDEN NAME="redirect" VALUE="http://www.gundermann.fr/Reception.htm">
<br><br>
<tr>
<INPUT NAME="genre" TYPE="radio" VALUE="m">M.
<INPUT NAME="genre" TYPE="radio" VALUE="mme">Mme
<INPUT NAME="genre" TYPE="radio" VALUE="mlle">Mlle<br><br>
</tr>
<tr>
<td>Votre nom</td><br>
<td>
<INPUT TYPE=TEXT NAME="nom" SIZE="40"><br><br>
</td>
</tr>
<tr>
<td>Votre prénom</td><br>
<td>
<INPUT TYPE=TEXT NAME="prenom" SIZE="40"><br><br>
</td>
</tr>
<tr>
<td>Votre adresse e-mail</td><br>
<td>
<INPUT TYPE=TEXT NAME="email" SIZE="50"><br><br>
</td>
</tr>
<tr>
<td>Votre texte</td><br>
<td>
<TEXTAREA NAME="textemail" COLS="100" ROWS="5">
Tapez ici le texte de votre mail</TEXTAREA><br><br>
</td>
</tr>
<tr>
<td>
<INPUT VALUE="Envoyer" TYPE="submit"><br>
<INPUT VALUE="Annulation" TYPE="reset"><br><br>
</td>
</tr>
</FORM>
</P>
</BODY>
</HTML>
Comment s'appelle la page PHP où le traitement du formulaire est fait ? La page .cgi mise dans la propriété "ACTION" ne semble pas exister sur le serveur...
La page PHP où le traitement du formulaire est fait s'appelle :
contact.php
La page HTML où le formulaire est saisi s'appelle :
http://www.gundermann.fr/Contact.htm
La page de retour après réception du mail s'appelle :
http://www.gundermann.fr/Reception.htm
Mon adresse mail directe est :
contact@gundermann.fr
contact.php
La page HTML où le formulaire est saisi s'appelle :
http://www.gundermann.fr/Contact.htm
La page de retour après réception du mail s'appelle :
http://www.gundermann.fr/Reception.htm
Mon adresse mail directe est :
contact@gundermann.fr
Je suis revenu, actuellement, au script suivant (merci d'oublier tous les autres scripts sinon nous ne parlerons pas de la même chose)
Voici mon script PHP de contact<?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();
}
?>
SACHANT que ce script m'envoie le mail suivant :
CIVILITE :
NOM :
PRENOM :
ADRESSE EMAIL :
TELEPHONE :
MOBILE :
VOTRE TEXTE :
Voici mon script PHP de contact<?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();
}
?>
SACHANT que ce script m'envoie le mail suivant :
CIVILITE :
NOM :
PRENOM :
ADRESSE EMAIL :
TELEPHONE :
MOBILE :
VOTRE TEXTE :
Essaye de mettre le fichier contact.php au même niveau que le fichier du formulaire, j'suis pas sûr que ça influe, mais on ne sait jamais...
(et pense à changer le chemin du coup dans la balise FORM)
(et pense à changer le chemin du coup dans la balise FORM)
Je l'avais déjà fait, ça ne fonctionne pas davantage, et OVH m'a demandé de mettre le fichier "contact.php" dans un dossier "cgi-bin" au niveau zéro de mon site
Je suis vraiment désolé, je suis en train de te faire devenir dingue avec mon souci, cela fait des heures que tu te penches sur mon script...
Je ne sais même pas quoi dire pour m'en excuser... et te remercier sincèrement et chaleureusement.
Yves
Je ne sais même pas quoi dire pour m'en excuser... et te remercier sincèrement et chaleureusement.
Yves
Merci de ton aide du matin, c'était super sympa. Dommage que tu n'as pas réussi à résoudre mon problème.
Bon après-midi, bon week-end. Et bien cordialement. Yves
Bon après-midi, bon week-end. Et bien cordialement. Yves