Probleme sur formulaire contact
Résolu
ced3c
Messages postés
237
Date d'inscription
Statut
Membre
Dernière intervention
-
coco -
coco -
Bonjour à tous,
J'ai pris un formulaire de contact sur le site de RAD ZONE (issu du générateur). Tout est correct jusqu'à l'envoi du courrier.
En effet le mail n'est jamais envoyé.
J'ai regarder sur le site de RAD ZONE si je pouvais voir ou je m'étais trompé mais je n'y parviens pas. De plus je n'arrive pas à m'enregistrer sur son site , c'est pourquoi je demande de l'aide ici.
Merci d'avance
Voici le programme (les e-mails ont été remplacé par des faux pour l'occasion)
Avant la partie Head et HTML
Dans la partie Head
Dans la partie Body
J'ai pris un formulaire de contact sur le site de RAD ZONE (issu du générateur). Tout est correct jusqu'à l'envoi du courrier.
En effet le mail n'est jamais envoyé.
J'ai regarder sur le site de RAD ZONE si je pouvais voir ou je m'étais trompé mais je n'y parviens pas. De plus je n'arrive pas à m'enregistrer sur son site , c'est pourquoi je demande de l'aide ici.
Merci d'avance
Voici le programme (les e-mails ont été remplacé par des faux pour l'occasion)
Avant la partie Head et HTML
<?php // On vérifie si la fonction ini_set() a été désactivée... $desactive = ini_get('disable_functions'); if (preg_match("/ini_set/i", "$desactive") == 0) { // Si elle n'est pas désactivée, on définit ini_set de manière à n'afficher que les erreurs... ini_set("error_reporting" , "E_ALL & ~E_NOTICE"); } // Vérifier que le formulaire a été envoyé... if (isset($_POST['envoi'])) { //On commence une session pour enregistrer les variables du formulaire... session_start(); $_SESSION['champ1'] = $_POST['champ1']; $_SESSION['champ2'] = $_POST['champ2']; $_SESSION['champ3'] = $_POST['champ3']; $_SESSION['zone_email1'] = $_POST['zone_email1']; //Enregistrement des zones de texte... $_SESSION['zone_texte1'] = $_POST['zone_texte1']; // Définir l\'icone apparaissant en cas d\'erreur... // Définir sur 0 pour afficher un petit x de couleur rouge. // Définir sur 1 pour afficher l\'image d\'une croix rouge telle que celle utilisée dans l\'assistant // Si vous utilisez l\'option 1, l\'image de la croix rouge \'icone.gif\' doit se trouver dans le répertoire \'images\', // ce dernier devant se trouver au même niveau que votre formulaire... $flag_icone = 0; // On vérifie si $flag_icone est défini sur 0 ou 1... if ($flag_icone == 0) { $icone = "<b><font size=\"3\" face=\"Arial, Verdana, Helvetica, sans-serif\" color=\"#CC0000\">x</font></b>"; } else { $icone = "<img src=\"images/icone.gif\""; } // Définir l'indicateur d'erreur sur zéro... $flag_erreur = 0; // N'envoyer le formulaire que s'il n'y a pas d'erreurs... if ($flag_erreur == 0) { // Addresse de réception du formulaire $email_dest = "test2@gmail.com"; $sujet = "Demande de dessin"; $entetes ="MIME-Version: 1.0 \n"; $entetes .="From: Cécile<test@hotmail.com>\n"; $entetes .="Return-Path: Cécile<test@hotmail.com>\n"; $entetes .="Reply-To: Cécile<test@hotmail.com>\n"; $entetes .="Content-Type: text/html; charset=iso-8859-1 \n"; $partie_entete = "<html>\n<head>\n<title>Formulaire</title>\n<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>\n</head>\n<body bgcolor=#FFFFFF>\n"; //Partie HTML de l'e-mail... $partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Votre nom = " . $_SESSION['champ1'] . "</font><br>\n"; $partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Votre prénom = " . $_SESSION['champ2'] . "</font><br>\n"; $partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Votre téléphone = " . $_SESSION['champ3'] . "</font><br>\n"; $partie_zone_email .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Votre Email = " . $_SESSION['zone_email1'] . "</font><br>\n"; $partie_zone_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Votre demande = " . $_SESSION['zone_texte1'] . "</font><br>\n"; // Fin du message HTML $fin = "</body></html>\n\n"; $sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_listes . $partie_boutons . $partie_cases . $partie_zone_texte . $fin; // Send the e-mail if (@!mail($email_dest,$sujet,$sortie,$entetes)) { echo("Envoi du formulaire impossible"); exit(); } else { // Rediriger vers la page de remerciement header("Location:merci.html"); exit(); } // Fin else } // Fin du if ($flag_erreur == 0) { } // Fin de if POST ?>
Dans la partie Head
<script language="JavaScript"> function verifSelection() { if (document.mail_form.champ1.value == "") { alert("Veuillez saisir votre nom") return false } if (document.mail_form.champ2.value == "") { alert("Veuillez saisir votre prénom") return false } if (document.mail_form.zone_email1.value == "") { alert("Veuillez saisir votre Email") return false } invalidChars = " /:,;'" for (i=0; i < invalidChars.length; i++) { // does it contain any invalid characters? badChar = invalidChars.charAt(i) if (document.mail_form.zone_email1.value.indexOf(badChar,0) > -1) { alert("Votre adresse e-mail contient des caractères invalides. Veuillez vérifier.") document.mail_form.zone_email1.focus() return false } } atPos = document.mail_form.zone_email1.value.indexOf("@",1) // there must be one "@" symbol if (atPos == -1) { alert('Votre adresse e-mail ne contient pas le signe "@". Veuillez vérifier.') document.mail_form.zone_email1.focus() return false } if (document.mail_form.zone_email1.value.indexOf("@",atPos+1) != -1) { // and only one "@" symbol alert('Il ne doit y avoir qu\'un signe "@". Veuillez vérifier.') document.mail_form.zone_email1.focus() return false } periodPos = document.mail_form.zone_email1.value.indexOf(".",atPos) if (periodPos == -1) { // and at least one "." after the "@" alert('Vous avez oublié le point "." après le signe "@". Veuillez vérifier.') document.mail_form.zone_email1.focus() return false } if (periodPos+3 > document.mail_form.zone_email1.value.length) { // must be at least 2 characters after the alert('Il doit y avoir au moins deux caractères après le signe ".". Veuillez vérifier.') document.mail_form.zone_email1.focus() return false } if (document.mail_form.zone_texte1.value == "") { alert("Veuillez saisir votre demande") return false } } // Fin de la fonction </script>
Dans la partie Body
<form name="mail_form" method="post" action="<?=$_SERVER['PHP_SELF']?>" onSubmit="return verifSelection()"> <div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif, Tahoma"><strong>Formulaire de contact</strong></font></div><br><table align="center" width="566" border="0" cellspacing="0" cellpadding="0"> <tr> <td height="16"><div align="center"> <font color="#CC0000" size="2" face="Verdana, Arial, Helvetica, sans-serif, Tahoma"><strong><?php if ($erreur_champ1) { echo(stripslashes($erreur_champ1)); } else { if ($erreur_champ2) { echo(stripslashes($erreur_champ2)); } else { if ($erreur_champ3) { echo(stripslashes($erreur_champ3)); } else { if ($erreur_email1) { echo(stripslashes($erreur_email1)); } else { if ($erreur_texte1) { echo(stripslashes($erreur_texte1)); } else { } // Fin du else... } // Fin du else... } // Fin du else... } // Fin du else... } // Fin du else... ?> </strong></font> </div></td> </tr> </table> <p align="center"></p><table width="566" border="0" align="center"><tr> <td width="140"><div align="right"><font face="Verdana" size="2">Votre nom</font></div></td> <td align="center" valign="middle" width="30"> <?php if ($erreur_champ1) { echo($icone); } ?> </td> <td><input name="champ1" type="text" value="<?=stripslashes($_SESSION['champ1']);?>"></td> </tr></table><table width="566" border="0" align="center"><tr> <td width="140"><div align="right"><font face="Verdana" size="2">Votre prénom</font></div></td> <td align="center" valign="middle" width="30"> <?php if ($erreur_champ2) { echo($icone); } ?> </td> <td><input name="champ2" type="text" value="<?=stripslashes($_SESSION['champ2']);?>"></td> </tr></table><table width="566" border="0" align="center"><tr> <td width="140"><div align="right"><font face="Verdana" size="2">Votre téléphone</font></div></td> <td align="center" valign="middle" width="30"> <?php if ($erreur_champ3) { echo($icone); } ?> </td> <td><input name="champ3" type="text" value="<?=stripslashes($_SESSION['champ3']);?>"></td> </tr></table><table width="566" border="0" align="center"><tr> <td width="140"><div align="right"><font face="Verdana" size="2">Votre Email</font></div></td> <td width="30" align="center" valign="middle"> <?php if ($erreur_email1) { echo($icone); } ?> </td> <td><input name="zone_email1" type="text" value="<?=stripslashes($_SESSION['zone_email1']);?>"></td> </tr></table><table width="566" border="0" align="center"><tr> <td width="140" valign="top"><div align="right"><font face="Verdana" size="2">Votre demande</font></div></td> <td width="30" align="center" valign="top"> <?php if ($erreur_texte1) { echo($icone); } ?> </td> <td><textarea name="zone_texte1" cols="45" rows="10"><?=stripslashes($_SESSION['zone_texte1']);?></textarea></td> </tr></table><table width="566" border="0" align="center"><tr> <td valign="top"><div align="center"> <input type="reset" name="Reset" value=" Effacer "> <input type="submit" name="envoi" value="Envoyer"> </div></td></tr></table><div align="center"><input name="nbre_fichiers" type="hidden" id="nbre_fichiers" value=""></div></form>
A voir également:
- Probleme sur formulaire contact
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
- Bloquer un contact sur whatsapp - Guide
- Comment supprimer un contact sur facebook - Guide
9 réponses
je ne connais pas du tout sendmail
J'ai trouver un tuto, j'essai de l'installer et je mettrai l'error log (je suis totalement novice php)
et merci pour la reponse :)
J'ai trouver un tuto, j'essai de l'installer et je mettrai l'error log (je suis totalement novice php)
et merci pour la reponse :)
sendmail est sensé marcher avec ce code ? Ca à l'air d'un système complet.
Je pensais juste arriver à corriger ce code étant donné qu'il est déjà implanté.
J'ai juste le problème avec l'envoi du mail.
De plus c'est pour un petit site, je ne pense pas avoir besoin de quelque chose de très élaboré.
Je pensais juste arriver à corriger ce code étant donné qu'il est déjà implanté.
J'ai juste le problème avec l'envoi du mail.
De plus c'est pour un petit site, je ne pense pas avoir besoin de quelque chose de très élaboré.
la commande de ton script php que tu utilises: mail($email_dest,$sujet,$sortie,$entetes)
doit utiliser un programme d'envois de mail qui est normalement défini dans php.ini du genre sendmail = /usr/bin/sendmail
tu peux essayer d'autre logiciel de mail plus léger à installer sur ton serveur, mais tu en as besoin d'un ! sinon tu ne peux rien envoyer,
Ton serveur tourne sur Apache ? ou autre ? précise ?
doit utiliser un programme d'envois de mail qui est normalement défini dans php.ini du genre sendmail = /usr/bin/sendmail
tu peux essayer d'autre logiciel de mail plus léger à installer sur ton serveur, mais tu en as besoin d'un ! sinon tu ne peux rien envoyer,
Ton serveur tourne sur Apache ? ou autre ? précise ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Dsl je ne savais pas qu il en fallait un.
J'ai heberger mon site sur hostinger(formule gratuite)
voila les caracteristiques:
Hébergement Web Gratuit:
2000 Mo d'espace disque
100 Go (100.000 Mo) de bande passante
Héberger un nombre illimité de noms de domaine
Panneau de contrôle d'hébergement cPanel
Pas de publicités ou bannières
Constructeur de site Web facile à utiliser
Auto Installer (Joomla, Wordpress, etc.)
Services d'E-mail (IMAP/POP3/Webmail)
PHP et base de données MySQL supporté
Activation instantanée du compte
Fonctionnalités avancées:
Console Web SSH
Éditeur de zone DNS
Pages d'erreur personnalisées
Cron jobs supporté
Possibilité d'éditer les enregistrements MX
Générer des sauvegardes complètes
Gestionnaire d'IP nier
Dossiers protégés par mot de passe
Noms de domaines parqués
Importation de la base de données et du
Caractéristiques PHP:
PHP Versions 5.2, 5.3 et 5.4
Zend Optimizer
IonCube loaders
Curl et Curl SSL
Envoi de fichiers supporté
Fonction PHP mail() et Sendmail
Fonction PHP fopen() et Sockets
Extension mysqli
safe_mode = off, allow_url_fopen = on
SQLite, GD, Mcrypt, Pear supporté
Caractéristiques MySQL:
MySQL Version 5.1
Espace disque MySQL illimité!
2 bases de données MySQL
phpMyAdmin supporté
Disque SSD pour le stockage
Extension MysqLi activé
Moteur de stockage MyISAM
PDO et PDO MySQL supporté
SQLite supporté
Powered by cloud computing
Je vois qu'il y a une fonction sendmail.
Est il déja installé ou faut il que je l'installe aussi ?
Je suis désolé mais je suis très limité en php
J'ai heberger mon site sur hostinger(formule gratuite)
voila les caracteristiques:
Hébergement Web Gratuit:
2000 Mo d'espace disque
100 Go (100.000 Mo) de bande passante
Héberger un nombre illimité de noms de domaine
Panneau de contrôle d'hébergement cPanel
Pas de publicités ou bannières
Constructeur de site Web facile à utiliser
Auto Installer (Joomla, Wordpress, etc.)
Services d'E-mail (IMAP/POP3/Webmail)
PHP et base de données MySQL supporté
Activation instantanée du compte
Fonctionnalités avancées:
Console Web SSH
Éditeur de zone DNS
Pages d'erreur personnalisées
Cron jobs supporté
Possibilité d'éditer les enregistrements MX
Générer des sauvegardes complètes
Gestionnaire d'IP nier
Dossiers protégés par mot de passe
Noms de domaines parqués
Importation de la base de données et du
Caractéristiques PHP:
PHP Versions 5.2, 5.3 et 5.4
Zend Optimizer
IonCube loaders
Curl et Curl SSL
Envoi de fichiers supporté
Fonction PHP mail() et Sendmail
Fonction PHP fopen() et Sockets
Extension mysqli
safe_mode = off, allow_url_fopen = on
SQLite, GD, Mcrypt, Pear supporté
Caractéristiques MySQL:
MySQL Version 5.1
Espace disque MySQL illimité!
2 bases de données MySQL
phpMyAdmin supporté
Disque SSD pour le stockage
Extension MysqLi activé
Moteur de stockage MyISAM
PDO et PDO MySQL supporté
SQLite supporté
Powered by cloud computing
Je vois qu'il y a une fonction sendmail.
Est il déja installé ou faut il que je l'installe aussi ?
Je suis désolé mais je suis très limité en php
J'ai pu trouver un site qui explique comment envoyé un mail simplement
https://a-pellegrini.developpez.com/tutoriels/php/mail/#L3.5
J'ai essayé et cela marche.
Je pense que ce sera suffisant pour mes petites ambitions ^^.
Merci coco d'avoir pris la peine de m'aider
https://a-pellegrini.developpez.com/tutoriels/php/mail/#L3.5
J'ai essayé et cela marche.
Je pense que ce sera suffisant pour mes petites ambitions ^^.
Merci coco d'avoir pris la peine de m'aider
apparemment, ton hébergeur te permet d'envoyer des mails (peut-être une option à activer)
tu devrais essayer sur un script simple un truc de ce genre
testmail.php
tu devrais essayer sur un script simple un truc de ce genre
testmail.php
<?php ini_set('display_errors', 1); error_reporting(E_ALL); $to = " mon mail @ chez mon fournisseur"; $subject = "YO!"; $body = "Test,\n\n RECU !"; if (mail($to, $subject, $body)) { echo("<p>Message envoyé!</p>"); } else { echo("<p>pb !...voir erreur</p>"); } ?>