Email avec ajax

Résolu
atchoumen Messages postés 117 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 17 avril 2008 - 23 mai 2007 à 21:19
atchoumen Messages postés 117 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 17 avril 2008 - 11 juin 2007 à 19:12
Bonjour,

J'avais déjà posté un message un peu similaire dont la réponse m'avait convaincu cependant le faite de ne pas trouver de solution à mon probleme suivant me perturbe et j'aurais donc besoin de vous.
Le probleme et que j'ai un formulaire de base que je voudrais envoyer en ajax dans lequel je compte faire des traitements php avant l'envoi. Voici mon code en espérant que quelqu'un pourra m'aider

function Contact(){
    $reponse = new xajaxResponse();
    $info = "
    votre message a bien été envoyé.
    ";
   
    //COMMENT FAIRE POUR RECUPERER LES DONNEES DU FORMULAIRE ??? pour les inserer dans $donnee
    $donnee = "données de mon formulaire";
    //la j'envoi mon email via la fonction email avec tout le toutime ca je sais faire mais j'avais la fleme de tous resaisir
    mail("moi@moi.fr", $donnee)
 
   
    $reponse->addAssign("contact", "innerHTML", $info);
    return $reponse->getXML();
}

<html>
<head></head>

   

            ----

            Nom :,
            ,
       
        ----

            Email :,
            ,
       
        ----

            Texte :,
            <textarea id="objet" rows="8" cols="" class="formulaire"></textarea>,
       
        ----

            &nbsp;,
            &nbsp;,
       
        ----

               &nbsp;,
                           

                    envoyer
               

           ,
       
   

</html>

Merci a ce qui pourront m'aider

11 réponses

dvdstory Messages postés 192 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 10 août 2009
11 juin 2007 à 18:30
server.php

<?php
// CHECK E-MAIL
function checkmail($email) {
if (eregi("((^[a-z])(([a-z0-9_]+)|(([a-z0-9_]+)[\.]([a-z0-9_]+)))[@]([a-z0-9]+)[\-]?([a-z0-9]+)[\.](([a-z]+)[\.]?([a-z]+)))",$email))
   {
   list($Username, $Domain) = split("@",$email);
/* uniquement sous LINUX
   if(getmxrr($Domain, $MXHost))
   {
      return TRUE;
   }
   else
   {
*/  
      if (fsockopen($Domain, "25", $errno, $errstr, "2"))
      {
         return TRUE;
      }
      else {
         return FALSE;
      }
// }
}
else {
return FALSE;
}
}

if ($_GET['email']) {
echo checkmail($_GET['email']);
}
?>

client.html

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>AJAX</title>

<script type="text/javascript">
function writediv(texte,ID)
{
document.getElementById(ID).innerHTML = texte;
}

function checkmail(email)
{
if (email != '')
{
if (texte = file('http://localhost/mysql/projet_netbreeding/ajax/server.php?email='+email))
{
if (texte == 1) {
writediv('Email valide','mail');
}
else {
writediv('Email non valide','mail');
}
}
}

}

function file(fichier)
{
if (window.XMLHttpRequest) // FIREFOX
xhr_object = new XMLHttpRequest();
else if (window.ActiveXObject) // IE
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else
return (false);
xhr_object.open("GET", fichier, false);
xhr_object.send(null);
if (xhr_object.readyState == 4) return (xhr_object.responseText);
else return (false);
}
</script>

</head>

<form name="mainform" action="">


</form>

</html>

GRUNENBERGER Benoît

[www.UnrealNetwork.net www.UnrealNetwork.net]
3
amezghal Messages postés 385 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 21 août 2015 5
23 mai 2007 à 21:57
salut:
Est-ce que tu veux récupérer toutes les valeurs des champs du formulaire ?
<hr size="2" width="100%" />Au début, on essaye de trouver une solution qui marche, et puis on cherche la meilleure solution.
0
atchoumen Messages postés 117 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 17 avril 2008
23 mai 2007 à 22:08
Salut,

Oui j'aimerais récuperer toutes les valeurs des champs pour y faire un traitement dessus avant de l'envoyer par email.
D'ailleurs c'est la dessus ou je bloque.
0
amezghal Messages postés 385 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 21 août 2015 5
23 mai 2007 à 22:17
salut
je te donne un exemple et tu l'adapte a vos besoin
<script type= "text/javascript">
function info(nom,desc){
alert(nom+""+desc);
}
</script>
<form method="post" onsubmit ="info(this.nom.value,this.desc.value);return false" >

<textarea name="desc">test test test</textarea>

</form>
---
vu que tu utilises un textarea alors tu doit utiliser cette méthode

<hr size="2" width="100%" />Au début, on essaye de trouver une solution qui marche, et puis on cherche la meilleure solution.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
atchoumen Messages postés 117 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 17 avril 2008
23 mai 2007 à 22:26
Slt,

Merci pour ta réponse mais c'est déjà la méthode que j'utilise justement parce que je ne trouve pas la solution en php.
Le truc c'est qu'avant de m'envoyer l'email, j'ai besoin de récuperer l'adresse email que la personne a saisie et apres récuperer le nom de domaine et d'utiliser la fonction php dyndnsrr(). Du coup avec le javascript je ne peu pas utiliser cette fonction.

Si tu as une solution je suis preneur, sinon tant pis je continurais a utiliser le js. Merci pour ton aide
0
amezghal Messages postés 385 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 21 août 2015 5
23 mai 2007 à 22:33
avec cette méthode tu récuperes les valeurs,et à l'aide d'ajax tu vérifies ça avec php(en restant dans la meme page), alors c'est quoi le probleme ...

<hr size="2" width="100%" />Au début, on essaye de trouver une solution qui marche, et puis on cherche la meilleure solution.
0
atchoumen Messages postés 117 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 17 avril 2008
23 mai 2007 à 22:37
si j'en suis ton exemple tu recuperes tout dans ton js du coup dedans tu ne peux pas y include du php ?
Vu que j'ai un petit peu de mal a visualisé ce que tu veux me dire si t'avais un bout de code ca m'aiderait pas mal je pense
0
amezghal Messages postés 385 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 21 août 2015 5
23 mai 2007 à 22:46
salut:
dans ton code la fonction Contact() doit avoir comme arguments ,tous les variables d'ou vous en avez besoin pour que tu les traites apres via php;
-alors n'oublier pas que le formulaire doit etre entre la balise <form></form>
-un submit(et non pas un lien avec une fonction js)+le onsubmit()
-l'ajax doit avoir comme argument la page php cible(celle qui traite les valeurs)

si rien ne marche je peux te donner un exemple complet(mais apres..)
bonne chance
 

<hr size="2" width="100%" />Au début, on essaye de trouver une solution qui marche, et puis on cherche la meilleure solution.
0
atchoumen Messages postés 117 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 17 avril 2008
23 mai 2007 à 23:05
Alors voila mon essai mais je vois pas plus comment faire car ca marche po :-(

<?
function Contact() {
    $reponse = new xajaxResponse();
    $info = "";

//je traite la chaine Mais je les ai pas encore récupere pfffff
    $nom = htmlentities($nom);
    $email = htmlentities($email);
    $objet = htmlentities($objet);
   
    $destinataire = "moi@moi.fr";  
   
    $entetes = "From:www.monsite.fr\n";
    $entetes .= "MIME-version: 1.0\n";
    $entetes .= "Content-type: text/html; charset= iso-8859-1\n";
    $titre = "Contact" ;

    $message = "nom: $nom
";
    $message = $message ."email : $email
";
    $message = $message ."Objet : $objet ";
   
    $info = mail($destinataire,$titre,$message, $entetes);
   
    $info = $info . "Message envoyé $test";

    $reponse->addAssign("contact", "innerHTML", $info);
    return $reponse->getXML();

}

require("xajax.inc.php");
$xajax = new xajax();
$xajax->registerFunction('Contact');
$xajax->processRequests();
?>
<html>
<head>
</head>

<form id="lecontact">
    ----

        Nom :,
        ,
   
    ----

        Email :,
        ,
   
    ----

        Texte :,
        <textarea id="objet" rows="8" cols="" class="formulaire"></textarea>,
   
    ----

        &nbsp;,
        &nbsp;,
   
    ----

        &nbsp;,
                   

               

                envoyer
           

       ,
   

</form>

</html>
0
amezghal Messages postés 385 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 21 août 2015 5
24 mai 2007 à 11:01
salut:

c'est pas un pub mais tu doit voir cette source
formulaire ajax

c'est une formulaire simple, d'ou la vérification passe par ajax.
une seule chose,j'utilise pas la beblio xajax..

<hr size="2" width="100%" />Au début, on essaye de trouver une solution qui marche, et puis on cherche la meilleure solution.
0
atchoumen Messages postés 117 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 17 avril 2008
11 juin 2007 à 19:12
Merci pour ta réponse.
0
Rejoignez-nous