Bonjour,
Je voudrais implémenter un gateway de paiement en ligne qui n'est pas par défaut dans Joomla 3.4.8 et Chronoforms5 RC6.
Pour cela, le gateway fourni un kit php avec exemples et tout fonctionne.
Je peux l'ajouter au traitement de mon formulaire dans l'événement onsubmit grâce à l'élément Redirect.
Cela fonctionne.
La question est donc: comment communiquer les données du formulaire, stocké dans $form->data[] à ma page test.php?
J'ai essayé ça. Sans succès.
Mais en fait il ne passe jamais le require framework.php; il manque trop de choses.
Ensuite, j'ai voulu tester une solution simple et brute (enfin, c'était l'idée):
dans onsubmit, j'ai collé un élément Custom code contenant:
et dans test.php :
Et ça ne marche pas ?!!!
Alors, j'ai compris que Joomla utilise son propre gestionnaire de session; la 1ère solution ne marcherait donc pas... sans créer un module.
Mais pourquoi l'on ne peut pas écrire dans $_SESSION?
Je suis preneur de toute solution.
Je voudrais implémenter un gateway de paiement en ligne qui n'est pas par défaut dans Joomla 3.4.8 et Chronoforms5 RC6.
Pour cela, le gateway fourni un kit php avec exemples et tout fonctionne.
Je peux l'ajouter au traitement de mon formulaire dans l'événement onsubmit grâce à l'élément Redirect.
Cela fonctionne.
La question est donc: comment communiquer les données du formulaire, stocké dans $form->data[] à ma page test.php?
J'ai essayé ça. Sans succès.
Code PHP:
// test
define( '_JEXEC', 1 );
define( 'DS', DIRECTORY_SEPARATOR );
define( 'JPATH_BASE', realpath(dirname(__FILE__).'/../' ));
require_once( JPATH_BASE . DS . 'includes' . DS . 'defines.php' );
require_once( JPATH_BASE . DS . 'includes' . DS . 'framework.php' );
require_once( JPATH_BASE . DS . 'libraries' . DS . 'joomla' . DS . 'factory.php' );
require_once( JPATH_BASE .'\libraries\import.php' ); // framework
require_once( JPATH_BASE .'\configuration.php' ); // config file
$mainframe =& JFactory::getApplication('site');
$mainframe->initialise();
$session =& JFactory::getSession();
$cam = $session->get('montant_cmd');
echo $cam;
exit;
Ensuite, j'ai voulu tester une solution simple et brute (enfin, c'était l'idée):
dans onsubmit, j'ai collé un élément Custom code contenant:
Code PHP:
session_start();
$_SESSION['test']='oui';
session_write_close();
Code PHP:
session_start();
echo '<pre>';
print_r($_SESSION);
echo '</pre>';
Alors, j'ai compris que Joomla utilise son propre gestionnaire de session; la 1ère solution ne marcherait donc pas... sans créer un module.
Mais pourquoi l'on ne peut pas écrire dans $_SESSION?
Je suis preneur de toute solution.
Commentaire