Tres petit soucis avec la fonction envois de php
Résolu/Fermé
A voir également:
- Tres petit soucis avec la fonction envois de php
- Fonction si et - Guide
- Easy php - Télécharger - Divers Web & Internet
- Petit colis distribution ✓ - Forum Consommation & Internet
- Snapchat ils m'ont ajouté par la fonction recherche - Forum Snapchat
- Comment retourner un colis - Forum Consommation & Internet
2 réponses
Bonsoir,
// je n'ai pas reprit le reste du code par soucis de clarté, il doit bien sur être présent
// envoi du mail
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {
//Le mail est bien expédié
$erreur = "Votre message nous a bien été transmis";
unset($nom);
unset($prenom);
unset($objet);
unset($telephone);
unset($email);
unset($message);
}
else{
$erreur = "Une erreur est survenue, votre message n'est pas parti";
}
// affiche le contenu de la variable $erreur avec la fonction echo
echo $erreur;
}
}
Néanmoins si vous sépare le traitement de la forme(HTML) ce qui est correct vous pouvez rediriger vers une page prévue pour ça en utilisant la fontion php header()
http://php.net/manual/fr/function.header.php
Et en transférant en GET la variable en question
http://php.net/manual/fr/reserved.variables.get.php
Comme ceci:
// envoi du mail
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {
//Le mail est bien expédié
$erreur = "Votre message nous a bien été transmis";
unset($nom);
unset($prenom);
unset($objet);
unset($telephone);
unset($email);
unset($message);
}
else{
$erreur = "Une erreur est survenue, votre message n'est pas parti";
}
// envoit vers une page qui indique le résultat de l'envoi du formulaire
header('Location: resultatenvoi.php?message='.$erreur);
exit();// facultatif mais ça coûte rien d'arrêter le programme/la page
}
}
Et bien sûr de créer cette page resultatenvoi.php
<html>
<head><title>CONFIRMATION DE L'ENVOI DU FORMULAIRE</title></head>
<body>
<!-- un peu de css pour la forme -->
<p style='color:red;font-size:2.2em;font-weight:bold;'>
<!-- début du php -->
<?php
/* controle si la valeur de la variable $erreur est bien envoyé(otenu dans une variable nommée $_GET['message'] comme indiqué dans la redirection par la fonction header()
*/
if(isset($_GET['message'])){
echo $_GET['message'];
}
exit();
?>
</p>
</body>
</html>
// je n'ai pas reprit le reste du code par soucis de clarté, il doit bien sur être présent
// envoi du mail
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {
//Le mail est bien expédié
$erreur = "Votre message nous a bien été transmis";
unset($nom);
unset($prenom);
unset($objet);
unset($telephone);
unset($email);
unset($message);
}
else{
$erreur = "Une erreur est survenue, votre message n'est pas parti";
}
// affiche le contenu de la variable $erreur avec la fonction echo
echo $erreur;
}
}
Néanmoins si vous sépare le traitement de la forme(HTML) ce qui est correct vous pouvez rediriger vers une page prévue pour ça en utilisant la fontion php header()
http://php.net/manual/fr/function.header.php
Et en transférant en GET la variable en question
http://php.net/manual/fr/reserved.variables.get.php
Comme ceci:
// envoi du mail
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {
//Le mail est bien expédié
$erreur = "Votre message nous a bien été transmis";
unset($nom);
unset($prenom);
unset($objet);
unset($telephone);
unset($email);
unset($message);
}
else{
$erreur = "Une erreur est survenue, votre message n'est pas parti";
}
// envoit vers une page qui indique le résultat de l'envoi du formulaire
header('Location: resultatenvoi.php?message='.$erreur);
exit();// facultatif mais ça coûte rien d'arrêter le programme/la page
}
}
Et bien sûr de créer cette page resultatenvoi.php
<html>
<head><title>CONFIRMATION DE L'ENVOI DU FORMULAIRE</title></head>
<body>
<!-- un peu de css pour la forme -->
<p style='color:red;font-size:2.2em;font-weight:bold;'>
<!-- début du php -->
<?php
/* controle si la valeur de la variable $erreur est bien envoyé(otenu dans une variable nommée $_GET['message'] comme indiqué dans la redirection par la fonction header()
*/
if(isset($_GET['message'])){
echo $_GET['message'];
}
exit();
?>
</p>
</body>
</html>