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

elfigone81 3 Messages postés mardi 25 avril 2006Date d'inscription 12 mai 2006 Dernière intervention - 11 mai 2006 à 17:55 - Dernière réponse : elfigone81 3 Messages postés mardi 25 avril 2006Date d'inscription 12 mai 2006 Dernière intervention
- 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>

Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
sidf 1218 Messages postés mardi 20 décembre 2005Date d'inscription 18 octobre 2012 Dernière intervention - 11 mai 2006 à 19:19
3
Merci
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...

Merci sidf 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 120 internautes ce mois-ci

Commenter la réponse de sidf
cs_spyro666 137 Messages postés lundi 10 janvier 2005Date d'inscription 28 août 2007 Dernière intervention - 11 mai 2006 à 19:24
0
Merci
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
Commenter la réponse de cs_spyro666
cs_spyro666 137 Messages postés lundi 10 janvier 2005Date d'inscription 28 août 2007 Dernière intervention - 11 mai 2006 à 19:24
0
Merci
Holala... comme on est synchro XD

Spyro666 contre le 555
Commenter la réponse de cs_spyro666
elfigone81 3 Messages postés mardi 25 avril 2006Date d'inscription 12 mai 2006 Dernière intervention - 12 mai 2006 à 10:33
0
Merci
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
Commenter la réponse de elfigone81

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.