我正在设置一个模拟服务,并尝试返回一些数据到我的回调页面以保存到数据库表中。
这是我用来发送模拟调用的代码:
我得到的只是这个奇怪的回复:
所以我们可以在这里看到我的数据,但是如何将其作为键值对来操作数据?任何指导都将不胜感激。
这是我用来发送模拟调用的代码:
function checkCallback(){
$ch = curl_init("remote.domain.com/callback.php");
$jsonData = [
"success" =>true,
"error" => null,
"response"=> [
"code"=>"ad3f0db2-62b6-4cf4-9027-14829d33cfd2",
"state"=>"my-secret-state-123456789"
]
];
$jsonDataEncoded = json_encode($jsonData);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonDataEncoded);
$result = curl_exec($ch);
var_dump($result);
echo $jsonDataEncoded;
curl_close($ch);
}
callback.php:
<?php
var_dump(get_defined_vars());
$un = 'username';
$pw = 'password';
$dsn = "mysql:host=localhost;port=3306;dbname=safelocal;charset=utf8";
$pdo_options = array(PDO::ATTR_EMULATE_PREPARES => false,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION);
$db = new PDO($dsn, $un, $pw, $pdo_options);
$updateUserData = $db->prepare('INSERT into `table` (`message`, `extra`) VALUES(:msg, :extra)');
$updateUserData->execute([
':msg' =>$_POST["response"],
':extra' => $_POST["code"]
]);
我得到的只是这个奇怪的回复:
myfile.php:77:string 'array(4) {
["_GET"]=>
array(0) {
}
["_POST"]=>
array(1) {
["{"success":true,"error":null,"response":{"code":"ad3f0db2-62b6-4cf4-9027-14829d33cfd2","state":"my-secret-state-123456789"}}"]=>
string(0) ""
}
["_COOKIE"]=>
array(0) {
}
["_FILES"]=>
array(0) {
}
}
' (length=291)
所以我们可以在这里看到我的数据,但是如何将其作为键值对来操作数据?任何指导都将不胜感激。
var_dump
,而不是任何数据库调用 ~ 尝试并查看在callback.php脚本中执行print_r( $_POST )
时会得到什么 - Professor Abronsius