好的,所以我试图为facebook api输入一个动态元标记,一些奇怪的事情是幸福的。
这是我如何获得价值
$id = $_GET['id'];
$id = intval($id);
这是我输入的地方。
<meta property="og:url" content="http://blaze-craft.com/matt/gag.php?id=<?php echo $id ? >" />
<meta property="og:image" content="http://blaze-craft.com/matt/get.php?id=<?php echo $id ?>" />
但它总是将值输出为0,即使它不是0.当我在页面上的任何其他位置回显时它是否有效?
任何帮助都会非常感谢! :d
好的,我刚刚在源代码中看到它正在设置
<html>
<head>
<title>YourGag - Gag</title>
<meta property="og:title" content="MyGag - Gag" />
<meta property="og:type" content="activity" />
<meta property="og:url" content="http://blaze-craft.com/matt/gag.php?id=2" />
<meta property="og:image" content="http://blaze-craft.com/matt/get.php?id=2" />
<meta property="og:site_name" content="YourGag" />
<meta property="fb:admins" content="1254694731" />
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
但是当我使用facebook调试器时,它说有一个0而不是2!
严重奇怪!
答案 0 :(得分:1)
在尝试演员$_GET['id']
之前,您是否尝试调试int
的值?
根据文件(intval
):
返回值
成功时
var
的整数值,或失败时0
的整数值。空数组 返回0
,非空数组返回1
。
因此$_GET['id']
要么是空数组,要么不能作为整数值返回。
答案 1 :(得分:1)
一些事情:
$_GET['id']
变量?echo urlencode($id);
if (isset($_GET['id'])) {
echo "id is set: '".$_GET['id']."'";
}
else {
echo "id is not set";
}
只是为了看看发生了什么。
答案 2 :(得分:0)
使用intval()转换前,$ id的值是多少?来自intval的返回值0告诉您$ id不是传递给函数的有效标量值。它是一个对象,一个数组或一些其他值导致它失败。
作为替代方案,您可以尝试:
$id = (int)$id;