Message erreur formulaire
nigloo06
Messages postés
13
Statut
Membre
-
nigloo06 Messages postés 13 Statut Membre -
nigloo06 Messages postés 13 Statut Membre -
Bonjour,
Je me permets de vous écrire car je suis bloqué sur mon site internet, en effet, je fais un formulaire pour que les utilisateurs puissent m'envoyer un mail directement par mon site. Tout fonctionne sauf que quand un champs n'est pas rempli, un message s'ouvre pour prévenir l'utilisateur du champs qui est manquant. Cependant, la page derrière ce message est blanche.
Comment faire pour ouvrir ce message superposé à ma page avec le formulaire ???
Voici mon code :
<?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','entreSetU@gmail.com');
define('MAIL_SUJET','Message du site internet');
// vérification des champs
if (empty($_POST['civilite']))
$message .= "Votre civilité<br/>";
if (empty($_POST['nom']))
$message .= "Votre nom<br/>";
if (empty($_POST['email']))
$message .= "Votre adresse mail<br/>";
if (empty($_POST['comments']))
$message .= "Votre message<br/>";
if (empty($_POST['interets']))
$message .= "Votre demandes<br/>";
// si un champ est vide, on affiche le message d'erreur et on stoppe le script
if (strlen($message) > strlen($msg_erreur))
{
?>
<script language="Javascript">
alert("<?php echo $message; ?>" );
</script>
<?php
die();
}
// sinon c'est ok => on continue
foreach($_POST as $index => $valeur)
{
$$index = stripslashes(trim($valeur));
}
$interets = $_POST['interets'];
$sqlinterets = '';
for ($i=0; $i<count($interets); $i++)
{
$sqlinterets .= $interets[$i];
$sqlinterets .= ', ';
}
//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 = "Message de : $civilite $nom\n";
$mail_corps .= "Adresse : $adresse, $codepostal, $ville\n";
$mail_corps .= "Type de demande : $sqlinterets\n\n\n";
$mail_corps .= $comments;
// 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";
}
?>
Je me permets de vous écrire car je suis bloqué sur mon site internet, en effet, je fais un formulaire pour que les utilisateurs puissent m'envoyer un mail directement par mon site. Tout fonctionne sauf que quand un champs n'est pas rempli, un message s'ouvre pour prévenir l'utilisateur du champs qui est manquant. Cependant, la page derrière ce message est blanche.
Comment faire pour ouvrir ce message superposé à ma page avec le formulaire ???
Voici mon code :
<?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','entreSetU@gmail.com');
define('MAIL_SUJET','Message du site internet');
// vérification des champs
if (empty($_POST['civilite']))
$message .= "Votre civilité<br/>";
if (empty($_POST['nom']))
$message .= "Votre nom<br/>";
if (empty($_POST['email']))
$message .= "Votre adresse mail<br/>";
if (empty($_POST['comments']))
$message .= "Votre message<br/>";
if (empty($_POST['interets']))
$message .= "Votre demandes<br/>";
// si un champ est vide, on affiche le message d'erreur et on stoppe le script
if (strlen($message) > strlen($msg_erreur))
{
?>
<script language="Javascript">
alert("<?php echo $message; ?>" );
</script>
<?php
die();
}
// sinon c'est ok => on continue
foreach($_POST as $index => $valeur)
{
$$index = stripslashes(trim($valeur));
}
$interets = $_POST['interets'];
$sqlinterets = '';
for ($i=0; $i<count($interets); $i++)
{
$sqlinterets .= $interets[$i];
$sqlinterets .= ', ';
}
//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 = "Message de : $civilite $nom\n";
$mail_corps .= "Adresse : $adresse, $codepostal, $ville\n";
$mail_corps .= "Type de demande : $sqlinterets\n\n\n";
$mail_corps .= $comments;
// 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";
}
?>
A voir également:
- Message erreur formulaire
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Recuperer message whatsapp supprimé - Guide
- Message supprimé whatsapp - Guide
- Message absence thunderbird - Guide