Bonjour à tous,
je suis confronté aujourd'hui à un problème assez inédit pour moi. J'ai déjà réalisé quelques formulaires d'envoi mail mais là malgré que la syntaxe semble être bonne un problème persiste. Après différents test j'ai remarqué que ma fonction mail ne marche pas lorsque je la place dans un if
Quand je la place sans le if elle fonctionne.
J'ai tenter de mettre la fonction mail dans une variable.
La fonction mail fonctionne et me met un 1 dans la variable mais dès que je met cette même variable dans un if mon script devient invalide.
Pour le contexte il s'agit d'un site assez léger sur lequel j'utilise de l'URL Rewriting via htaccess.
Je fournis tout de même le code :
Merci d'avance
Modifié par mathieuh (09 May 2012 - 23:40)
je suis confronté aujourd'hui à un problème assez inédit pour moi. J'ai déjà réalisé quelques formulaires d'envoi mail mais là malgré que la syntaxe semble être bonne un problème persiste. Après différents test j'ai remarqué que ma fonction mail ne marche pas lorsque je la place dans un if
Quand je la place sans le if elle fonctionne.
J'ai tenter de mettre la fonction mail dans une variable.
La fonction mail fonctionne et me met un 1 dans la variable mais dès que je met cette même variable dans un if mon script devient invalide.

Pour le contexte il s'agit d'un site assez léger sur lequel j'utilise de l'URL Rewriting via htaccess.
Je fournis tout de même le code :
$error=false;
$mailok=false;
if($_POST['contact'] == '1'):
$vemail=false;
$vnom=false;
$vmessage=false;
/* Nettoyage des variables récupérées */
$ipcontact = fix_for_page($_POST['ip-contact']);
$datecontact = fix_for_page($_POST['date-contact']);
$nomcontact = fix_for_page($_POST['nom-contact']);
$emailcontact = fix_for_page($_POST['email-contact']);
$messagecontact = fix_for_page($_POST['message-contact']);
/* Verifications */
if(filter_var($emailcontact, FILTER_VALIDATE_EMAIL)) $vemail=true;
if(!empty($nomcontact)) $vnom=true;
if(!empty($messagecontact)) $vmessage=true;
if($vemail && $vnom && $vmessage):
/* Envoie du message */
$emailto = '****@***.com';
$sujet = "Nouveau Message | Contact : ".$nomcontact." - ".$ipcontact;
$message = "Coordonnées : ".$nomcontact." <".$emailcontact."> (IP: ".$ipcontact." )\n
Message : \n".$messagecontact;
$message = wordwrap($message, 70);
$headers = 'From: '.$nomcontact.' <'.$emailcontact.'>\r\n';
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=utf-8\r\n";
if(mail($emailto, $sujet, $message, $headers)) $mailok=true;
else:
$error=true;
endif;
endif;
Merci d'avance

Modifié par mathieuh (09 May 2012 - 23:40)