Passer des variables de php en perl
Résolu
Charliedu82
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
Bonjour,
Juste un petit préambule, j'ai 63 ans, pas doué en php et encore moins en perl et la comprenette parfois bouchée... Je vais donc essayer d'être clair dans ma demande et si vous pouvez l'être autant dans une réponse éventuelle ça m'éviterait quelques insomnies... lol
Le problème :
J'installe sur le site d'une asso humanitaire un système de paiement par CB Cyberplus. Aucun problème pour l'installation si ce n'est qu'il m'a fallu utiliser les fichiers perl, l'hébergeur n'acceptant pas certaines fonctions du php (exec() ) notamment.
J'ai donc un formulaire de saisie, un fichier php qui me permet d'alimenter une base de données (ça c'est fait et ça marche) et il me faut transmettre une valeur du formulaire vers le fichier perl.. Simple sans doute pour certains d'entre vous, trop complexe pour moi...
Le champ en question c'est la variable $amount que j'envoie vers ma base de données ici (le champ du formulaire est donc : amount)
$sql = "INSERT INTO formulaire VALUES ('','".$civilite."', '".$nom."', '".$prenom."','".$adresse1."', '".$adresse2."','".$codepostal."', '".$ville."', '".$pays."', '".$mail."', '".$comments."', '".$amount."', '".$telephone."','".$don."' ,'".$affectation."' ,'".$adhesion."','".$recu."' ,'".$transaction_id."' ,now())";
Dans le fichier php j'ai :
header('Location: http://www...com/cgi-bin/call_request.pl');
Qui me renvoie vers le fameux fichier perl et dans ce fichier perl il me faut alimenter le champ amount
# Affectation des paramètres obligatoires
$parm=$parm . " amount=";
Donc question simple : comment je fais pour passer de l'un à l'autre cette foutue variable... ?
PS: si possible soyez concrets, je patauge grave... J'ai fouillé un peu partout mais tout ce que j'essaie échoue lamentablement...
Gracias ;)
Juste un petit préambule, j'ai 63 ans, pas doué en php et encore moins en perl et la comprenette parfois bouchée... Je vais donc essayer d'être clair dans ma demande et si vous pouvez l'être autant dans une réponse éventuelle ça m'éviterait quelques insomnies... lol
Le problème :
J'installe sur le site d'une asso humanitaire un système de paiement par CB Cyberplus. Aucun problème pour l'installation si ce n'est qu'il m'a fallu utiliser les fichiers perl, l'hébergeur n'acceptant pas certaines fonctions du php (exec() ) notamment.
J'ai donc un formulaire de saisie, un fichier php qui me permet d'alimenter une base de données (ça c'est fait et ça marche) et il me faut transmettre une valeur du formulaire vers le fichier perl.. Simple sans doute pour certains d'entre vous, trop complexe pour moi...
Le champ en question c'est la variable $amount que j'envoie vers ma base de données ici (le champ du formulaire est donc : amount)
$sql = "INSERT INTO formulaire VALUES ('','".$civilite."', '".$nom."', '".$prenom."','".$adresse1."', '".$adresse2."','".$codepostal."', '".$ville."', '".$pays."', '".$mail."', '".$comments."', '".$amount."', '".$telephone."','".$don."' ,'".$affectation."' ,'".$adhesion."','".$recu."' ,'".$transaction_id."' ,now())";
Dans le fichier php j'ai :
header('Location: http://www...com/cgi-bin/call_request.pl');
Qui me renvoie vers le fameux fichier perl et dans ce fichier perl il me faut alimenter le champ amount
# Affectation des paramètres obligatoires
$parm=$parm . " amount=";
Donc question simple : comment je fais pour passer de l'un à l'autre cette foutue variable... ?
PS: si possible soyez concrets, je patauge grave... J'ai fouillé un peu partout mais tout ce que j'essaie échoue lamentablement...
Gracias ;)
A voir également:
- Passer des variables de php en perl
- Passer de qwerty a azerty - Guide
- Passer de windows 7 à windows 10 - Accueil - Mise à jour
- Trousseau mot de passe iphone - Guide
- Mot de passe - Guide
- Passer de majuscule à minuscule - Guide
13 réponses
Salut,
Tu devrais passer le paramètre au script perl
Quelque chose de genre
header('Location: http://www...com/cgi-bin/call_request.pl?amount=$amount');
Et dans le script Perl tu devrais récupérer le contenu du paramètre amount
Tu dois avoir dans ton script Perl quelque chose de genre
Tu devrais passer le paramètre au script perl
Quelque chose de genre
header('Location: http://www...com/cgi-bin/call_request.pl?amount=$amount');
Et dans le script Perl tu devrais récupérer le contenu du paramètre amount
Tu dois avoir dans ton script Perl quelque chose de genre
use CGI; my $req=new CGI; ...... $parm=$parm . " amount=$req->param("amount")";
Merci de t'intéresser à mon cas ;)
Visiblement il y a une erreur sur la ligne :
$parm=$parm . " amount=$req->param("amount")";
Ca m'entraîne une erreur du serveur... Internal servor error
Une fois mis les instructions du début, v'la tout le début de la page perl jusqu'à la variable en question
#!/usr/bin/perl
use CGI;
my $req=new CGI;
#-------------------------------------------------------------
# Topic : Exemple PERL traitement de la requête de paiement
# Version : P600
#
# Dans cet exemple, on affiche un formulaire HTML
# de connection à l'internaute.
#
#-------------------------------------------------------------
payment_request();
sub payment_request
{
# affichage du debut de la page
print "Content-Type: text/html\n\n";
print "";
print "<HTML><HEAD><TITLE>CYBERPLUS - Paiement Securise sur Internet</TITLE></HEAD>";
print "<BODY bgcolor=#ffffff>";
print "<Font color=#000000>";
print "<center><H1>Test de l'API plug-in CYBERPLUS</H1></center><br><br>";
# Affectation des paramètres obligatoires
$parm="merchant_id=038862749811111";
$parm=$parm . " merchant_country=fr";
$parm=$parm . " amount=$req->param("amount")";
$parm=$parm . " currency_code=978";
Visiblement il y a une erreur sur la ligne :
$parm=$parm . " amount=$req->param("amount")";
Ca m'entraîne une erreur du serveur... Internal servor error
Une fois mis les instructions du début, v'la tout le début de la page perl jusqu'à la variable en question
#!/usr/bin/perl
use CGI;
my $req=new CGI;
#-------------------------------------------------------------
# Topic : Exemple PERL traitement de la requête de paiement
# Version : P600
#
# Dans cet exemple, on affiche un formulaire HTML
# de connection à l'internaute.
#
#-------------------------------------------------------------
payment_request();
sub payment_request
{
# affichage du debut de la page
print "Content-Type: text/html\n\n";
print "";
print "<HTML><HEAD><TITLE>CYBERPLUS - Paiement Securise sur Internet</TITLE></HEAD>";
print "<BODY bgcolor=#ffffff>";
print "<Font color=#000000>";
print "<center><H1>Test de l'API plug-in CYBERPLUS</H1></center><br><br>";
# Affectation des paramètres obligatoires
$parm="merchant_id=038862749811111";
$parm=$parm . " merchant_country=fr";
$parm=$parm . " amount=$req->param("amount")";
$parm=$parm . " currency_code=978";
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re,
Essaie
Essaie
my $val_param=$req->param("amount"); $parm="merchant_id=038862749811111"; $parm=$parm . " merchant_country=fr"; $parm=$parm . " amount=$val_param"; $parm=$parm . " currency_code=978";
Re,
Et si tu mets dans ton script php (guillemets au lieu d'apostrohpes)
header("Location: http://www...com/cgi-bin/call_request.pl?amount=$amount");
Et si tu mets dans ton script php (guillemets au lieu d'apostrohpes)
header("Location: http://www...com/cgi-bin/call_request.pl?amount=$amount");
Ben voilaaaaaaaa !!! super !!! tu me sors une grosse épine du pied.....
PS: et s'il me fallait (on sait jamais) passer deux variables au lieu d'une ?? C'est plus complexe dans le perl je suppose...
PS: et s'il me fallait (on sait jamais) passer deux variables au lieu d'une ?? C'est plus complexe dans le perl je suppose...
Re,
Tu peux mettre combien de paramètres tu veux
header("Location: http://www...com/cgi-bin/call_request.pl?amount=$amount¶m2=$var2¶m3=$var3");
Dans le script perl
my $param2 = $req->param("param2");
my $param3 = $req->param("param3");
En bref, dans URL la syntaxe et PARAMETRE=VALEUR et chaque couple est séparé par un &
Exemple :
http://mon.domaine.com/script.perl?param1=VALEUR1¶m2=VALEUR2
Tu as bien compris que $req c'est une variable choisi par nous. Elle peut avoir n'importe quel nom.
use CGI;
my $ma_variable=new CGI;
$var1=$ma_variable->param("NOM_PARAMETRE1");
$var2=$ma_variable->param("NOM_PARAMETRE2");
etc.
Tu as compris?
Tu peux mettre combien de paramètres tu veux
header("Location: http://www...com/cgi-bin/call_request.pl?amount=$amount¶m2=$var2¶m3=$var3");
Dans le script perl
my $param2 = $req->param("param2");
my $param3 = $req->param("param3");
En bref, dans URL la syntaxe et PARAMETRE=VALEUR et chaque couple est séparé par un &
Exemple :
http://mon.domaine.com/script.perl?param1=VALEUR1¶m2=VALEUR2
Tu as bien compris que $req c'est une variable choisi par nous. Elle peut avoir n'importe quel nom.
use CGI;
my $ma_variable=new CGI;
$var1=$ma_variable->param("NOM_PARAMETRE1");
$var2=$ma_variable->param("NOM_PARAMETRE2");
etc.
Tu as compris?
ok capito !! grand merci encore !
A charge de revanche, mais pas dans ce domaine ... lol
Photo oui par contre (www.aginum.net) ;)
A charge de revanche, mais pas dans ce domaine ... lol
Photo oui par contre (www.aginum.net) ;)