Aide : lce code php ne marche pas

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Aide : lce code php ne marche pas

Re: Aide : lce code php ne marche pas

par @rthur » 31 août 2015, 21:10

voici les standarts pour envoyer emails (en anglais)
https://tools.ietf.org/html/rfc4021
Bonjour soleil12345,

Pourquoi envoyer un e-mail texte en HTML ???

Et je ne suis pas sûr que de renvoyer sur la RFC soit vraiment la chose la plus pertinente pour comprendre pourquoi l'usage de la fonction d'envoi de mail de PHP ne fonctionne pas...

Bonsoir j'ai fait un formulaire afin de recevoir les messages des visiteur de mon site mais le code ne marche, quand je teste je ne reçoit rien . Est ce que le code est correct?
As tu un message d'erreur ?
Tu as testé son code chez un hébergeur ou en local sur ton PC ?
Si c'est en local, c'est normal que ça ne fonctionne pas car tu n'as probablement pas de serveur e-mail configuré sur ton ordi.

Re: Aide : lce code php ne marche pas

par soleil12345 » 31 août 2015, 19:24

voici les standarts pour envoyer emails (en anglais)
https://tools.ietf.org/html/rfc4021

Re: Aide : lce code php ne marche pas

par ferre » 31 août 2015, 19:05

slt merci pour ton aide, peux tu m'expliquer ton code, je ne comprends pas

Re: Aide : lce code php ne marche pas

par soleil12345 » 31 août 2015, 18:13

voila
<?php 

      $succes= null;
    $echec= null;

    if(isset($_POST['envoyer'])){
  
   $titre = htmlentities($_POST['titre']);
   $msg = htmlentities($_POST['msg']);

  
   
   $erreur = array();
   
   if(empty($titre)){
    $erreur['titre'] = 'Veuillez saisir un titre';	 
  }
  
  if(empty($msg)){
    
    $erreur['msg'] = 'Veuillez saisir un  message';	 
  }
  
    // envoi de mail
    $to = "[email protected]";
	$from="ici nom prenom ou ton email"
    $subj='Nouveau message';
    $message = 'Titre: '.$_POST['titre'].' \r\n';
    $message .= 'Message: '.$_POST['msg'].' \r\n';
   
       
      
        if (mail_to($to, $from, $subj, $message))
        {
            $succes = " Message envoyé";
      
        }
        else
        {
            $echec = " Echec lors de l'envoi du message.";
        }

}

function mail_to($to, $from, $subj, $message, $files=null){
$boundary = md5(uniqid(time()));
$headers[] ="MIME-Version: 1.0";
$headers[] ="Content-Type: multipart/mixed;boundary=\"$boundary\"; type=\"text/html;\"";
$headers[] ="From: ".$from;
$headers[] ="Reply-To: ".$from;
$headers[] ="Return-Path: ".$from;
$headers[] ="X-Mailer: PHP/" . phpversion();
$multipart[]= "--".$boundary;
$multipart[]= "Content-Type: text/html; charset=UTF-8";
$multipart[]= "Content-Transfer-Encoding: Quot-Printed";
$multipart[]= ""; 
$multipart[]= $message;
$multipart[]= "";
$multipart[]= "--$boundary--";
$multipart[]= "";
$headers=implode("\r\n", $headers);
$multipart=implode("\r\n", $multipart);
return mail($to, $subj, $multipart, $headers);
}
?>

Aide : lce code php ne marche pas

par ferre » 31 août 2015, 16:45

Bonsoir j'ai fait un formulaire afin de recevoir les messages des visiteur de mon site mais le code ne marche, quand je teste je ne reçoit rien . Est ce que le code est correct?
<?php 

      $succes= null;
	  $echec= null;

    if(isset($_POST['envoyer'])){
	
	 $titre = htmlentities($_POST['titre']);
	 $msg = htmlentities($_POST['msg']);

	
	 
	 $erreur = array();
	 
	 if(empty($titre)){
		$erreur['titre'] = 'Veuillez saisir un titre';	 
	}
	
	if(empty($msg)){
		
		$erreur['msg'] = 'Veuillez saisir un  message';	 
	}
	
		// envoi de mail
		$destinataire = "[email protected]";
		$sujet='Nouveau message';
		$message = 'Titre: '.$_POST['titre'].' \r\n';
		$message .= 'Message: '.$_POST['msg'].' \r\n';
		$headers = 'Content-type: text/html; charset=utf-8';
       
      
        if (mail($destinataire,$sujet,$message, $headers))
        {
            $succes = " Message envoyé";
			
        }
        else
        {
            $echec = " Echec lors de l'envoi du message.";
        }

}
?>