Envoie d'un mail en Php - Javascript avec une seule page Php

Résolu
elfigone81 Messages postés 3 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 12 mai 2006 - 11 mai 2006 à 17:55
elfigone81 Messages postés 3 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 12 mai 2006 - 12 mai 2006 à 10:33
Bonjour,
Je voulais demander de l'aide pour le script suivant. En faite je voudrai envoyer un mail avec une seule page php contenant également un petit formulaire avec des champs de texte "nom" et "email". Mon souci est en faite d'envoyer le mail une fois que l'utilisateur clicke sur le bouton Souscription, et en affichant si possible un petit message de confirmation de l'envoie du mail, tout en restant sur la meme page. J'ai pensé donc à une solution avec Javascript, mais rien ne marche.
Mercii d'avance de vos réponses.


<html>
<head>

<script language= "javascript">
    function envoie(){
        <? 
        $nom=$_GET["contact_nom"]; 
        $email=$_GET["contact_email"];
         ?>
         var nom,email;
         nom="";
         email="";
         nom=<? $nom ?>;
         email=<? $email ?>;
        if (nom=="" || email=="")
            alert("Remplissez bien tous les champs");
        else 
            <?
                  $mail = 'elfigone@hotmail.com';
                  //d&#233;finis la pr&#233;sentation du mail
                  $presentation = 'Ce message &#224; &#233;t&#233; envoy&#233; par '.$nom.'
 Son mail : '.$email; 
                  $lemail = $presentation.'
 Son message :  
 Bonjour 
';
                  $sujet  = "bonjour: ".$nom; // sujet du mail
                  $entete ="De: ".$email."\r\n"; //l'email de l'exp&#233;diteur
                  $entete .="MIME-Version: 1.0\r\n";
                  $entete .="Content-Type: text/html; charset=us-ascii\r\n"; //(le mail est envoy&#233; au format html)
                  mail($mail, $sujet, $lemail, $entete); // envoie du mail
                
                $message="Votre message a bien &#233;t&#233; envoy&#233;"; // message de confirmation d'envoi
             ?>    
    }
</script>
</head>

<form  method="POST">
  <label>
  
  </label>
    <label> 

    

    
    </label>
  
    

  

</form>

<? echo $message; ?>

</html>

4 réponses

sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
11 mai 2006 à 19:19
confusion entre php et js...



<?php

if(isset(
$_POST["contact_nom"]) &&
isset(
$_POST["contact_email"]))

{


$nom= $_POST["contact_nom"];


$email=$_POST["contact_email"];

$mail = 'elfigone@hotmail.com';

$presentation = 'Ce message à été envoyé par '.$nom.'
Son mail : '.$email;

$lemail = $presentation.'
Son message :
Bonjour
';

$sujet = "bonjour: ".$nom; // sujet du mail

$entete ="De: ".$email."\r\n"; //l'email de l'expéditeur

$entete .="MIME-Version: 1.0\r\n";

$entete .="Content-Type: text/html; charset=us-ascii\r\n";



if(mail($mail, $sujet, $lemail, $entete))

echo "Votre message a bien été envoyé";

else

e
cho "Echec d'envoi du mail";


}



else



{

?>

<html>

<head>

<script language="javascript">

function controle()

{

if(document.F1.contact_nom.value=="")

{alert("Nom obligatoire");return false;}

else


if(document.F1.contact_email.value=="")

{alert("E-mail obligatoire");return false;}

else

document.F1.submit();


}

</script>

</head>



<form name="F1" method="POST" action="">

<label>



</label>

<label>







</label>









</form>



</html>

<?php

}

?>



A TESTER...
3
cs_spyro666 Messages postés 137 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 28 août 2007
11 mai 2006 à 19:24
Salut,
j'ai l'impression que tu ne t'y connais pas beaucoup en php parce que sinon tu saurais premièrement que les short-tags(<?) sont mal vus et que ton javascript ne sert à rien vu qu'il ne pourrait envoyer le code seulement quand la page est rechargée.

Je te propose ceci comme solution :
<?php

if(!empty($_POST['contact_nom']) && !empty($_POST['contact_mail'])) {

$mail = 'elfigone@hotmail.com';
//définis la présentation du mail
$presentation = 'Ce message à été envoyé par '.$nom.'
Son mail : '.$email;
$lemail = $presentation.'
Son message :
Bonjour
';
$sujet = "bonjour: ".$nom; // sujet du mail
$entete ="De: ".$email."\r\n"; //l'email de l'expéditeur
$entete .="MIME-Version: 1.0\r\n";
$entete .="Content-Type: text/html; charset=us-ascii\r\n"; //(le mail est envoyé au format html)
mail($mail, $sujet, $lemail, $entete); // envoie du mail

echo "Votre message a bien été envoyé"; // message de confirmation d'envoi

}

?>
<html>
<head>
</head>

<form method="POST">
<label>

</label>
<label>




</label>





</form>

<?php echo $message; ?>

</html>

Spyro666 contre le 555
0
cs_spyro666 Messages postés 137 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 28 août 2007
11 mai 2006 à 19:24
Holala... comme on est synchro XD

Spyro666 contre le 555
0
elfigone81 Messages postés 3 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 12 mai 2006
12 mai 2006 à 10:33
C'est vrai que je suis un peu débutant (un peu trop peut-être) en Php et en Javascript , pour le moment , mais on est bien là pour apprendre .
Merci à tous pour vos réponses rapides.
Sidf ton code marche superbien j'opterai donc pour celui là.
Merchi encore et à pluch pluch
0
Rejoignez-nous