Rechercher : dans
Par :

Script formulaire page de remerciement

Dernière réponse le 12 mar 2008 à 23:44:51 lio63, le 6 nov 2007 à 17:24:25 
 Signaler ce message aux modérateurs

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>

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « script formulaire page de remerciement » dans :
[Webmaster] Un formulaire de contact pour votre site VoirCe formulaire permet d'avoir une page pour être contacté sur son site, sans utiliser de logiciel de messagerie. La personne qui vous contacte indique son adresse, l'objet du message et son message (évidemment). Le code est une version...
[Webmaster] Publier facilement une vidéo dans une page web VoirPublier une vidéo dans une page web n'est pas toujours évident: Selon le format (AVI, MPG, MOV...) tout le monde ne possède pas forcément le bon plugin et le bon codec. En revanche, la quasi-totalité des navigateurs possèdent le plugin Flash (SWF)....
[Webmaster] Les polices dans les pages web VoirLes limites du web Quand vous utilisez une police dans une page web, elle ne s'affichera que si l'internaute a la même police installée sur son ordinateur. Vous n'avez aucun moyen de forcer l'internaute à télécharger et installer une police, pas...
Les formulaires HTML VoirIntérêt d'un formulaire Les formulaires interactifs permettent aux auteurs de pages Web de doter leur page web d'éléments interactifs permettant par exemple un dialogue avec les internaute, à la manière des coupons-réponse présents dans certains...

1

Nico_, le 6 nov 2007 à 18:47:17

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

Répondre à Nico_

2

lio63, le 6 nov 2007 à 19:01:20

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

Répondre à lio63

3

Alain42, le 6 nov 2007 à 20:19:14

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

Répondre à Alain42

4

lio63, le 6 nov 2007 à 20:22:21

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>

Répondre à lio63

5

Alain42, le 6 nov 2007 à 22:44:38

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>

Répondre à Alain42

6

lio63, le 7 nov 2007 à 15:01:21

Merci pour ta reponse
mais j'aimerai mettre une page de mon site en remerciement et nom un message !

Répondre à lio63

7

lio63, le 7 nov 2007 à 15:33:17

Bonjour,
c'est bon j'ai trouver ma solution
merci a vous tous

Répondre à lio63

8

 tonio, le 12 mar 2008 à 23:44:51

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!

Répondre à tonio
Collection CommentÇaMarche.net