1 formulaire + 1 submit = 2 actions

forbidden fruit Messages postés 16 Date d'inscription jeudi 29 mars 2007 Statut Membre Dernière intervention 1 octobre 2009 - 14 déc. 2008 à 12:46
islyoung2 Messages postés 12 Date d'inscription samedi 18 juillet 2009 Statut Membre Dernière intervention 7 février 2012 - 16 déc. 2008 à 14:11
Bonjour,

j'ai un petit problème...
J'ai un formulaire de commande (bouton "acheter" paypal).
Quand le client clique sur ce bouton, cela appelle une page sécurisée pour payer chez PayPal.
Je voudrais que cela déclenche en même temps (avec le même click)l'envoi
d'un mail en utilisant la fonction mail php.
je cherche une solution pour faire en sorte qu'il y ai 2 actions simultanées avec le submit du formulaire
En clair :
click bouton acheter = envoi simultané du formulaire paypal et l'envoi d'un mail

Merci d'avance (je débute)

fruit interdit

10 réponses

cs_TropNul Messages postés 340 Date d'inscription dimanche 18 septembre 2005 Statut Membre Dernière intervention 22 octobre 2009
14 déc. 2008 à 12:54
Bonjour,

Tu peux y arriver avec un peu de Javascript (que je ne connais pas, mais ça doit ressembler à un truc du genre: on submit), et avec la fonction mail() de PHP.

Cdt
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
14 déc. 2008 à 13:02
Salut,

Il y a beaucoup de solutions qu'il faudra adapter à ton cas.
Pourquoi pas :
Le formulaire de ta page post vers une autre (ou la même) page  de ton site, du style :
<form id="truc" name="machin" method="post" action="action.php">

Dans action.php :
//envoi du mail
mail();
//redirection
header(paypal);

Cordialement,

Kohntark-
0
forbidden fruit Messages postés 16 Date d'inscription jeudi 29 mars 2007 Statut Membre Dernière intervention 1 octobre 2009
14 déc. 2008 à 17:07
Merci beaucoup pour vos réponses, mais je suis une vrai débutante et je n’arrive pas vraiment a comprendre la solution possible.



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 





Est ce que quelqu'un peut m'expliquer les solution proposer ?  En donnant un exemple de code


Merci d’avance








fruit interdit
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
14 déc. 2008 à 17:39
Si tu veux que l'on t'aide un peu plus (sans pour autant faire ton script) il serait bien que tu postes le code relatif au bouton payPal, d'indiquer le but de ce mail, à qui il est adresser (toi, le client, ...)
Il y a des chances pour que le bouton payPal ne permette pas d'utiliser ma méthode (mais ça reste à voir), dans ce cas il faudra utiliser la proposition de TropNul, mais c'est moins "propre" à mon avis.

Cordialement,

Kohntark -
0

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

Posez votre question
forbidden fruit Messages postés 16 Date d'inscription jeudi 29 mars 2007 Statut Membre Dernière intervention 1 octobre 2009
14 déc. 2008 à 17:51
Je vais essayer d'éclairer  mon problème

1-le client remplie un formulaire qui contiens ces informations personnelle en plus du détaille de sa commande
2-le bouton  de ce formulaire doit ouvrir le popup de payement et au même temps me renvoyer le détaille de cette commande


fruit interdit
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
14 déc. 2008 à 18:15
Je ne peux pas t'aider sans avoir un minimum de code, désolé.

Kohntark -
0
islyoung2 Messages postés 12 Date d'inscription samedi 18 juillet 2009 Statut Membre Dernière intervention 7 février 2012
15 déc. 2008 à 10:39
Salut forbiden;
je suis d'accord avec kohntark, si tu veux qu'on t'aide tu dois au moins nous donner quelque chose à mettre sous les dents . car d'après ce que j'ai compris ton formulaire ne pointe pas vers une page php mais ouvre un popup. alors au moins envoie nous le code source de ton formulaire (sans mentionner des info perso si il y ona).
0
forbidden fruit Messages postés 16 Date d'inscription jeudi 29 mars 2007 Statut Membre Dernière intervention 1 octobre 2009
16 déc. 2008 à 11:46
Juste un petit retouche, je vais travailler avec spplus au lieu de paypal



voici le code de mes
formulaires :






Le 1ère  formulaire, qui permet aux clients d'entres leurs informations : <?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>










   
<html>
<head>
  <title>Récupérer des données provenant d'un formulaire, en PHP</title>
</head>

  <form name=\"formulaire\" action=\"appel_spplus_php.php\" method=\"POST\" enctype=\"multipart/form-data\">
    ----

      Nom,
      ,
   
    ----

      Prenom,
      ,
   
    ----

      Email,
      ,
   
    ----

      Montant,
      ,
   
    ----

      ,
   
  </form>

</html>

le 2éme  formulaire , qui récupère les informations , le lien payer une fenêtre popup s'ouvre (de spplus): 

<?php
   $clent = "0000000000000000000";// code siret du commercant
   $codesiret = "0000000000";
// Montant à récupérer du panier
$nom = $_POST['nom'] ;
$prenom = $_POST['prenom'] ;
$mail = $_POST['mail'] ;
$montant = $_POST['montant'] ;
$validite = "" ;

//  $montant="15.00";
  // echo( "Montant: ".$montant."
\n" ) ;

// Devise dans laquelle est exprimé la commande : 978 Code pour l'EURO
   $devise ="978";

// Référence de la commande pour le commercant : unique pour chaque paiement effectué, limitée à 20 caractères
   $reference = "spp" . date("YmdHis");

// L'email de l'internaute : élément fortement conseillé pour identification internaute
   $email="[mailto:service.installation@spplus.net service.installation@spplus.net]";

// Langue choisie pour l'interface de paiement
   $langue="FR";

// Taxe appliquée
   $taxe="0.00";

// Moyen de paiement choisi
   $moyen="CBS";

// Modalité de paiement choisie
   $modalite="1x";

// la fonction ci dessous permet de charger dynamiquement la librairie SP PLUS si elle n'est pas déclarée dans le fichier php.ini (rubrique extensions)
   if ( !extension_loaded('SPPLUS') ) { dl('php_spplus.so'); }

// Fonction de calcul calcul_hmac
   $calcul_hmac=calcul_hmac($clent,$codesiret,$reference,$langue,$devise,$montant,$taxe,$validite);
   $url_calcul_hmac = "https://www.spplus.net/paiement/init.do?siret=$codesiret&reference=$reference&langue=$langue&devise=$devise&montant=$montant&taxe=$taxe&hmac=$calcul_hmac&moyen=$moyen&modalite=$modalite";

// Fonction de calcul calculhmac
  // $data="siret=$codesiret&reference=$reference&langue=$langue&devise=$devise&montant=$montant&taxe=$taxe&moyen=$moyen&modalite=$modalite";
//   $calculhmac=calculhmac($clent,$data);
 //  $url_calculhmac = "https://www.spplus.net/paiement/init.do?siret=$codesiret&reference=$reference&langue=$langue&devise=$devise&montant=$montant&taxe=$taxe&moyen=$moyen&modalite=$modalite&hmac=$calculhmac";

// Fonction de calcul nthmac
  // $data= "$codesiret$reference$langue$devise$montant$taxe$moyen$modalite";
 //  $nthmac=nthmac($clent,$data);
 //  $url_nthmac = "https://www.spplus.net/paiement/init.do?siret=$codesiret&reference=$reference&langue=$langue&devise=$devise&montant=$montant&taxe=$taxe&moyen=$moyen&modalite=$modalite&hmac=$nthmac";

// Fonction d'encryptage de l'url SigneUrlPaiement
// Cryptage en base 64 de la chaîne de paramètres à envoyer au serveur SPPLUS
   $url_signeurlpaiement = "https://www.spplus.net/paiement/init.do?siret=$codesiret&reference=$reference&langue=$langue&devise=$devise&montant=$montant&taxe=$taxe&moyen=$moyen&modalite=$modalite";
   $urlspplus=signeurlpaiement($clent,$url_signeurlpaiement);

//------------------------------------------------------------------------------------------------------------

?>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>INTERFACE DE PAIEMENT SP PLUS - API PHP</title>
<script>

   // on nomme la fenêtre pour afficher la page de retour internaute dans cette page
   self.name="sitecom";

   function Ouvrir_Spplus()
   {
      // Largeur et hauteur préconisées de la fenêtre SPPLUS
    var PopupSpplus_largeur = 750;
    var PopupSpplus_hauteur = 560;

      // Position haut et gauche de la fenêtre SPPLUS pour affichage centré dans l'écran
    var PopupSpplus_top =((screen.height-PopupSpplus_hauteur)/2);
    var PopupSpplus_left =((screen.width-PopupSpplus_largeur)/2);

    // Ouverture du popup SPLUS avec barre état uniquement et focus sur la fenêtre
    var win = window.open('', "SPPLUS","status=yes,top="+PopupSpplus_top+",left="+PopupSpplus_left+",width="+PopupSpplus_largeur+",height="+PopupSpplus_hauteur);
    win.focus();
   }
</script>
</head>

<center>
  ----

    Confirmation de paiement,
    &nbsp;,
 
  ----

    Nom&nbsp; :,
    <? echo( "".$nom."" ) ; ?>&nbsp;,
    &nbsp;,
 
  ----

    Prenom :,
    <? echo( "".$prenom."" ) ; ?> &nbsp;,
    &nbsp;,
 
  ----

    Email :,
    <? echo( "".$mail."" ) ; ?>,
    &nbsp;,
 
  ----

    Le montant :,
    &nbsp;<? echo $montant ?>,
    &nbsp;,
 
  ----

    &nbsp;,
    ">Payer ,
    &nbsp;,
 
  ----

    http://kits.spplus.net/integration/logos/tableaux_paiement/tableau_cb.gif" border=0>,
    , http://info.spplus.net\"></td>
 

&nbsp;

</html>

fruit interdit
0
forbidden fruit Messages postés 16 Date d'inscription jeudi 29 mars 2007 Statut Membre Dernière intervention 1 octobre 2009
16 déc. 2008 à 12:41
le popup qui s'ouvre (de payement SPPLUS) se trouve ici

fruit interdit
0
islyoung2 Messages postés 12 Date d'inscription samedi 18 juillet 2009 Statut Membre Dernière intervention 7 février 2012
16 déc. 2008 à 14:11
Si j'ai bien  compris ton script et ta question, tu veux faire une des deux :
1- Envoyer un email juste après que ton client à posté son formulaire : et pour cette solution c'est très simple tu ajoute la fonction mail dans ton fichier appel_spplus_php.php puisque le formulaire pointe vers cette page.

2-Maintenant si tu veux envoyer l'email après que le client clique sur le lien PAYER qui se trouve dans la page appel_spplus_php.php  , la  je te conseil de cette solution : tu crée un 3ème fichier payement_exe.php  dans ce fichier tu va fairece qui suit :
- envoyer l'email a ton client.
- ouvrir le popup de payement (celui de SPPLUS).
- rediriger le fichier vers appel_spplus_php.php
de cette façon le fichier execute les requetes demandé et revien vers ta page original (ce qui fait que l'utilisateur ne se rend meme pas compte de l'ouverture de ce fichier.)

espérant que sa puissent t'aider, sinon n'hesite pas à poser des questions.
0
Rejoignez-nous