这是我第一次在这里发帖! :) 我已经制作了一个php许可证生成和验证系统。服务器端与mysql数据库通信并输出如下的json结果:
{"有效":"真""信息" {" ID":" 1&#34 ;, "到期":" 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!");
}
?>
当我运行时,我得到&#34;有效&#34;每次,即使我输入错误的密钥 - 我已经尝试打印输出,我可以确认。
请告知。
感谢。
答案 0 :(得分:2)
您的JSON包含字符串true,而不是布尔值true。 其中的任何字符串都会传递== true
。
if($result['valid'] == 'true'){