Jump to content
Sign in to follow this  
mastura

store getclient api into localhost database.

Recommended Posts

Hi everyone.. need some guide here . is there anything wrong with my code to store getclient data into my localhost database.

 

<?php $whmcsUrl = "https://domain.com/";

// For WHMCS 7.2 and later, we recommend using an API Authentication Credential pair.
// Learn more at http://docs.whmcs.com/API_Authentication_Credentials
// Prior to WHMCS 7.2, an admin username and md5 hash of the admin password may be used.
$username = "xxxxxxxxxxxxxxxxxx";
$password = "yyyyyyyyyyyyyyyyy";

// Set post values
$postfields = array(
    'username' => $username,
    'password' => $password,
    'action' => 'GetClients',
    'responsetype' => 'json',
);

// Call the API
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $whmcsUrl . 'includes/api.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postfields));
$response = curl_exec($ch);
if (curl_error($ch)) {
    die('Unable to connect: ' . curl_errno($ch) . ' - ' . curl_error($ch));
}
curl_close($ch);

// Decode response
$jsonData = json_decode($response,true);

    
$clients = $jsonData['clients']['client'];
 foreach ($clients as $client) {                       
    foreach($client as $key => $value){
        
        $firstname = $key => $value['firstname'];
    $companyname = $key => $value['companyname'];
        
        
$sql = "INSERT INTO members ( `firstname`, `companyname`) VALUES ('$firstname', '$companyname')";
	$query = $connect->query($sql);


if ($connect->query($sql) === TRUE) {
    echo "New record created successfully"."<br>";
} else {
    echo "Error: " . $sql . "<br>" . $connect->error."<br>";
}

}
 }

 

Really need this to be done asap..
please help me..
thank you

Share this post


Link to post
Share on other sites

You aren't escaping your input, even though it is coming from a WHMCS install, but that is up to you.  I presume $connect is declared above this code and is a valid?  If it is, not seeing any issues right off.  What issues are you having? 

Share this post


Link to post
Share on other sites
6 hours ago, steven99 said:

You aren't escaping your input, even though it is coming from a WHMCS install, but that is up to you.  I presume $connect is declared above this code and is a valid?  If it is, not seeing any issues right off.  What issues are you having? 

now i have succesfully stored the api data to my localhost database. but the data is duplicated once i refresh the page.
Not sure what is happening.
Can you please take a look on the code.

 

// Decode response
$jsonData = json_decode($response,true);


//store client data in db
$clients = $jsonData['clients']['client'];

 foreach ($clients as $client) {      
     $firstname = $companyname = $email = '';
    foreach($client as $key => $value){
        switch($key){
            case 'firstname': $firstname = $value;
                break;
            case 'companyname': $companyname = $value;
                break;
                case 'email': $email = $value;
                break;
        }
    }
             if($firstname && $companyname && $email){
        
        $sql = "INSERT INTO members ( `firstname`, `companyname`, `email`) VALUES ('$firstname', '$companyname', '$email');";
	$query = $connect->query($sql);}


if ($connect->query($sql) === TRUE) {
    echo "New record created successfully"."<br>";
} else {
    echo "Error: " . $sql . "<br>" . $connect->error."<br>";
}
 }

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use & Guidelines and understand your posts will initially be pre-moderated