Partage
  • Partager sur Facebook
  • Partager sur Twitter

envoi d'email sans rechargement de la page

    28 août 2010 à 0:22:27

    Bonsoir;
    bennn, après une longue recherche, j'ai opté à la lecture de tuto de ajax, et j'ai débuté par cet exple mais ça marche pas
    bon:
    sans unepage j'ai un formualire d'envoi d'e_mail, et le traitement sans rechargement grace à ajax
    voilà:
    code html:
    <form method="post" onsubmit="x(this.votre_nom.value,this.mail_visiteur.value,this.text_mail.value);return false" action="">
    <fieldset>
    <legend>Envoyer un e_mail :</legend>
    <table class="tab_ag" width="281" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr>
        <td colspan="2" align="left"><label for="votre_nom"> Votre nom <span>(obligatoire)</span> </label></td>
        </tr>
      <tr>
        <td colspan="2" align="left"><input type="text" name="votre_nom" id="votre_nom" /></td>
        </tr>
      <tr>
        <td colspan="2" align="left"><label for="mail_visiteur">Votre E_mail <span>(obligatoire)</span></label></td>
        </tr>
      <tr>
        <td colspan="2" align="left"><input type="text" name="mail_visiteur" id="mail_visiteur"/></td>
        </tr>
      <tr>
        <td colspan="2" align="left"><label for="text_mail">Texte de l'email <span>(obligatoire)</span></label></td>
        </tr>
      <tr>
        <td width="138" align="left"><textarea name="text_mail" rows="2"></textarea></td>
        <td width="156" align="left"><input name="submit" type="submit" class="envoi" value="Envoyer"/></td>
      </tr>
    </table>
    </fieldset>
    
    </form>
    

    dans le header de cette page
    <script type="text/javascript">
    			function x(votre_nom, mail_visiteur, text_mail)
    {
      var OAjax;
      if (window.XMLHttpRequest) OAjax = new XMLHttpRequest();
      else if (window.ActiveXObject) OAjax = new ActiveXObject('Microsoft.XMLHTTP'); 
      OAjax.open('POST',"envoie_mail.php",true);
      OAjax.onreadystatechange = function()
      {
          if (OAjax.readyState == 4 && OAjax.status==200)
          {
              if (document.getElementById) 
              {    
                  if (OAjax.responseText =='true') { /* OK */
                        document.getElementById('rep_en_mesg').innerHTML='<font color=GREEN>'+OAjax.responseText+'</font>';
                  }else{                             /* PAS OK */
                        document.getElementById('rep_en_mesg').innerHTML='<font color=RED>'+OAjax.responseText+'</font>';
                  }
              }     
          }
      }
      OAjax.setRequestHeader('Content-type','application/x-www-form-urlencoded');
      OAjax.send('votre_nom='+votre_nom+'&mail_visiteur='+mail_visiteur'&text_mail='text_mail);                  
    } 
    	
    </script>
    

    envoie_mail.php:
    ?php
    session_start(); // On démarre la session AVANT toute chose
    ?>
    
    <?php
    	$mail_destinataire=$_SESSION['mail'];
    	
     //traitement des données envpyé par le formulaire
    if (($_POST['mail_visiteur']) and ($_POST['text_mail']))
    {
    
    	$mail_visiteur= htmlspecialchars($_POST['mail_visiteur']);
    	$text_mail= htmlspecialchars($_POST['text_mail']);
    	if (!empty($mail_visiteur) and !empty($text_mail))
    	{
    		//vérifier si l'e_mail est valide
    		if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $mail_visiteur))
    		{
    		//là on envoi un message à l'aide de mail()
         
    		$objet="envoi de mesage d'après php0";
    		$header='From:'.$mail_visiteur."\n";
    		$header.='Reply-To:'.$mail_destinataire;
    		$header.='Content-Type:text/plain; charset="iso-8891-1"'."\n";
    		$header.='Content-Transfer-Encoding: 8bits';
    		if(mail($mail_destinataire,$objet,$text_mail,$header))
    		{
    		?>
    				
    			<div id="message_echo_information"><img src="templates/ok.png" alt="" /><span>Confirmation</span>
    			
    			</div>
    			
    					<?php
    		}
    		else
    		{
    		?>
    						
    			<div id="message_echo_atention"><img src="templates/error.png" alt="" /><span>Erreur</span>
    			
    			</div>
    			<?php
    		}
    				
    		}
    		else
    		{
    			?>
    			<div id="message_echo_atention"><img src="templates/error.png" alt="" /><span>Erreur</span>
    			
    			</div>
    			<?php
    		}
    	}
    	else
    	{
    	?>
    	<div id="message_echo_atention"><img src="templates/error.png" alt="" /><span>Erreur</span>
    	
    	</div>
    	<?php
    	}
    }
    

    mais ; :( ça maerche pas, aidez moi s'il vous plait
    mes remerciements.
    • Partager sur Facebook
    • Partager sur Twitter

    envoi d'email sans rechargement de la page

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown