Formulaire php mail
mela
-
arthezius Messages postés 3538 Date d'inscription Statut Membre Dernière intervention -
arthezius Messages postés 3538 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Sur mon site j'ai créé un formulaire avec une page qui contient les infos du formulaire une et qui appelle une page php pour le traitement de données qui sont par la suite envoyées sur ma boite mail.
Après avoir cliquer sur Envoyer, les internautes sont redirigés vers une page confirmant l'envoie du formulaire. J'aimerais savoir s'il est possible qu'au bout de quelques secondes, ils soient redirigés vers l'acceuil du site.
Après avoir longuement rechercher, je pense que c'est la fonction "header" qui fait la redirection mais je ne sais pas comment l'insérer dans mon code que voici :
<?php
header('Location: index.php');
$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
$msg_ok = "Votre demande a bien été prise en compte.";
$message = $msg_erreur;
define('MAIL_DESTINATAIRE','com-ffjbt@orange.fr'); // remplacer par votre email
define('MAIL_SUJET','Demande de devis');
header("Location: http://www.index.php/"); /* Redirection du navigateur */
// vérification des champs
if (empty($_POST['type']))
$message .= "type<br/>";
if (empty($_POST['poignee']))
$message .= "poignee<br/>";
if (empty($_POST['civilite']))
$message .= "civilite<br/>";
if (empty($_POST['contact']))
$message .= "contact<br/>";
if (empty($_POST['adresse']))
$message .= "Votre adresse<br/>";
if (empty($_POST['codepostal']))
$message .= "Votre code postal<br/>";
if (empty($_POST['ville']))
$message .= "Votre ville<br/>";
// si un champ est vide, on affiche le message d'erreur
if (strlen($message) > strlen($msg_erreur)) {
echo $message;
// sinon c'est ok
} else {
foreach($_POST as $index => $valeur) {
$$index = stripslashes(trim($valeur));
}
$type = $_POST['type'];
$sqltype = '';
for ($i=0; $i<count($type); $i++)
{
$sqltype .= $type[$i];
$sqltype .= ', ';
}
$poignee = $_POST['poignee'];
$sqlpoignee = '';
for ($i=0; $i<count($poignee); $i++)
{
$sqlpoignee .= $poignee[$i];
$sqlpoignee .= ', ';
}
//Préparation de l'entête du mail:
$mail_entete = "MIME-Version: 1.0\r\n";
$mail_entete .= "From: {$_POST['contact']} "
."<{$_POST['mail']}>\r\n";
$mail_entete .= 'Reply-To: '.$_POST['mail']."\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 = "Tambourins souhaité : $sqltype\n\n\n, $qte1, $qte2, $qte3, $qte4, $qte5, $qte6, $qte7, $qte8";
$mail_corps .= "Poignee souhaitée : $sqlpoignee\n\n\n, $quantite1, $quantite2";
$mail_corps .= "Contact : $civilite\n, $structure, $contact";
$mail_corps .= "Adresse : $adresse, $codepostal $ville, $telephone, $mail, $pays\n";
// envoi du mail
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {
//Le mail est bien expédié
echo $msg_ok;
} else {
//Le mail n'a pas été expédié
echo 'Une erreur est survenue lors de l\'envoi du formulaire par email';
}
}
?>
Merci d'avance pour votre aide
Sur mon site j'ai créé un formulaire avec une page qui contient les infos du formulaire une et qui appelle une page php pour le traitement de données qui sont par la suite envoyées sur ma boite mail.
Après avoir cliquer sur Envoyer, les internautes sont redirigés vers une page confirmant l'envoie du formulaire. J'aimerais savoir s'il est possible qu'au bout de quelques secondes, ils soient redirigés vers l'acceuil du site.
Après avoir longuement rechercher, je pense que c'est la fonction "header" qui fait la redirection mais je ne sais pas comment l'insérer dans mon code que voici :
<?php
header('Location: index.php');
$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
$msg_ok = "Votre demande a bien été prise en compte.";
$message = $msg_erreur;
define('MAIL_DESTINATAIRE','com-ffjbt@orange.fr'); // remplacer par votre email
define('MAIL_SUJET','Demande de devis');
header("Location: http://www.index.php/"); /* Redirection du navigateur */
// vérification des champs
if (empty($_POST['type']))
$message .= "type<br/>";
if (empty($_POST['poignee']))
$message .= "poignee<br/>";
if (empty($_POST['civilite']))
$message .= "civilite<br/>";
if (empty($_POST['contact']))
$message .= "contact<br/>";
if (empty($_POST['adresse']))
$message .= "Votre adresse<br/>";
if (empty($_POST['codepostal']))
$message .= "Votre code postal<br/>";
if (empty($_POST['ville']))
$message .= "Votre ville<br/>";
// si un champ est vide, on affiche le message d'erreur
if (strlen($message) > strlen($msg_erreur)) {
echo $message;
// sinon c'est ok
} else {
foreach($_POST as $index => $valeur) {
$$index = stripslashes(trim($valeur));
}
$type = $_POST['type'];
$sqltype = '';
for ($i=0; $i<count($type); $i++)
{
$sqltype .= $type[$i];
$sqltype .= ', ';
}
$poignee = $_POST['poignee'];
$sqlpoignee = '';
for ($i=0; $i<count($poignee); $i++)
{
$sqlpoignee .= $poignee[$i];
$sqlpoignee .= ', ';
}
//Préparation de l'entête du mail:
$mail_entete = "MIME-Version: 1.0\r\n";
$mail_entete .= "From: {$_POST['contact']} "
."<{$_POST['mail']}>\r\n";
$mail_entete .= 'Reply-To: '.$_POST['mail']."\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 = "Tambourins souhaité : $sqltype\n\n\n, $qte1, $qte2, $qte3, $qte4, $qte5, $qte6, $qte7, $qte8";
$mail_corps .= "Poignee souhaitée : $sqlpoignee\n\n\n, $quantite1, $quantite2";
$mail_corps .= "Contact : $civilite\n, $structure, $contact";
$mail_corps .= "Adresse : $adresse, $codepostal $ville, $telephone, $mail, $pays\n";
// envoi du mail
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {
//Le mail est bien expédié
echo $msg_ok;
} else {
//Le mail n'a pas été expédié
echo 'Une erreur est survenue lors de l\'envoi du formulaire par email';
}
}
?>
Merci d'avance pour votre aide
A voir également:
- Formulaire php mail
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Publipostage mail - Accueil - Word
- Windows live mail - Télécharger - Mail
- Formulaire de reclamation instagram - Guide
5 réponses
bin tu l'insère au moment quand tu veut se redirigé
Ex: un fichier PHP exécuté un requête d 'ajout a la BDD donc donc on met la redirection a la fin du requête
Ex: un fichier PHP exécuté un requête d 'ajout a la BDD donc donc on met la redirection a la fin du requête
J'avoue que ça ne m'aide pas du tout ce que tu me dis, je débute en php. Cette fonction je l'ai mise en haut, au début du script, à la fin. Mais rien ne marche.
Par rapport à mon code tu peux me dire exactement où je doit le mettre?
Désolée, je suis un boulet comme je débute et me forme qu'avec les tuto du web, c'est un peu compliqué.
Merci
Par rapport à mon code tu peux me dire exactement où je doit le mettre?
Désolée, je suis un boulet comme je débute et me forme qu'avec les tuto du web, c'est un peu compliqué.
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
C'est bon j'ai réussi à trouver le code qu'il me fallait et où le placer.
Pour info voici le code :
<META http-equiv="refresh" content="5; URL=mapage.php?id=2">
A mettre avant "Doctype"
Pour info voici le code :
<META http-equiv="refresh" content="5; URL=mapage.php?id=2">
A mettre avant "Doctype"
Une balise meta se mete entre les <head>.
C'est l'usage du code PHP qui nécessite impérativement d'être placé avant toute chose en html.
Soit trois pages: a, b et c.
Sur la page a, un lien pointe vers la page b.
Sur la page b un script redirige vers la page c.
Avec une balise meta
Arrivé sur la page c, si tu cliques sur précédent, tu reviens sur la page b pour revenir ensuite sur la page c.
Avec un header() en PHP
Arrivé sur la page c, si tu cliques sur précédent, tu reviens en page a. C'est l'avantage. La page b est donc invisible à la navigation (excepté la présence d'un lien vers celle-ci en page a. C'est l'avantage.
C'est l'usage du code PHP qui nécessite impérativement d'être placé avant toute chose en html.
Soit trois pages: a, b et c.
Sur la page a, un lien pointe vers la page b.
Sur la page b un script redirige vers la page c.
Avec une balise meta
Arrivé sur la page c, si tu cliques sur précédent, tu reviens sur la page b pour revenir ensuite sur la page c.
Avec un header() en PHP
Arrivé sur la page c, si tu cliques sur précédent, tu reviens en page a. C'est l'avantage. La page b est donc invisible à la navigation (excepté la présence d'un lien vers celle-ci en page a. C'est l'avantage.