[resolu]fonction mail() et rafraichissement page
Posté : 12 mai 2011, 13:28
Bonjour,
J'ai plusieurs soucis sur mon fonction mail(), mais je vais commencer par le premier.
Lors du rafraichissement de la page, le mail() est envoyé une deuxième fois au destinataire. Alors que le cookie devrait empêcher ce soucis.
tout d'abord voici mon code :
(je précise que la validation des champs est faite par jquery, ce qui explique la 'value' des champs formulaires)
Je vous remercie beaucoup pour les réponses et le temps passé
J'ai plusieurs soucis sur mon fonction mail(), mais je vais commencer par le premier.
Lors du rafraichissement de la page, le mail() est envoyé une deuxième fois au destinataire. Alors que le cookie devrait empêcher ce soucis.
tout d'abord voici mon code :
(je précise que la validation des champs est faite par jquery, ce qui explique la 'value' des champs formulaires)
Code : Tout sélectionner
<?php
$txtAide = "";
error_reporting(0);
if (isset($_POST["envoyercontact"]) && $_POST["envoyercontact"] != "") {
if (get_magic_quotes_gpc()) {
$nom = stripslashes(trim($_POST['chnom']));
$expediteur = stripslashes(trim($_POST['chmail']));
$message = stripslashes(trim($_POST['chcomm']));
}else {
$nom = trim($_POST['chnom']);
$expediteur = trim($_POST['chmail']);
$message = trim($_POST['chcomm']);
}
/* Eviter les insertions de header */
$regex_head = '/[\n\r]/';
/* envoi d'un mail au webmaster */
if (!isset($_COOKIE['sent'])) {
$destinataire = '[email protected]';
$sujet = 'contact de ton site internet';
$messagehtml = 'Bonjour,'."\r\n\r\n";
$messagehtml .= 'Ce mail a été envoyé depuis toto.fr par '.$nom."\r\n\r\n";
$messagehtml .= '********************************'."\r\n";
$messagehtml .= $message."\r\n";
$messagehtml .= '********************************'."\r\n";
$headers = 'From:'.$nom.'<'.$expediteur.'>'."\r\n";
$headers .= "\r\n";
if(mail($destinataire,$sujet,$messagehtml,$headers)) {
$alert = 'E-mail envoyé avec succès';
unset($_POST);
setcookie("sent","1",time()+120);
}else {
$alert = 'Erreur d\'envoi de l\'e-mail';
}
}
/*cookie créé et page rafrachie !*/
else {
unset($_POST);
}
}
?>
<form id="formID" class="formular" method="post" action="">
<!-- nom -->
<label for="chnom" class="txtform"><span class="etoile">*</span>Nom :</label>
<input name="chnom" type="text" id="chnom" class="validate[required,custom[onlyLetter]] champcontact" size="30" maxlength="30" />
<!-- email -->
<label for="chnom" class="txtform"><span class="etoile">*</span>Email :</label>
<input name="chmail" type="text" id="chmail" class="validate[required,custom[email]] champcontact" size="30" maxlength="50" />
<!-- message -->
<label for="chnom" class="txtform">Message :</label>
<textarea name="chcomm" id="chcomm" class="validate[required,length[6,300]] champcontact" rows="6" style="width: 400px"></textarea>
<!-- bouton valid -->
<div align="left"><input class="submit" type="submit" value="Envoyer" name="envoyercontact" /></div>
<!-- * -->
<div class="txtform champcontact">* obligatoires</div>
</form>Je vous remercie beaucoup pour les réponses et le temps passé