PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WEBDEV 2024 → Script PHP
Script PHP
Iniciado por freddy.haas, mar., 15 2005 6:03 PM - 10 respostas
Publicado em março, 15 2005 - 6:03 PM
Je met en place le paiement en ligne sur un site, or il est nécessaire d'utiliser les scripts PHP fournis par la banque. Il faudrait que je passe en paramètres plusieurs infos.
Mais PB !

J'utilise la fonction PageAffiche("NomReq.php","Montant=val1&Param2=val2")

et dans le script, j'ai mis

$parm="$parm amount=$Montant";

et j'ai systématiquement une erreur de type :

Notice: Undefined variable: Montant in D:\ ... \NomReq.php

Qui peut m'aider, svp !

J'aurais également besoin de récupérer une valeur au retour du paiement contenu par exemple dans $data, comment faire ?

Merci par avance,
Freddy
Publicado em março, 15 2005 - 6:37 PM
J'ai exactement le meme problème : paiement sécurisé avec module en PHP .
Je pensais que cela serait simple, mais le PHP sous Webdev est assez limité.
Mon problème à moi c'est de passer les parametres à la procèdure écrite en PHP:

--------------------------------------------------
//initialisation de la page paiement.php
// ex: http://www.maboutique.com/paiement.php…

montant est une chaîne=PageParamètre("montant") // recup parametre de l'URL
reference est une chaîne=PageParamètre("reference") // idem
cléClient,data sont des chaines
cléClient="00 01 02 03 04 05" // données confidentielles du client

data=ConstruitUrl(montant,reference) // procedure en WL qui formate l'URL pour SPPLUS
gUrl=CodeParametres(cléClient,data) // Appelle le module PHP de SPPLUS
SI gUrl="" ALORS
Erreur("Problème dans le module SPPLUS")
RETOUR
FIN

-------------------------------------------------- Procédure en PHP
function CodeParametres($clent, $data) {
// la fonction ci dessous permet de charger la librairie SP PLUS si elle n'est pas déclarée dans le fichier php.ini (rubrique extensions)
dl('php_spplus.dll');
if (!extension_loaded('SPPLUS')) return "";

$urlPage=signeurlpaiement($clent,$data);
return $urlPage; // Renvoie le lien
//ScriptAffiche( $urlPage); // va sur le site SPPLUS directement
}
--------------------------------------------------

Extrait de la page paiement.php générée par Webdev :

--------------------------------------------------
//initialisation de la page paiement.php
// ex: http://www.maboutique.com/paiement.php…
function PAIEMENT_INIT()
{
global $gUrl;
$montant=PageParamètre('montant');
$reference=PageParamètre('reference');
$cléClient='';
$data='';
$cléClient='00 01 02 03 04 05';
$data=ConstruitUrl($montant,$reference,$_PHP_VAR_TMP_481='0.0',$_PHP_VAR_TMP_482='978',$_PHP_VAR_TMP_483='FR',$_PHP_VAR_TMP_484='');
$gUrl=(string)CodeParametres(); <----- OU SONT MES PARAMETRES ???
if (strcmp($gUrl,'')==0)
{
Info('Problème dans le module SPPLUS');
return ;
}
}
---------------------------------------------------
1/ On s'apercoit que CodeParametres() n'a pas de valeur passée !!!
==> pourquoi ?

2/ gUrl est déclaré en GLOBAL mais si j'utilise $gUrl dans ma procédure CodeParametres, j'ai Undefined variable sur gUrl !!!
==> pourquoi ?
Publicado em março, 15 2005 - 8:00 PM
Idem pour moi!
aucun paramettre ne passe !
ca me rassure , j'allais devenir fou !
Publicado em março, 16 2005 - 10:32 AM
Idem pour moi... Comment passer les parametres vers un site sécurisé de
payement en ligne ? Il y a bien le composant paybox mais il faut plonger
dedans et se serait plus simple en php...



"Fabien" <guest@newsgroup.fr> a écrit dans le message de news:
42370417$1@news.pcsoft.fr...

J'ai exactement le meme problème : paiement sécurisé avec module en PHP .
Je pensais que cela serait simple, mais le PHP sous Webdev est assez
limité.
Mon problème à moi c'est de passer les parametres à la procèdure écrite en
PHP:

--------------------------------------------------
//initialisation de la page paiement.php
// ex:
http://www.maboutique.com/paiement.php…

montant est une chaîne=PageParamètre("montant") // recup parametre de
l'URL
reference est une chaîne=PageParamètre("reference") // idem
cléClient,data sont des chaines
cléClient="00 01 02 03 04 05" // données confidentielles du client

data=ConstruitUrl(montant,reference) // procedure en WL qui formate l'URL
pour SPPLUS
gUrl=CodeParametres(cléClient,data) // Appelle le module PHP de SPPLUS
SI gUrl="" ALORS
Erreur("Problème dans le module SPPLUS")
RETOUR
FIN

-------------------------------------------------- Procédure en PHP
function CodeParametres($clent, $data) {
// la fonction ci dessous permet de charger la librairie SP PLUS si elle
n'est pas déclarée dans le fichier php.ini (rubrique extensions)
dl('php_spplus.dll');
if (!extension_loaded('SPPLUS')) return "";

$urlPage=signeurlpaiement($clent,$data);
return $urlPage; // Renvoie le lien
//ScriptAffiche( $urlPage); // va sur le site SPPLUS directement
}
--------------------------------------------------

Extrait de la page paiement.php générée par Webdev :

--------------------------------------------------
//initialisation de la page paiement.php
// ex:
http://www.maboutique.com/paiement.php…
function PAIEMENT_INIT()
{
global $gUrl;
$montant=PageParamètre('montant');
$reference=PageParamètre('reference');
$cléClient='';
$data='';
$cléClient='00 01 02 03 04 05';
$data=ConstruitUrl($montant,$reference,$_PHP_VAR_TMP_481='0.0',$_PHP_VAR_TMP_482='978',$_PHP_VAR_TMP_483='FR',$_PHP_VAR_TMP_484='');
$gUrl=(string)CodeParametres(); <----- OU SONT MES PARAMETRES ???
if (strcmp($gUrl,'')==0)
{
Info('Problème dans le module SPPLUS');
return ;
}
}
---------------------------------------------------
1/ On s'apercoit que CodeParametres() n'a pas de valeur passée !!!
==> pourquoi ?

2/ gUrl est déclaré en GLOBAL mais si j'utilise $gUrl dans ma procédure
CodeParametres, j'ai Undefined variable sur gUrl !!!
==> pourquoi ?

Publicado em março, 16 2005 - 10:39 AM
Euh,

Vous avez tenté la fonction PhpExecute()?
Je connais pas vraiment mais il me semble qu'elle est censée répondre à
ce genre de problématique non?..

Bon dev'

freddy a formulé la demande :

Je met en place le paiement en ligne sur un site, or il est nécessaire
d'utiliser les scripts PHP fournis par la banque. Il faudrait que je passe en
paramètres plusieurs infos. Mais PB !

J'utilise la fonction PageAffiche("NomReq.php","Montant=val1&Param2=val2")

et dans le script, j'ai mis

$parm="$parm amount=$Montant";

et j'ai systématiquement une erreur de type :

Notice: Undefined variable: Montant in D:\ ... \NomReq.php

Qui peut m'aider, svp !

J'aurais également besoin de récupérer une valeur au retour du paiement
contenu par exemple dans $data, comment faire ?

Merci par avance,
Freddy


--
Guillaume
Publicado em março, 16 2005 - 3:24 PM
Je pense que le problème doit venir du register global, mais le source trouvé sur les wtablettes me génère également une erreur.

Néanmoins, n'y aurait t-il pas moyen de charger en mémoire le contenu du script (ex: par FChargeTexte), de remplace les occurrences de mes variables (avec Remplace) et d'exécuter le nouveau script obtenu (par contre, les commandes PHP... utilise un nom de fichier et non une chaine) ? Cela aurait l'avantage de fonctionner sur toutes les plateformes !

quelqu'un a t-il testé le source des wtablettes ?

Salutations,
Freddy
Publicado em março, 16 2005 - 5:04 PM
Pour info, j'ai réussi à récupérer mes paramètres en mettant :

$val1 = $_GET["montant"];

Merci à tous,
Freddy
Publicado em março, 16 2005 - 5:22 PM
Bonjour,

Et tu l'as mis où ce code: dans le code WD ou dans la page php générée?

on peut voir le code qui l'entoure?

pour info aussi:

le PB de register globals n'est pas toujours cerné: sur le serveur le
parametre register_globals à off ferme un trou de sécurité. S'il est à
ON c'est + permissif mais ça marche.

Le code généré par WD tient compte de cette recomandation (OFF) et
fonctionne sur un serveur avec RG à ON ou OFF d'aprés mes esais.

J-Daniel



freddy vient de nous annoncer :


Pour info, j'ai réussi à récupérer mes paramètres en mettant :

$val1 = $_GET["montant"];

Merci à tous,
Freddy


--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Publicado em março, 17 2005 - 9:51 AM
En webdev, je n'utilise que la fonction PHPAffiche (avec paramètres). Le code $_GET est dans un fichier *.PHP présent sur le site.

Par contre, qui me dire comment mettre à jour ma base de données hyper file au retour de la banque (donc dans un script PHP). Y'a t-il, par exemple, moyen de lancer une URL en PHP, ou d"effectuer une commande SQL ?

Freddy
Publicado em março, 17 2005 - 10:20 AM
Je ne sais pas sur quelle plateforme tourne le site (Linux ou Windows), mais pour votre info j'ai le même problème. Je vous explique :

Je suis sous Linux

A titre d'info, les fonctions PhpScript et SrciptExecute, alors que l'aide indique que l'on peut les utiliser, ne fonctionnent pas sous Linux car elle utilisent , derrières, une fonction httpRequete qui n'est pas autorisée sous Linux.

Moralité, pour lancer un script PHP, il faut faire un PageAffiche dont rien n'est controlé car tout est renvoyé au navigateur.
C'est pour le moment bloqué et le Support doivent rapidement faire quelque chose, nous attendons donc impatiemment une réponse confirmant l'utilisation de ces fonctions en Linux.

Ensuite, pour le passages des paramètres, j'ai trouvé 2 solutions :

1/ il faut passer l'appel de la page entièrement, c'est à dire "script.php?a=valeur&B=valeur" plutôt que de passer par la syntaxe propre à PageAffiche.

2/ J'ai personnellement opté pour cette solution. Je crée un fichier script_param.php (par exemple), en code avec Fouvre...etc
Puis je mets mes varaibles en Php :

<?php
A=valeur;
B=valeur;
et...
?>

et je fais un

require('script_param.php');

au début de mon fichier script.php

==============================================

Pour ceux qui veulent utiliser SrciptExecute('script.php') ou PhpExecute('script.php') en Linux, le support m'avait proposé d'utiliser LanceAppli, mais aucune syntaxe que j'ai trouvée ne fonctionne.

Donc si quelqu'un a des infos à ce sujet, je suis preneur.

Merci
Bonne journée à tous
Cordialement
Publicado em março, 17 2006 - 9:37 PM
Votre réponse m'intéresse beaucoup et m'intrigue un peu :
Auriez_vous la gentillesse de détailler :

j'essaie d'utiliser un script php pour uploader des images,
je me sers de lien personnalisé avec envoi de variables, mais cela n’aboutit qu'à des passages de paramètres sortants du genre A8 que je n'arrive pas à récupérer dans le script php, et donc , pas à les renvoyer en wb , ces paramètres ne revenant pas, l’internaute n’est plus loggé …

De plus je n’arrive pas à voir comment vous faites cohabiter du code de WB et du php, le second mettant le premier en commentaire …

Merci beaucoup si vous me répondez.. !