France Hardware : Forums de discussion
Retrouvez les prix près de chez vous :  
Index du forum | Liste des membres | Liste des groupes | Inscription | F-A-Q | Recherche
Pseudo :    Password :     
22 749 membres enregistrés - 1 888 015 posts - 96 578 topics
Index des forums FH  | Index des forums DegroupNews
      Programmation
           Langages Web
                API Secure Server les valeurs dans formulaire et call_request
24 connectés(record : 207 le 05 juin 2007 - 05 h 23)

Vous devez vous connecter pour répondre au topic.
API Secure Server les valeurs dans formulaire et call_request

tonnetje


Messages : 14
Inscrit le 22/01/07
Ville : Pibrac
Non connecté
  Posté le 23 janvier 2007 - 11 h 27 m 33 s
Bonjour,

J'utilise une formulare pour valider les valeurs et de récuperer dan call_request.php.
Je voudrais lier un prénom et nom dans une variable de call_request, je peux valider 1 mot, mais 2 mots donnent message erreur : Invalid Keyword in parameter (Temple)

Formulaire:
<input type="text" name="name" size="30">

Call_request.php:

$parm="$parm customer_id=" . $_POST['name'];

J'ai mis par example comme nom: "Sam Temple"
Seulement le nom "Sam", Donne pas une erreur.

Merci




Loading
Coordinateur
T'as de beaux circuits, tu sais ?!

Messages : 5 032
Inscrit le 21/09/02
Ville : Bourgoin/Lyon/Annecy
Non connecté
  Posté le 23 janvier 2007 - 15 h 53 m 02 s
juste pour être sûr, tu veux mettre dans la variable $parm, le contenu de la variable elle mm + du texte et enfin la recup du champ du form c bien ça?

moi j'écrirai: $parm .= "_customer_id=".$_post['name'];

mais peut etre ai-je pas bien compris la problématique... ?




tonnetje


Messages : 14
Inscrit le 22/01/07
Ville : Pibrac
Non connecté
  Posté le 23 janvier 2007 - 16 h 15 m 31 s
Bonjour,

J'ai installé le kit API secure server.
J'ai une formulaire:
form name="payment" action="call_request.php" method="post">
<p>
<input name="SUBJECT" value="Secure Payment of your booking" type="hidden">
</p>
<p align="center" class="Font_text"><b>Please pay your deposit or balance here.
</b></p>
<p align="center" class="Font_text"><b>After submitting the amount you will
be redirected to the Secure Server of the </b></p>
<p align="center" class="Font_text"><b>Cr&eacute;dit Agricole Bank in Les Gets,
France, where you can enter your credit card details. </b></p>
<p>

<p align="center" class="Font_text"><b>Do NOT use decimals. Example: 300,00
euros, you only enter the number 300. </b>
<p align="center" class="Font_text">&nbsp;
<table width="400" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td width="215"><b>Family name</b></td>
<td width="185">
<input type="text" name="name" size="30">
</td>
</tr>
<tr>
<td width="215"><b>E-mail</b></td>
<td width="185">
<input type="text" name="email">
</td>
</tr>
<tr>
<td width="215"><b>Reservation number</b> </td>
<td width="185">
<input type="text" name="resa" size="9" maxlength="9">
</td>
</tr>
<tr>
<td width="215"><span class="Font_text"><b>The amount to be paid</b> </span></td>
<td width="185">
<input type="text" name="amount" size="4" maxlength="4" onKeyUp="enterNumber()">
</td>
</tr>
</table>
<p align="center" class="Font_text"><span class="Font_text"> </span>
<p>
<center>
<span class="Font_text">
<input type="SUBMIT" value="Proceed to Credit Card details" name="SUBMIT">

<input type="RESET" value="Cancel" name="RESET">

Dans call_request.php je dois récuperer les valeurs de la formulaire:

Quelques examples:

$parm="merchant_id=013044876511111";
$parm="$parm merchant_country=fr";
$parm="$parm amount=" . $_POST['amount']*100;
$parm="$parm customer_id=" . $_POST['name'];
$parm="$parm customer_email=" . $_POST['email'];
$parm="$parm order_id=" . $_POST['resa'];

Tous va bien, sauf . $_post['name']

Le probleme c'est quand je tape deux mots dans 'name'. Quand je tape un mot il n'y pas une probleme. Mais je veut bien récuperé le prénom et le nom de famille.

J'espere que c'est plus claire.




Loading
Coordinateur
T'as de beaux circuits, tu sais ?!

Messages : 5 032
Inscrit le 21/09/02
Ville : Bourgoin/Lyon/Annecy
Non connecté
  Posté le 23 janvier 2007 - 16 h 41 m 25 s
dans le principe c simple, comme tu as un espace entre ton nom et ton prénom lui considère que l'espace c la fin de la valeur... suffit juste de mettre des simples quotes autour de $_POST['name']... maintenant ca depends surtout comment est géré la variable $parm par la suite (il va pas aimer les quotes et va générer des erreurs...
peux tu afficher le script call_request ?




tonnetje


Messages : 14
Inscrit le 22/01/07
Ville : Pibrac
Non connecté
  Posté le 23 janvier 2007 - 16 h 49 m 19 s
Voila le script call_request :

<!--
-------------------------------------------------------------
Topic : Exemple PHP traitement de la requête de paiement
Version : 500

Dans cet exemple, on affiche un formulaire HTML
de connection à l'internaute.

-------------------------------------------------------------
-->

<!-- Affichage du header html -->
<?php

print ("<HTML><HEAD><TITLE>E-TRANSACTIONS - Paiement Securise sur Internet</TITLE></HEAD>");
print ("<BODY bgcolor=#ffffff>");
print ("<Font color=#000000>");
print ("<center><H1>Test de l'API plug-in E-TRANSACTIONS call_request</H1></center><br><br>");


// Affectation des paramètres obligatoires

// $parm = "merchant_id=013044876511111 merchant_country=fr amount=" . $_POST['amount'] . " currency_code=978";

$parm="merchant_id=013044876511111";
$parm="$parm merchant_country=fr";
$parm="$parm amount=" . $_POST['amount']*100;

// $parm="$parm amount=100";

$parm="$parm currency_code=978";

// Initialisation du chemin du fichier pathfile (à modifier)
// ex :
// -> Windows : $parm="$parm pathfile=c:\\repertoire\\pathfile";
// -> Unix : $parm="$parm pathfile=/home/repertoire/pathfile";
//
// Cette variable est facultative. Si elle n'est pas renseignée,
// l'API positionne la valeur à "./pathfile".

$parm="$parm pathfile=/hsphere/local/home/tonnetje/chalets1066.com/bin/pathfile";

// Si aucun transaction_id n'est affecté, request en génère
// un automatiquement à partir de heure/minutes/secondes
// Référez vous au Guide du Programmeur pour
// les réserves émises sur cette fonctionnalité
//
// $parm="$parm transaction_id=123456";



// Affectation dynamique des autres paramètres
// Les valeurs proposées ne sont que des exemples
// Les champs et leur utilisation sont expliqués dans le Dictionnaire des données
//
$parm="$parm normal_return_url=http://www.chalets1066.com/bin/call_response.php";
$parm="$parm cancel_return_url=http://www.chalets1066.com/bin/call_response.php";
$parm="$parm automatic_response_url=http://www.chalets1066.com/bin/call_autoresponse.php";
$parm="$parm language=en";
$parm="$parm payment_means=CB,2,VISA,2,MASTERCARD,2";
// $parm="$parm header_flag=no";
// $parm="$parm capture_day=";
// $parm="$parm capture_mode=";
// $parm="$parm bgcolor=";
// $parm="$parm block_align=";
// $parm="$parm block_order=";
// $parm="$parm textcolor=";
// $parm="$parm receipt_complement=";
// $parm="$parm caddie=";
$parm="$parm customer_id=" . $_POST['name'];
$parm="$parm customer_email=" . $_POST['email'];
// $parm="$parm customer_ip_address=";
// $parm="$parm data=";
// $parm="$parm return_context=";
// $parm="$parm target=";
$parm="$parm order_id=" . $_POST['resa'];


// Les valeurs suivantes ne sont utilisables qu'en pré-production
// Elles nécessitent l'installation de vos fichiers sur le serveur de paiement
//
// $parm="$parm normal_return_logo=";
// $parm="$parm cancel_return_logo=";
// $parm="$parm submit_logo=";
// $parm="$parm logo_id=";
// $parm="$parm logo_id2=";
// $parm="$parm advert=";
// $parm="$parm background_id=";
// $parm="$parm templatefile=";


// insertion de la commande en base de données (optionnel)
// A développer en fonction de votre système d'information

// Initialisation du chemin de l'executable request (à modifier)
// ex :
// -> Windows : $path_bin = "c:\\repertoire\\bin\\request";
// -> Unix : $path_bin = "/home/repertoire/bin/request";
//

$path_bin = "/hsphere/local/home/tonnetje/chalets1066.com/bin/request";


// Appel du binaire request

$result=exec("$path_bin $parm");

// sortie de la fonction : $result=!code!error!buffer!
// - code=0 : la fonction génère une page html contenue dans la variable buffer
// - code=-1 : La fonction retourne un message d'erreur dans la variable error

//On separe les differents champs et on les met dans une variable tableau

$tableau = explode ("!", "$result");

// récupération des paramètres

$code = $tableau[1];
$error = $tableau[2];
$message = $tableau[3];

// analyse du code retour

if (( $code == "" ) && ( $error == "" ) )
{
print ("<BR><CENTER>erreur appel request</CENTER><BR>");
print ("executable request non trouve $path_bin");
}

// Erreur, affiche le message d'erreur

else if ($code != 0){
print ("<center><b><h2>Erreur appel API de paiement.</h2></center></b>");
print ("<br><br><br>");
print (" message erreur : $error <br>");
}

// OK, affiche le formulaire HTML
else {
print ("<br><br>");
print (" $message <br>");
}

print ("</BODY></HTML>");

?>




Loading
Coordinateur
T'as de beaux circuits, tu sais ?!

Messages : 5 032
Inscrit le 21/09/02
Ville : Bourgoin/Lyon/Annecy
Non connecté
  Posté le 23 janvier 2007 - 23 h 25 m 51 s
tu as testé d'ajouter un simple cote sur $_POST['name'] ?




tonnetje


Messages : 14
Inscrit le 22/01/07
Ville : Pibrac
Non connecté
  Posté le 24 janvier 2007 - 00 h 05 m 41 s
J'ai testé avec un simple valeur (c'est cote?, je suis pas française, c'est encore plus difficile). Il n'y pas de problemes avec une simple valeur.




Woofy
Pour les bons tuyaux me demander

Messages : 26 215
Inscrit le 11/01/02
Ville : Paris / Grenoble
Non connecté
  Posté le 24 janvier 2007 - 00 h 08 m 52 s
Il te propose de faire ça :
$parm="merchant_id=013044876511111";
$parm="$parm merchant_country=fr";
$parm="$parm amount=" . $_POST['amount']*100;
$parm="$parm customer_id='" . $_POST['name'] . "'";
$parm="$parm customer_email=" . $_POST['email'];
$parm="$parm order_id=" . $_POST['resa'];

Une quote c'est ça : '
Une double quote : "

Mettre quelque chose entre quote : 'ceci est entre quote'
"et ça entre double quotes"


Quote est un mot anglais.


Message édité 1 fois, la dernière par Woofy le 24 janvier 2007 - 00 h 09.

:smileymouth: Totalement inutile, donc completement indispensable :smileymouth:

:sms:


tonnetje


Messages : 14
Inscrit le 22/01/07
Ville : Pibrac
Non connecté
  Posté le 24 janvier 2007 - 00 h 22 m 30 s
Merci, ca marche!

Quote est un mot anglais, mais cote je pensait c'etait francais.

J'espere maintenant j'en ai plus de questions. Encore merci!!





Woofy
Pour les bons tuyaux me demander

Messages : 26 215
Inscrit le 11/01/02
Ville : Paris / Grenoble
Non connecté
  Posté le 24 janvier 2007 - 00 h 24 m 27 s
cote c'est français !
Aller en vacance sur la côte (Marseille, Nice, ...), manger une côte de porc, avoir mal aux côtes... :D



:smileymouth: Totalement inutile, donc completement indispensable :smileymouth:

:sms:


tonnetje


Messages : 14
Inscrit le 22/01/07
Ville : Pibrac
Non connecté
  Posté le 24 janvier 2007 - 00 h 29 m 45 s
Oui exact, c'est pour ca, c'est rien avoir avec une quote dans php! J'apprends pas seulement php ici, mais aussi français!
Bon nuit!






Woofy
Pour les bons tuyaux me demander

Messages : 26 215
Inscrit le 11/01/02
Ville : Paris / Grenoble
Non connecté
  Posté le 24 janvier 2007 - 00 h 32 m 00 s
Oui enfin apprendre le français avec moi, niveau orthographe ce n'est peut-être pas une super idée ^^.
Bonne nuit en tout cas !



:smileymouth: Totalement inutile, donc completement indispensable :smileymouth:

:sms:


Page genérée en 1.0946 secondes par RahForum 2.0 | Gzip off |  Stats |  Metaforums |  RSS
© 2004 Cerbere Systems.
Prix Matériel Informatique | Informatique Lyon | Informatique Grenoble | Informatique Annecy | Informatique Marseille | Informatique Bordeaux | Forum Informatique
ADSL |Actualité ADSL | e-commerce | Commande Au Volant
Creative Commons
Message Boards and Forums Directory