Here are the codes:
<?php
class General{
#to verify user password with api
public static function verifyUser($user,$pswd){
#url
$url = 'https://api.hp.upm.edu.my/cron/request/verify.php';
# initiate cur
$ch = curl_init($url);
# create json data
$jsonData = array(
'jtoken' => "test123",
'id' => "$user",
'pass'=> "$pswd"
);
#Encode the array into JSON.
$jsonDataEncoded = json_encode($jsonData);
#Tell cURL that we want to send a POST request.
curl_setopt($ch, CURLOPT_POST, 1);
#Attach our encoded JSON string to the POST fields.
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonDataEncoded);
#Set the content type to application/json
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
#Execute the request
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
}
?>
The passed data are username and password, identified by $user and $pswd respectively
The problem is, the end result should return something.
But I found it empty, after checking.
So, what I learned so far are:
I checked the user and password, they are all intact
when I print $ch during "initiate cur", it prints something
- However, when I printed $result after curl_exec, it is empty.
What do I do? Where is my mistake? Is it the problem of the api url or soemthing else? Please, I need your help
Edit:
- Someone suggested that using json_decode will help with this. But, I have already implemented json_decode, after $result is returned.
$result = General::verifyUser($_POST['user'], $_POST['pass']);
$obj = json_decode($result, true);
Above is the method call that passes the username and password to the "General" class.
- I have printed curl_error for $ch and it says:
"Could not resolve host: api.hp.upm.edu.my"