我不太了解javascript。我有一个LIKE按钮。
<a href="" onClick="begen(<?php echo $post->ID; ?>); return false;">LIKE</a>
和
function begen(id)
{
$.ajax({
type:"POST",
url:"begen.php",
data:"id="+id,
cache:false
});
}
begen()将帖子的id发送到begen.php作为POST标头。
我正在begen.php中使用is_integer()
进行检查以确保安全性
if(!is_integer($_POST["id"]))
die("It's not an integer");
当我测试它时,begen(3)返回“它不是整数”。我不确定为什么它(3)不是整数。
http://forum.jquery.com/topic/ajax-sending-json-data-with-boolean-value#14737000000976384:
HTTP is a text protocol with no concept of bools or ints, so everything needs to be stringified. The stringification of false is certainly not 0.
如果一切都是字符串,我怎么能确定id真的是 id
答案 0 :(得分:2)
所有GET
和POST
参数都以字符串的形式提供给您的脚本。你在寻找is_numeric
吗?
下次在发布此处之前阅读文档。
is_integer
的手册页说:
此功能是别名:
is_int()
。
is_int
的手册页说:
要测试变量是数字还是数字字符串(例如表单输入,始终是字符串),您必须使用
is_numeric()
。