Formulaire de Contact problème a l'envoie

Fermé
CharlesOnAir Messages postés 47 Date d'inscription samedi 24 janvier 2015 Statut Membre Dernière intervention 12 novembre 2017 - 23 mai 2015 à 09:31
 Utilisateur anonyme - 23 mai 2015 à 23:14
Bonjour,
j'ai crée un formulaire d'envoi pour mon site internet mais quand je veux envoyer mon mail un message d'erreur s'affiche donc il me situe la ligne ou il y a le problème et sur cette ligne il y a ceci : // Envoi du mail
if (mail($cible, $objet, $message, $headers))
Je ne comprends pas cette erreur
Cordialement Charles



2 réponses

ReDLoG Messages postés 243 Date d'inscription mardi 12 mars 2013 Statut Membre Dernière intervention 28 octobre 2021 57
23 mai 2015 à 09:45
Bonjour,
Quel est l'erreur affichée par le script?
Donnes le script ou la portion du script où tu déclares les variables $cible, $objet, $message et $headers. Penses à utiliser la balise code PHP au-dessus du message pour la coloration syntaxique :-)
Cordialement.
0
CharlesOnAir Messages postés 47 Date d'inscription samedi 24 janvier 2015 Statut Membre Dernière intervention 12 novembre 2017
23 mai 2015 à 10:11
Voici le code
*

  • Cette fonction sert à vérifier la syntaxe d'un email */function IsEmail($email){ $value = preg_match('/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!\.)){0,61}[a-zA-Z0-9_-]?\.)+[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!$)){0,61}[a-zA-Z0-9_]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/', $email); return (($value === 0) || ($value === false)) ? false : true;}// formulaire envoyé, on récupère tous les champs.$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';$antispam_h = (isset($_POST['antispam_h'])) ? Rec($_POST['antispam_h']) : '';$antispam_r = (isset($_POST['antispam_r'])) ? Rec($_POST['antispam_r']) : '';// On va vérifier les variables et l'email ...$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré$err_formulaire = false; // sert pour remplir le formulaire en cas d'erreur si besoinif (isset($_POST['envoi'])){ // On demande la vraie réponse $verif_nospam = NoSpamQuestion('ans', $antispam_r); if (strtolower($antispam_h) != strtolower($verif_nospam['answer'])) { // le formulaire s'arrête ici echo '<p>Vous n\'avez pas repondu correctement a la question Antispam ...</p>'; } else { if (($nom != '') && ($email != '') && ($objet != '') && ($message != '')) { // les 4 variables sont remplies, on génère puis envoie le mail $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'From:'.$nom.' <'.$email.'>' . "\r\n" . 'Reply-To:'.$email. "\r\n" . 'Content-Type: text/plain; charset="utf-8"; DelSp="Yes"; format=flowed '."\r\n" . 'Content-Disposition: inline'. "\r\n" . 'Content-Transfer-Encoding: 7bit'." \r\n" . 'X-Mailer:PHP/'.phpversion(); // envoyer une copie au visiteur ? if ($copie == 'oui') { $cible = $destinataire.','.$email; } else { $cible = $destinataire; }; // Remplacement de certains caractères spéciaux $message = str_replace("'","'",$message); $message = str_replace("’","'",$message); $message = str_replace(""",'"',$message); $message = str_replace('<br>','',$message); $message = str_replace('<br />','',$message); $message = str_replace("<","<",$message); $message = str_replace(">",">",$message); $message = str_replace("&","&",$message); // Envoi du mail if (mail($cible, $objet, $message, $headers)) { echo '<p>'.$message_envoye.'</p>'; } else { echo '<p>'.$message_non_envoye.'</p>'; }; } else { // une des 3 variables (ou plus) est vide ... echo '<p>'.$message_formulaire_invalide.'</p>'; $err_formulaire = true; }; };}; // fin du if (!isset($_POST['envoi']))if (($err_formulaire) || (!isset($_POST['envoi']))){
0
CharlesOnAir Messages postés 47 Date d'inscription samedi 24 janvier 2015 Statut Membre Dernière intervention 12 novembre 2017
23 mai 2015 à 10:09
Bonjour, RedLog voici l'erreur : ( ! ) Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\Radio G\contact.php on line 175
Call Stack
# Time Memory Function Location
1 0.0005 282264 {main}( ) ..\contact.php:0
2 0.0015 303816 mail ( ) ..\contact.php:175
L'envoi du mail a ?chou?, veuillez r?essayer SVP.
0
ReDLoG Messages postés 243 Date d'inscription mardi 12 mars 2013 Statut Membre Dernière intervention 28 octobre 2021 57
23 mai 2015 à 10:19
Il y a un fichier nommé php.ini dans le dossier wamp > bin > php > php5.4.12 (le chemin peut être différent chez toi en fonction de ta version de Wamp) et dans ce fichier il faut indiquer le smtp de ton fournisseur d'accès et son port (si différent du 25).
[mail function]
; For Win32 only.
; https://www.php.net/manual/en/mail.configuration.php#ini.smtp
SMTP = localhost
; https://www.php.net/manual/en/mail.configuration.php#ini.smtp-port
smtp_port = 25

Cordialement.
0
CharlesOnAir Messages postés 47 Date d'inscription samedi 24 janvier 2015 Statut Membre Dernière intervention 12 novembre 2017 > ReDLoG Messages postés 243 Date d'inscription mardi 12 mars 2013 Statut Membre Dernière intervention 28 octobre 2021
23 mai 2015 à 10:23
Chez moi j'ai 3 dossier (php.ini.install, php.ini-development, php.ini-production je prend le quel ?
0
CharlesOnAir Messages postés 47 Date d'inscription samedi 24 janvier 2015 Statut Membre Dernière intervention 12 novembre 2017
23 mai 2015 à 10:30
A c'est bon j'ai trouve c'étais le php.ini.install mais le problème reste le même
0
ReDLoG Messages postés 243 Date d'inscription mardi 12 mars 2013 Statut Membre Dernière intervention 28 octobre 2021 57
23 mai 2015 à 10:33
Bizarre car dans ma config il y a bien php.ini, php.ini-development et php.ini-production. Tentes sur celui d'install et tu redémarres Wamp, ensuite tu testes ton envoi de mail, on ne sait jamais...
Cordialement.
0
CharlesOnAir Messages postés 47 Date d'inscription samedi 24 janvier 2015 Statut Membre Dernière intervention 12 novembre 2017
23 mai 2015 à 10:40
J'ai ressayer mais toujours rien mon adresse pour me connecter c'est localhost:81 donc mon port est 81 et sinon ne pense tu pas que c'est parce qu'il faut le mettre sur un hébergeur ?
0