1 formulaire + 1 submit = 2 actions

Signaler
Messages postés
16
Date d'inscription
jeudi 29 mars 2007
Statut
Membre
Dernière intervention
1 octobre 2009
-
Messages postés
12
Date d'inscription
samedi 18 juillet 2009
Statut
Membre
Dernière intervention
7 février 2012
-
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

Messages postés
340
Date d'inscription
dimanche 18 septembre 2005
Statut
Membre
Dernière intervention
22 octobre 2009

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
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
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-
Messages postés
16
Date d'inscription
jeudi 29 mars 2007
Statut
Membre
Dernière intervention
1 octobre 2009

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
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
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 -
Messages postés
16
Date d'inscription
jeudi 29 mars 2007
Statut
Membre
Dernière intervention
1 octobre 2009

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
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
Je ne peux pas t'aider sans avoir un minimum de code, désolé.

Kohntark -
Messages postés
12
Date d'inscription
samedi 18 juillet 2009
Statut
Membre
Dernière intervention
7 février 2012

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).
Messages postés
16
Date d'inscription
jeudi 29 mars 2007
Statut
Membre
Dernière intervention
1 octobre 2009

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
Messages postés
16
Date d'inscription
jeudi 29 mars 2007
Statut
Membre
Dernière intervention
1 octobre 2009

le popup qui s'ouvre (de payement SPPLUS) se trouve ici

fruit interdit
Messages postés
12
Date d'inscription
samedi 18 juillet 2009
Statut
Membre
Dernière intervention
7 février 2012

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.