2010-12-07 1 views
1
$URL:https://demo.firstach.com/https/TransRequest.asp?Login_ID=someit&Transaction_Key=somekey&Customer_ID=23&Customer_Name=Muhammad Naeem&Customer_Address=Address&Customer_City=city&Customer_State=HI&Customer_Zip=54000&Customer_Phone=--&Customer_Bank_ID=111111118&Customer_Bank_Account=123456789&Account_Type=Business Checking&Transaction_Type=Debit&Frequency=Once&Number_of_Payments=1&Effective_Date=12%2F05%2F2010&Amount_per_Transaction=10.00&Check_No=&Memo=&SECCType=WEB 

$ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL,$url); // set url to post to 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable 
    curl_setopt($ch, CURLOPT_TIMEOUT, 0); // times out after Ns 
    curl_setopt($ch, CURLOPT_FAILONERROR, 0); 
    curl_setopt($ch, CURLOPT_VERBOSE, 1); 
    curl_setopt($ch, CURLOPT_HEADER, 1); 
    curl_setopt($ch, CURLOPT_COOKIEFILE, 1); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
    $result = curl_exec($ch); // run the whole process 

    print_r($result); 

    curl_close($ch); 

i également utilisé file_get_conent et fopen mais tous sont me réélisant BAD error DEMANDE, s'il vous plaît aidez-moise demande incorrecte lors de l'ouverture d'un fichier querystring dans CURL

pour plus de détails s'il vous plaît voir le lien ci-dessous

http://www.uqwibble.com/Phase-2/ach.php

Répondre

2

Eh bien assumign le code que vous avez envoyé précise alors cette ligne est la question:

$URL:https://demo.firstach.com/https/TransRequest.asp?Login_ID=someit&Transaction_Key=somekey&Customer_ID=23&Customer_Name=Muhammad Naeem&Customer_Address=Address&Customer_City=city&Customer_State=HI&Customer_Zip=54000&Customer_Phone=--&Customer_Bank_ID=111111118&Customer_Bank_Account=123456789&Account_Type=Business Checking&Transaction_Type=Debit&Frequency=Once&Number_of_Payments=1&Effective_Date=12%2F05%2F2010&Amount_per_Transaction=10.00&Check_No=&Memo=&SECCType=WEB 

Ici, il semble que vous vous attendez à définir $URL mais lorsque vous l'utilisez avec cURL, vous référencez $url. Les varibales sont sensibles à la casse. Deuxièmement, vous avez $URL: qui n'est pas valide que vous voulez utiliser $url =.

Addiitonally je voudrais coder les params comme ceci:

$baseurl = 'https://demo.firstach.com/https/TransRequest.asp'; 
$params = array(
'Login_ID' => 'someit', 
'Transaction_Key' => 'somekey', 
'Customer_ID'= => 23, 
'Customer_Name' => 'Muhammad Naeem', 
'Customer_Address' => 'Address', 
'Customer_City' => 'city', 
'Customer_State' => 'HI', 
'Customer_Zip' => '54000', 
'Customer_Phone' => '--', 
'Customer_Bank_ID' => '111111118' 
'Customer_Bank_Account' => '123456789' 
'Account_Type' => 'Business Checking' 
'Transaction_Type' => 'Debit' 
'Frequency' => 'Once' 
'Number_of_Payments' => 1, 
'Effective_Date'=> '12/05/2010', 
'Amount_per_Transaction' => '10.00', 
'Check_No'=> '', 
'Memo'=> '', 
'SECCType' => 'WEB' 
); 

$url = sprintf('%s?%s', $baseurl, http_build_query($params)); 

De cette façon http_build_query prendra soin de tous vos encodage URL et vous pouvez travailler avec un tableau avant la main si facile de voir ce qui se passe et ajouter/supprimer/modifier les paramètres. Par ailleurs, si sa demande de poste vous pouvez qu'exclusivement utiliser:

curl_setopt($ch, CURLOPT_POSTFIELDS, $params);

qui prendra soin de tout le codage des paramètres et ce ne sont pas directement à partir du tableau de cette façon ils ne doivent être joint manuellement à la $url.

+0

Merci beaucoup, cela fonctionne. – Naeem

Questions connexes