0

私はphp関数が初めてなので、ご容赦ください。これが私のコードです:

<?php

require('AuthnetCIM.class.php');

    $cim = new AuthnetCIM('26JspTq3A', '6S97jCdwS56P3rGs',AuthnetCIM::USE_DEVELOPMENT_SERVER);

function add_profile()
{

    // Create unique fake variables
    $email_address = 'user' . time() . '@domain.com';
    $description   = 'Monthly Membership No. ' . md5(uniqid(rand(), true));
    $customer_id   = substr(md5(uniqid(rand(), true)), 16, 16);

    // Create the profile
    $cim->setParameter('email', $email_address);
    $cim->setParameter('description', $description);
    $cim->setParameter('merchantCustomerId', $customer_id);
    $cim->createCustomerProfile();

    // Get the profile ID returned from the request
    if ($cim->isSuccessful())
    {
        $profile_id = $cim->getProfileID();
    }
    // Print the results of the request
    echo '<strong>createCustomerProfileRequest Response Summary:</strong> ' .$cim->getResponseSummary() . '';
    echo '<strong>Profile ID:</strong> ' . $profile_id . '';
}

add_profile()
?>

私の問題は次の行から始まります: $cim->setParameter('email', $email_address);

次のエラーが表示されます: 致命的なエラー: 非オブジェクトでメンバー関数 setParameter() を呼び出します

このコードは、関数内にない場合に機能することを知っています。これは次のステップにすぎません。私はこれに欠けている単純なものがあると確信しています。どんな助けでも大歓迎です。ありがとうございました。

4

2 に答える 2

0

add_profile関数では、次のいずれかが必要です。

  1. $cimオブジェクトを引数として渡します。また、
  2. 上部の関数内で$cim使用して、関数にグローバルを作成しますglobal $cim;

それ以外の場合は、現時点では範囲外です。

于 2013-07-02T18:51:05.920 に答える