Problème lors de l'envois des messages en php

Fermé
glodybiss Messages postés 440 Date d'inscription vendredi 6 juin 2008 Statut Membre Dernière intervention 29 juillet 2015 - 2 nov. 2011 à 09:01
glodybiss Messages postés 440 Date d'inscription vendredi 6 juin 2008 Statut Membre Dernière intervention 29 juillet 2015 - 7 nov. 2011 à 10:21
Bonjour,

J'ai télécharger une source d'un formulaire d'envoi de message je l'ai personnalisé à ma façon dans mon site, il fonctionne parfaitement mais il lors de l'envoi des messages en ligne les messages ne sont pas envoyés. Veillez s'il vous plait m'aider

Merci !

voici mes code :

Formulaire :

<div class="titre">Nous Contacter</div>
<img src="images/s_onligne.png"  title="Support en ligne" class="right" alt="Support en ligne" />
<TABLE BORDER="0" style="margin-top:3px; margin-left:40px" align="left">

<?php  
    if( $mailSent === true ) // si le message a bien été envoyé, on affiche le récapitulatif  
    {  
?>  
        <p id="success">Merci ! votre message à bien été envoyé</p>  
        <p><strong>Courriel pour la réponse :</strong><br /><?php echo($from); ?></p>  
        <p><strong>Objet :</strong><br /><?php echo( $object ); ?></p>  
        <p><strong>Message :</strong><br /><?php echo( nl2br( htmlspecialchars($message) ) ); ?></p>  
<?php  
    }  
    else // le formulaire est affiché pour la première fois ou le formulaire a été soumis mais contenait des erreurs  
    {  
        if( count( $errors ) !== 0 )  
        {  
            echo( "\t\t<ul class=\"formlr\">" );  
            foreach( $errors as $error )  
            {  
                echo( "\t\t\t<li>$error</li>\n" );  
            }  
            echo( "\t\t</ul>\n" );  
        }  
    ?>
  <form id='contact' method="post" action="<?php echo( $_SERVER['REQUEST_URI'] ); ?>">
  
   <TR>
<td class="td"> <label for="name">Nom</label></td>
 <TD><input type="text"  name="name" id="name" value="<?php if (isset($_POST['name']))  echo htmlentities(trim($_POST['name'])); ?>"  />  </TD>
   </TR>
   
  
            <TR>
<td class="td"> <label for="from">Votre e-mail</label></td>
 <TD><input type="text"  name="from" id="from" value="<?php if (isset($_POST['from']))  echo htmlentities(trim($_POST['from'])); ?>"  class="input"/>  </TD>
   </TR>
      
              
    <TR>
<td  class="td"> <label for="object">Objet du message</label> </td>
 <TD><select name="object" id="object"  class="input" value="<?php echo( $object ); ?>">
   <option>Choisissez dans la liste</option>
  <option>J'aimerai utilisé les solutions Cybernet</option>
  <option>J'ai besoin d'une aide </option>
  <option>Je veux plus d'informations </option>
   <option>J'ai besoin d'une facture en ligne </option>
  <option>Je voudrais investir dans Cybernet</option>
  <option>Autres</option>
  </select></TD>
  </TR>
   </TR>  
   
   <TR>
<td class="td"> <label for="ville">Province</label> </td>
  <TD>
  <select id="p" name="province"  class="input"><option value="" id="begin">Choisissez votre province</option>
  </select>
  </TD></TR></TR>
         <TR>
         
    <TR>
<td class="td"> <label for="ville">Ville</label> </td>
  <TD>
  <select name="ville" id="t"  class="input">
  <option value="" id="begint">Choisissez votre ville</option>
  </select> </TD></TR></TR>
         <TR>
         
<td class="td"> <label for="message">Message</label>  </td>
             <TD>   <textarea name="message" id="message"  class="td" rows="9" cols="35"  value="<?php if (isset($_POST['message']))  echo htmlentities(trim($_POST['message'])); ?>" ></textarea></TD>
   </TR>  
                 <TR> <TH></TH> <TD> <input type="submit" name="send"  class="input_submit" value="Envoyer" />  </TD></TR>
        
  </form>  
<?php  
    }  
?>  

</TABLE>



Fichier de vérification :
<?php  
include('config2.php');
    define( 'MAIL_TO', /* >>>>> */'info@cybernet.cd'/* <<<<< */ );  //Couriel de Cybernet  
     define( 'VISIT_NAME', '' ); // valeur par défaut 
	 define( 'MAIL_FROM', '' ); // valeur par défaut 
    define( 'MAIL_OBJECT', '' ); // valeur par défaut
	 define( 'MAIL_MESSAGE', '' ); // valeur par défaut  
    define( 'PROVINCE_ABN', '' ); // valeur par défaut 
	define( 'VILLE_VISIT', '' ); // valeur par défaut 

    $mailSent = false; // drapeau qui aiguille l'affichage du formulaire OU du récapitulatif  
    $errors = array(); // tableau des erreurs de saisie  
      
  if( filter_has_var( INPUT_POST, 'send' ) ) // le formulaire a été soumis avec le bouton [Envoyer]  
    {  
        $from = filter_input( INPUT_POST, 'from', FILTER_VALIDATE_EMAIL );  
        if( $from === NULL || $from === MAIL_FROM ) // si le courriel fourni est vide OU égale à la valeur par défaut  
        {  
            $errors[] = 'Vous devez renseigner votre adresse de courrier électronique.';  
        }  
        elseif( $from === false ) // si le courriel fourni n'est pas valide  
        {  
            $errors[] = 'Votre adresse email est incorrecte';  
            $from = filter_input( INPUT_POST, 'from', FILTER_SANITIZE_EMAIL );  
        }  

		
		 $name= filter_input( INPUT_POST, 'name', FILTER_SANITIZE_STRING, FILTER_FLAG_ENCODE_HIGH | FILTER_FLAG_ENCODE_LOW );  
        if( $name === NULL OR $name === false OR empty( $name ) OR $name === VISIT_NAME ) // si l'objet fourni est vide, invalide ou égale à la valeur par défaut  
        {  
            $errors[] = 'Vous devez entrer votre Nom';  
        } 
		
			
        $object = filter_input( INPUT_POST, 'object', FILTER_SANITIZE_STRING, FILTER_FLAG_ENCODE_HIGH | FILTER_FLAG_ENCODE_LOW );  
        if( $object === NULL OR $object === false OR empty( $object ) OR $object === MAIL_OBJECT ) // si l'objet fourni est vide, invalide ou égale à la valeur par défaut  
        {  
            $errors[] = 'Vous devez renseigner l\'objet.';  
        }  


		$province = filter_input( INPUT_POST, 'province', FILTER_SANITIZE_STRING, FILTER_FLAG_ENCODE_HIGH | FILTER_FLAG_ENCODE_LOW );  
        if( $province  === NULL OR $province === false OR empty( $province ) OR $province === PROVINCE_ABN) // si l'objet fourni est vide, invalide ou égale à la valeur par défaut  
        {  
            $errors[] = 'Vous devez mentioné la ville où vous êtes';  
        }
		
		$ville = filter_input( INPUT_POST, 'ville', FILTER_SANITIZE_STRING, FILTER_FLAG_ENCODE_HIGH | FILTER_FLAG_ENCODE_LOW );  
        if( $ville  === NULL OR $ville === false OR empty( $ville ) OR $ville === VILLE_VISIT ) // si l'objet fourni est vide, invalide ou égale à la valeur par défaut  
        {  
            $errors[] = 'Vous devez mentioné la pronvince où vous êtes';  
        }
			
/*VERIFICATION CHAMP MESSAGE*/  
        $message = filter_input( INPUT_POST, 'message', FILTER_UNSAFE_RAW );  
        if( $message === NULL OR $message === false OR empty( $message ) OR $message === MAIL_MESSAGE ) // si le message fourni est vide ou égale à la valeur par défaut  
        {  
            $errors[] = 'Vous avez laisser le champs message vide';  
        }  
		
	        if( count( $errors ) === 0 ) // si il n'y a pas d'erreurs  
        {  
            if( mail( MAIL_TO, $name, $object, $message, "From: $from\nReply-to: $from\n" ) ) // tentative d'envoi du message  
            {  				
                $mailSent = true;  
            }  
			
  else// échec de l'envoi  
            {  
                $errors[] = 'Votre message n\'a pas été envoyé.';  
            }  
        }  
    } 

	
    else // le formulaire est affiché pour la première fois, avec les valeurs par défaut  
    {  
        $from = MAIL_FROM;  
  		$object = MAIL_OBJECT; 
		$name = VISIT_NAME; 
        $message = MAIL_MESSAGE;
		$province = PROVINCE_ABN;
		$ville=VILLE_VISIT;
    }  
?>  




A voir également:

1 réponse

Zhp Messages postés 198 Date d'inscription mercredi 27 avril 2011 Statut Membre Dernière intervention 5 mars 2013 37
2 nov. 2011 à 14:04
Bonjour,

Je suis peut-être bette mais j'ai pas trouver dans le code la partie qui sauvgarde les données du message ...

Sinon l'adresse de "action'" du from est bien la bonne ?
0
glodybiss Messages postés 440 Date d'inscription vendredi 6 juin 2008 Statut Membre Dernière intervention 29 juillet 2015 9
3 nov. 2011 à 08:26
Oui! l'adresse de l'action est bien la bonne sauf que lors de l'envoi de message ça marche que le message n'a pas été envoyé
0
Zhp Messages postés 198 Date d'inscription mercredi 27 avril 2011 Statut Membre Dernière intervention 5 mars 2013 37
Modifié par Zhp le 3/11/2011 à 13:16
C'est que la fonction "mail" à un problème. Tu a fait des tests avec juste un envoie de mail sans tout le reste ?

Test deja mail avec du texte direct : mail('info@cybernet.cd','sujet du mail','voici le message');
Utilise var_dump() pour voir vraiment ce que tu passe en paramètre a la fonction.

Tien ça pourra t'aider : https://www.php.net/manual/fr/function.mail.php
0
glodybiss Messages postés 440 Date d'inscription vendredi 6 juin 2008 Statut Membre Dernière intervention 29 juillet 2015 9
7 nov. 2011 à 10:21
Merci ! Zhp, je vérifie tout de suite et je te dis quoi, sorry pour le retard j'ai eu un problème de connexion ce qui a fait que je puisse répondre maintenant
0