php curl 结果无效
php curl result is invalid
这是我第一次在这里发帖! :)
我做了一个 php 许可证生成和验证系统。服务器端与mysql数据库通信,输出json结果如下:
{"valid":"true","info":{"id":"1","expire":"1421811123"}}
问题出在我有以下脚本的客户端服务器上:
<?php
$key_info['key'] = "KEY"];
$serverurl = "http://URLTOSERVER";
$ch = curl_init ($serverurl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt ($ch, CURLOPT_POST, true);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $key_info);
$result = curl_exec ($ch);
$result = json_decode($result, true);
if($result['valid'] == true){
echo "valid";
}
else {
die("Invalid Key!");
}
?>
当我 运行 这个我每次都得到 "valid",即使我输入了错误的密钥 - 我已经尝试打印输出并且我可以确认。
请指教
谢谢。
您的 JSON 包含一个字符串 true,而不是布尔值 true。 那里的任何字符串都会通过== true
。
if($result['valid'] == 'true'){
这是我第一次在这里发帖! :) 我做了一个 php 许可证生成和验证系统。服务器端与mysql数据库通信,输出json结果如下:
{"valid":"true","info":{"id":"1","expire":"1421811123"}}
问题出在我有以下脚本的客户端服务器上:
<?php
$key_info['key'] = "KEY"];
$serverurl = "http://URLTOSERVER";
$ch = curl_init ($serverurl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt ($ch, CURLOPT_POST, true);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $key_info);
$result = curl_exec ($ch);
$result = json_decode($result, true);
if($result['valid'] == true){
echo "valid";
}
else {
die("Invalid Key!");
}
?>
当我 运行 这个我每次都得到 "valid",即使我输入了错误的密钥 - 我已经尝试打印输出并且我可以确认。
请指教
谢谢。
您的 JSON 包含一个字符串 true,而不是布尔值 true。 那里的任何字符串都会通过== true
。
if($result['valid'] == 'true'){