我为Wordpress安装了一个插件(use PHP in posts),但我遇到了一些问题。
这是我的代码(虽然我认为不是问题)
$usertoget = $_GET['player'];
$partone = "http://website.co.uk/path/to/php/file.php";
if(strlen($usertoget) != 0) {
$parttwo = "&player=";
$partthree = $usertoget;
$finalurl = $partone . $parttwo . $partthree;
print '<iframe src="$finalurl"></iframe>';
}
else {
print "<iframe src='/path/file.php'>";
}
iframe
完美打印并执行目标文件应该是什么,但正如您从此图片中看到的那样,会弄乱格式化:
我注意到页面源完成了iframe
,除了关闭(</body></html>
)之外什么也没做。之后有很多东西会出现但不会出现。
另一个问题是,使用GET
次请求(/page/hello?player=9
和/page/hello/?player=9
)会返回404.有哪些方法可以解决此问题?
有人知道如何解决这个问题吗?如果需要,我可以发布更多代码:)
任何帮助将不胜感激:D谢谢!
答案 0 :(得分:0)
如果PHP突然停止发送预期输出,通常意味着存在PHP错误。你的日志中有什么东西吗?你试过turning WP_DEBUG on吗?
我很惊讶你说iframe打印得很完美。这一行
print '<iframe src="$finalurl"></iframe>';
对我来说看起来不对(虽然它不会导致PHP出错)。如果字符串周围有单引号,则不会计算变量。有关详细信息,请参阅this question。
答案 1 :(得分:0)
你错误地连接$ finalurl。你可以检查你的html它打印$ finalurl变量,因为它是。它没有输出它的值。我检查了它。所以你只需要连接$ finalurl变量正确。这是你纠正的代码。
$usertoget = $_GET['player'];
$partone = "http://website.co.uk/path/to/php/file.php";
if(strlen($usertoget) != 0) {
$parttwo = "&player=";
$partthree = $usertoget;
$finalurl = $partone . $parttwo . $partthree;
print '<iframe src='.$finalurl.'></iframe>';
}
else {
print "<iframe src='/path/file.php'>";
}
如果您有任何疑问,请发表评论。