Envoie d'un mail en Php - Javascript avec une seule page Php [Résolu]

Signaler
Messages postés
3
Date d'inscription
mardi 25 avril 2006
Statut
Membre
Dernière intervention
12 mai 2006
-
Messages postés
3
Date d'inscription
mardi 25 avril 2006
Statut
Membre
Dernière intervention
12 mai 2006
-
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

Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
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...
Messages postés
137
Date d'inscription
lundi 10 janvier 2005
Statut
Membre
Dernière intervention
28 août 2007

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
Messages postés
137
Date d'inscription
lundi 10 janvier 2005
Statut
Membre
Dernière intervention
28 août 2007

Holala... comme on est synchro XD

Spyro666 contre le 555
Messages postés
3
Date d'inscription
mardi 25 avril 2006
Statut
Membre
Dernière intervention
12 mai 2006

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