问题是当引用者不为空时我仍然得到链接而不是图像。
<?php
if($_SERVER['HTTP_REFERER'] != " "){
$goodreferer = 0;
}
else {
$goodreferer = 1;
}
$image = 'http://www.example.com/imglink.gif';
$url = 'http://example.net/';
if ($show = 1 && $goodreferer = 1) {
header("Location: ".$url);
}
else {
header("Location: ".$image);
exit;
}
?>
答案 0 :(得分:3)
您要为变量赋值,而不是比较。
=
表示分配,$variable = 5
表示变量现在等于五。==
表示比较,$variable == 5
将返回变量是否等于五。此外,PHP还有一个内置函数来检查字符串的空白。 empty()
。
所以修正后的版本:
<?php
if (!empty($_SERVER['HTTP_REFERER'])) {
$goodreferer = 0;
}
else {
$goodreferer = 1;
}
$image = 'http://www.imglink.gif';
$url = 'http://link.com';
if ($show == 1 && $goodreferer == 1) {
header("Location: " . $url);
}
else {
header("Location: " . $image);
exit;
}
答案 1 :(得分:0)
将$_SERVER['HTTP_REFERER'] != " "
替换为!isset($_SERVER['HTTP_REFERER'])
也可以使用$show == 1 && $goodreferer == 1
作为马达拉指出。