adamtheboss
Messages postés5Date d'inscriptionmardi 10 avril 2007StatutMembreDernière intervention24 juin 2009
-
18 juin 2009 à 10:07
Arto_8000
Messages postés1044Date d'inscriptionlundi 7 mars 2005StatutMembreDernière intervention13 juillet 2010
-
25 juin 2009 à 23:38
Bonjour,
J'ai créé un site chez free.fr où j'ai integré un script contact captcha, j'ai aussi créé un dossier sessions vide à la racine du site. Le formulaire s'affiche correctement avec le captcha mais je ne reçois pas d'email ! J'ai pourtant bien indiqué mon adresse où il fallait dans le contact.php
Je ne sais pas d'où vient le pb. Ca fait le 5e formulaire que j'essaye mais je ne reçois jamais de message. J'ai lu qu'il y avait des problèmes avec la fonction mail et l'hebergeur free mais dans ce formulaire c'était écrit que si on créait un dossier "sessions" ça marcherait...or ça ne marche pas :( Merci pour votre aide.
Voilà le code, j'ai mis cette partie au début du site, en premier, avant meme la certification W3C :
<?
session_start(); //ouverture la session pour conserver le captcha
if (!isset($_POST["action"])) $_POST["action"]="";
if (!isset($_POST["nom"])) $_POST["nom"]=""; //déclaration de chaque élément de formulaire
if (!isset($_POST["prenom"])) $_POST["prenom"]="";
if (!isset($_POST["email"])) $_POST["email"]="";
if (!isset($_POST["sujet"])) $_POST["sujet"]="";
if (!isset($_POST["message"])) $_POST["message"]="";
if (!isset($_POST["captcha"])) $_POST["captcha"]="";
$msg="";
$flag=1;
// CI-DESSOUS remplacez l'adresse ($destinataire="[mailto:contact@votreadresse.com contact@votreadresse.com]";) par la vôtre
if ($_POST["action"]=="Envoyer" && $_POST["email"]!="" && strtolower($_POST["captcha"])==$_SESSION["phrase"]){
$destinataire="[mailto:adam_le_bosss@hotmail.com adam_le_bosss@hotmail.com]"; //mettez ici votre adresse e-mail
$objet="Formulaire de contact du site web"; // titre du mail automatique
$message_envoi="Vous avez reçu une demande de contact ! \n";
$message_envoi.="Voici le contenu : \n"; //déclaration du contenu du message
$message_envoi.="Nom du contact :".$_POST["nom"]." \n";
$message_envoi.="Prénom du contact :".$_POST["prenom"]." \n";
$message_envoi.="E-mail du contact :".$_POST["email"]." \n";
$message_envoi.="Site web :".$_POST["url"]." \n";
$message_envoi.="Sujet :".$_POST["sujet"]." \n";
$message_envoi.="Message du contact :".$_POST["message"]." \n\n"; //rajouter apres cette ligne les autres éléments du formulaire
mail($destinataire,$objet,$message_envoi); // envoi du message
$flag=0; //si tout est OK, on passe cette variable à 1
}
else{
$msg="Vous devez remplir tous les champs, portant un astérisque *. Merci";
}
// début de la gestion de l'affichage du captcha
$monfichier=fopen("captcha.txt","r");
$i=0;
while(!feof($monfichier)){
$montab[$i]=fgets($monfichier,4096);
$i++;
}
fclose($monfichier);
shuffle($montab);
$elem0=explode(";",$montab[0]);
$elem1=explode(";",$montab[1]);
$elem2=explode(";",$montab[2]);
$elem3=explode(";",$montab[3]);
$elem4=explode(";",$montab[4]);
$phrase=$elem0[0].$elem1[0].$elem2[0].$elem3[0].$elem4[0];
$_SESSION["phrase"]=$phrase;
$img="";
//fin de la gestion du captcha
?>
En suite au milieu du site j'ai intégré la fin du code :
<?
if($flag==0){
// quand le message est parti voici ce qui est affiche, avec un lien retour vers la page de votre choix
//libre à vous de procéder aux modifications que vous souhaitez
echo "Merci pour votre message, nous vous répondrons dans les meilleurs délais
";
echo '[javascript:history.back() Retour]';
}
else {
?>
<!-- A partir d'ici il s'agit du traitement du formulaire (ce qui est apparent)-->
<? echo $img ?> Recopiez le texte de l'image :
<?
// Ce script a été créé gratuitement pour vous !
// Merci de laisser les lignes suivantes pour faire connaitre le script...
echo "\n\n\n\n\n\n<!--
###########################################################
Formulaire de contact + Captcha modifié et proposé par : Patrick HAMY - 15-12-2007
Les 36 images du captcha sont réalisées par Patrick HAMY Il est interdit de les monnayer !
Site: http://www.patrickhamy.net/ Licenge : GPL/Le script peut être modifié et proposé, à condition de ne pas enlever
les mentions et liens correspondant à son origine !
Le script est gratuit et doit impérativement le rester !
###########################################################
--> \n\n\n\n\n ";
//Merci
?>
</fieldset>
</form>
<!-- Ici c'est la fin du traitement du formulaire-->
Arto_8000
Messages postés1044Date d'inscriptionlundi 7 mars 2005StatutMembreDernière intervention13 juillet 20107 18 juin 2009 à 17:33
Tu devrais vérifier au près de ton hébergeur pour savoir si le mail est activé ou non. Sur un hébergeur gratuit c'est fort probable que ça soit désactivé.
adamtheboss
Messages postés5Date d'inscriptionmardi 10 avril 2007StatutMembreDernière intervention24 juin 2009 18 juin 2009 à 19:49
Salut et merci pour ton message,
Bin en faite je crois justement que free bloque la fonction mail. Cependant, dans des sites hébergés chez free, il y a des formulaires contact et ils reçoivent les emails !
Il doit donc y avoir une solution pour que la fonction mail soir reconnue par free ou peut etre une autre methode.
Merci pour votre aide
Arto_8000
Messages postés1044Date d'inscriptionlundi 7 mars 2005StatutMembreDernière intervention13 juillet 20107 18 juin 2009 à 23:49
Tu peux faire un système qui laisse des message sans nécessairement passer par le mail. Tu peux garder les messages soient dans une base de donnée ou dans des fichiers et à chaque jour tu vérifies si tu as des nouveaux messages.
adamtheboss
Messages postés5Date d'inscriptionmardi 10 avril 2007StatutMembreDernière intervention24 juin 2009 18 juin 2009 à 23:55
A oui tout simplement ? ça serait vraiment pratique, plus besoin de passer par l'adresse email ! Mais je dois faire quoi ? Je dois créer un dossier à la racine du site qui va recevoir les messages ou comment ?
Est-ce possible de modifier le code que j'ai donné pour qu'il fasse ça ? car son design est cool et il comporte un captcha.
Merci et bonne fin de soirée
Vous n’avez pas trouvé la réponse que vous recherchez ?
Arto_8000
Messages postés1044Date d'inscriptionlundi 7 mars 2005StatutMembreDernière intervention13 juillet 20107 19 juin 2009 à 06:48
Tu peux toujours adapté ton script pour que ça passe par autre chose. Pour comment le faire, je n'ai pas de solution toute faite pour un système de messagerie, mais il y a surement des exemples sur PHPCS ou d'autres sites.
adamtheboss
Messages postés5Date d'inscriptionmardi 10 avril 2007StatutMembreDernière intervention24 juin 2009 19 juin 2009 à 11:45
J'ai cherché sur phpcs et sur google mais je n'ai eu aucune piste sur la recepation de messages dans un dossier. Si quelqu'un pourrait m'éclairer sur ce sujet, ça serait sympa. Merci.
adamtheboss
Messages postés5Date d'inscriptionmardi 10 avril 2007StatutMembreDernière intervention24 juin 2009 24 juin 2009 à 13:28
C'est trop bizarre j'ai contacté free ils m'ont dit que la fonction mail () est activée ! Mais d'où vient ce problème alors ? Et je n'arrive pas à recevoir les mails dans un dossier non plus je n'ai pas trouvé de tuto sur google. Merci de bien vouloir m'aider.