Script formulaire page de remerciement

Fermé
lio63 - 6 nov. 2007 à 17:24
 tonio - 12 mars 2008 à 23:44
Bonjour,
voici le script de mon formulaire,

je souhaiterai que une fois envoyé mon formulaire se dirige vers une page de remerciement de mon site a la place de la page qui apparait
je pense qu'il faut changer une partie du script html et du script php
je vous est mis en gras la partie que je souhaite pas voir apparaitre
pouvez vous m'aider ???

Voici le script php :

<html>
<head>

</head>
<body>
<?

// DEBUT Fonction de contrôle du mail PHP-UNIX
function check_mail($champ4) {
if( (preg_match('/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/', $champ4)) ||
(preg_match('/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/',$champ4)) ) {
$host = explode('@', $champ4);
if(checkdnsrr($host[1].'.', 'MX') ) return true;
if(checkdnsrr($host[1].'.', 'A') ) return true;
if(checkdnsrr($host[1].'.', 'CNAME') ) return true;
}
return false;
}
// FIN Fonction de contrôle du mail
$MailTo = "postmaster@basketlawantzenau.com"; //adresse à laquelle sera envoyé le contenu du formulaire
$MailCc = "autre-mail@domaine.com"; // adresse à laquelle sera envoyé un communiqué
$MailSubject = "Inscription Wantz' Star Game"; //texte qui va figurer dans le champ "sujet" du email
$MailHeader = "$champ4"; //adresse email qui va figurer dans le champ "expéditeur" du email et qui peut être remplacé par la variable "$champx" ("$champ3").
// Quelques hébergeurs obligent que le domaine du mail de l'expéditeur soit celui de votre site

$min_size="3"; // Longueur minimum du message
$max_size="5000"; //Longueur maximum du message
$Envoi = 1; //initialisation de la variable envoi à 1
//
if ($champ1 == ""){ //nom du champ1
echo("Vous n'avez pas complété le Nom.<br>"); //message qui s'affiche si le visiteur n'a pas rempli ce champ
$Envoi = 0; //si le champ1 n'a pas été rempli, la variable envoi prend la valeur de 0
}
else {
$MailBody .= "Nom : $champ1\n"; //si le champ1 contient de l'information, elle est stockée dans la variable MailBody
}
if ($champ2 == ""){
echo("Vous n'avez pas complété le Prénom.<br>");
$Envoi = 0;
}
else {
$MailBody .= "Prénom : $champ2\n";
}
if ($champ4 == ""){
echo("Vous n'avez pas complété l'adresse E-mail<br>");
$Envoi = 0;
}
else {
if (check_mail($champ4)) {
$MailBody .= "E-mail : $champ4\n";
}
else {
echo("L'adresse e-mail n'est pas valide<br>");
$Envoi = 0;
}
}
if ($champ5 == "0"){
echo("Vous avez oublié de choisir une valeur dans le menu déroulant.<br>");
$Envoi = 0;
}
else {
$MailBody .= "Vous avez : $champ5\n";
}

if ($champ7 == ""){
echo("Vous n'avez pas précisé si vous êtes Licencié(e) ou Non Licencié(e).<br>");
$Envoi = 0;
}
else {
$MailBody .= "Vous êtes : $champ7\n";
}

//Routine pour les cases à cocher

$MailBody .="Vous participez : ";

$items = 2; //initialisation du nombre d'items possibles

for ($i = 1; $i <= $items; $i++) { //boucle sur le nombre d'items

$MailBody .= "$champ8[$i], "; //stockage des items choisis dans la variable MailBody
}

if ($Envoi == 0) { //vérification que la variable envoi est bien à 1
echo("<p><a href=\"Javascript:history.go(-1)\"><center><strong>RETOUR</strong></center></a></p>");
//Pas d'envoi du message et retour au formulaire
}

//Envoi du message
if ($Envoi == 1) { //vérification que la variable envoi est bien à 1
echo("<p><strong>Votre nom : <font color=\"#0000FF\">$champ1</font>\n");
echo("<br>Votre prénom : <font color=\"#0000FF\">$champ2</font>\n");
echo("<br>Votre e-mail : <font color=\"#0000FF\">$champ4</font>\n");
echo("<br>Vous avez: <font color=\"#0000FF\">$champ5</font>\n");
echo("<p> </p>");
mail($MailTo, $MailSubject, $MailBody, $MailHeader); //envoi du message
//mail($MailCc, $MailSubject, $MailBody, $MailHeader); //envoi du communiqué (enlever // pour le rendre opérationnel
echo("<p>Votre message a bien été envoyé.<br>Merci de vos commentaires.");
echo("<p> </p><p> </p><p align=\"center\"><a href=\"index.html\">Retour</strong></a></p>"); //affichage d'un message de confirmation.

}
?>
</body>
</html>
A voir également:

7 réponses

Nico_ Messages postés 1219 Date d'inscription vendredi 29 décembre 2006 Statut Membre Dernière intervention 15 mars 2016 189
6 nov. 2007 à 18:47
salut,

MODIFIE CE QUI EST EN MAJUSCULE !

remplace:
echo("<p>Votre message a bien été envoyé.<br>Merci de vos commentaires."); 


par:

header("Location:TA PAGE DE REMERCIMENT.SON EXTENTION");


Bonne soirée
0
voila le message d'erreur que j'ai :

Warning: Cannot modify header information - headers already sent by (output started at /home.10.27/basketla/www/formulaire.php:6) in /home.10.27/basketla/www/formulaire.php on line 90
0
Bonsoir,

c'est normalque tu ai un message d'erreur, il ne doit y avaoir aucune balise ou texte html avnat le header (et toi tu en as pas mal)


pour ton pb structure ton fichier ainsi:



test si les champs sont remplis

si tous bons c'est à a dire $envoi==1{

envoi du mail mail(.........

ton message de remerciement

}

au passage je ne vois pas à quoi servent tes echo si tu ne veux pas qu'ils apparaissent
0
oui j'ai supprimé les echo

voici mon script maintenant

mais j'ai toujours pas ma page de remerciement :

<html>
<head>

</head>
<body>
<?

// DEBUT Fonction de contrôle du mail PHP-UNIX
function check_mail($champ4) {
if( (preg_match('/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/', $champ4)) ||
(preg_match('/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/',$champ4)) ) {
$host = explode('@', $champ4);
if(checkdnsrr($host[1].'.', 'MX') ) return true;
if(checkdnsrr($host[1].'.', 'A') ) return true;
if(checkdnsrr($host[1].'.', 'CNAME') ) return true;
}
return false;
}
// FIN Fonction de contrôle du mail
$MailTo = "postmaster@basketlawantzenau.com"; //adresse à laquelle sera envoyé le contenu du formulaire
$MailCc = "autre-mail@domaine.com"; // adresse à laquelle sera envoyé un communiqué
$MailSubject = "Inscription Wantz' Star Game"; //texte qui va figurer dans le champ "sujet" du email
$MailHeader = "$champ4"; //adresse email qui va figurer dans le champ "expéditeur" du email et qui peut être remplacé par la variable "$champx" ("$champ3").
// Quelques hébergeurs obligent que le domaine du mail de l'expéditeur soit celui de votre site

$min_size="3"; // Longueur minimum du message
$max_size="5000"; //Longueur maximum du message
$Envoi = 1; //initialisation de la variable envoi à 1
//
if ($champ1 == ""){ //nom du champ1
echo("Vous n'avez pas complété le Nom.<br>"); //message qui s'affiche si le visiteur n'a pas rempli ce champ
$Envoi = 0; //si le champ1 n'a pas été rempli, la variable envoi prend la valeur de 0
}
else {
$MailBody .= "Nom : $champ1\n"; //si le champ1 contient de l'information, elle est stockée dans la variable MailBody
}
if ($champ2 == ""){
echo("Vous n'avez pas complété le Prénom.<br>");
$Envoi = 0;
}
else {
$MailBody .= "Prénom : $champ2\n";
}
if ($champ4 == ""){
echo("Vous n'avez pas complété l'adresse E-mail<br>");
$Envoi = 0;
}
else {
if (check_mail($champ4)) {
$MailBody .= "E-mail : $champ4\n";
}
else {
echo("L'adresse e-mail n'est pas valide<br>");
$Envoi = 0;
}
}
if ($champ5 == "0"){
echo("Vous avez oublié de choisir une valeur dans le menu déroulant.<br>");
$Envoi = 0;
}
else {
$MailBody .= "Vous avez : $champ5\n";
}

if ($champ7 == ""){
echo("Vous n'avez pas précisé si vous êtes Licencié(e) ou Non Licencié(e).<br>");
$Envoi = 0;
}
else {
$MailBody .= "Vous êtes : $champ7\n";
}

//Routine pour les cases à cocher

$MailBody .="Vous participez : ";

$items = 2; //initialisation du nombre d'items possibles

for ($i = 1; $i <= $items; $i++) { //boucle sur le nombre d'items

$MailBody .= "$champ8[$i], "; //stockage des items choisis dans la variable MailBody
}

if ($Envoi == 0) { //vérification que la variable envoi est bien à 1
echo("<p><a href=\"Javascript:history.go(-1)\"><center><strong>RETOUR</strong></center></a></p>");
//Pas d'envoi du message et retour au formulaire
}
//Envoi du message
if ($Envoi == 1) { //vérification que la variable envoi est bien à 1
}
?>

</body>
</html>
0

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

Posez votre question
Essayes ça:

<html>
<head>

</head>
<body>
<?

// DEBUT Fonction de contrôle du mail PHP-UNIX
function check_mail($champ4) {
if( (preg_match('/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/', $champ4)) ||
(preg_match('/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/',$champ4)) ) {
$host = explode('@', $champ4);
if(checkdnsrr($host[1].'.', 'MX') ) return true;
if(checkdnsrr($host[1].'.', 'A') ) return true;
if(checkdnsrr($host[1].'.', 'CNAME') ) return true;
}
return false;
}
// FIN Fonction de contrôle du mail
$MailTo = "postmaster@basketlawantzenau.com"; //adresse à laquelle sera envoyé le contenu du formulaire
$MailCc = "autre-mail@domaine.com"; // adresse à laquelle sera envoyé un communiqué
$MailSubject = "Inscription Wantz' Star Game"; //texte qui va figurer dans le champ "sujet" du email
$MailHeader = "$champ4"; //adresse email qui va figurer dans le champ "expéditeur" du email et qui peut être remplacé par la variable "$champx" ("$champ3").
// Quelques hébergeurs obligent que le domaine du mail de l'expéditeur soit celui de votre site

$min_size="3"; // Longueur minimum du message
$max_size="5000"; //Longueur maximum du message
$Envoi = 1; //initialisation de la variable envoi à 1
//
if ($champ1 == ""){ //nom du champ1
echo("Vous n'avez pas complété le Nom.<br>"); //message qui s'affiche si le visiteur n'a pas rempli ce champ
$Envoi = 0; //si le champ1 n'a pas été rempli, la variable envoi prend la valeur de 0
}
else {
$MailBody .= "Nom : $champ1\n"; //si le champ1 contient de l'information, elle est stockée dans la variable MailBody
}
if ($champ2 == ""){
echo("Vous n'avez pas complété le Prénom.<br>");
$Envoi = 0;
}
else {
$MailBody .= "Prénom : $champ2\n";
}
if ($champ4 == ""){
echo("Vous n'avez pas complété l'adresse E-mail<br>");
$Envoi = 0;
}
else {
if (check_mail($champ4)) {
$MailBody .= "E-mail : $champ4\n";
}
else {
echo("L'adresse e-mail n'est pas valide<br>");
$Envoi = 0;
}
}
if ($champ5 == "0"){
echo("Vous avez oublié de choisir une valeur dans le menu déroulant.<br>");
$Envoi = 0;
}
else {
$MailBody .= "Vous avez : $champ5\n";
}

if ($champ7 == ""){
echo("Vous n'avez pas précisé si vous êtes Licencié(e) ou Non Licencié(e).<br>");
$Envoi = 0;
}
else {
$MailBody .= "Vous êtes : $champ7\n";
}

//Routine pour les cases à cocher

$MailBody .="Vous participez : ";

$items = 2; //initialisation du nombre d'items possibles

for ($i = 1; $i <= $items; $i++) { //boucle sur le nombre d'items

$MailBody .= "$champ8[$i], "; //stockage des items choisis dans la variable MailBody
}

if ($Envoi == 0) { //vérification que la variable envoi est bien à 1
echo("<p><a href=\"Javascript:history.go(-1)\"><center><strong>RETOUR</str ong></center></a></p>");
//Pas d'envoi du message et retour au formulaire
}
//Envoi du message
if ($Envoi == 1) { //vérification que la variable envoi est bien à 1
mail($MailTo, $MailSubject, $MailBody, $MailHeader); //envoi du message 

// et la tu mets ton message de remerciement
echo " Votre message a bien &eacute;t&eacute; envoy&eacute;<br> merci de vos commentaires";
}
?>

</body>
</html>
0
merci pour ta reponse
mais j'aimerai mettre une page de mon site en remerciement et nom un message !
0
Bonjour,
c'est bon j'ai trouver ma solution
merci a vous tous
0
Salut Lio, j'essaye de faire comme toi: une page de remerciement après l'envoi du formulaire. Et j'ai quand même pas envie de faire toute ma page de remerciement avec echo.....normal!
Tu sembles avoir trouvé la solution; peux tu poster ton script final.ce erait énorme.
Merci d'avance, et felicitations si tu as trouvé, moi j'y arrive po!
0