如何使用PHP变量作为iframe元素的URL

时间:2014-05-04 00:10:46

标签: php forms url iframe

我是PHP的新手(在CodeAcademy学习它),我想使用iframe制作一个Web浏览器。这就是我到目前为止所做的:

<!DOCTYPE html>
<html>
<body>
<?php
$url = $_GET['url'];
print $url;
?>

<form name="input" method="get">
Url: <input type="text" name="url" action="<?php echo $url; ?>">
<input type="submit" value="Go">
</form>

<iframe src="<?php echo $url; ?>">
  <p>Your browser does not support iframes.</p>
</iframe>
</body>
</html>

上面的代码块是.php文件。我的问题是,iframe会导致我的域的URL删除您输入的URL。更好的解释is here

我尝试使用$partial = substr($url, x, y)并将 iframe 引导至echo $partial,以便原始域被删除,只有您输入的网址位于iframe网址中。那不行。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

只需检查网址是否为&#34; http://&#34;然后继续
否则添加一个&#34; http://&#34;通过你的脚本

<!DOCTYPE html>
<html>
<body>
<?php
$url = $_GET['url'];
print $url;
if (strpos($url,'http') === 0) { //found at position 0
    //ok
} else {

    if ((strpos($url,'google') === 0) or
       (strppos($url,'some.other.site1') === 0) or 
       (strppos($url,'some.other.site2') === 0))  // here all the knowns SSL - Sites (this can not be the ultimate solution)
    {
        $url = 'https://'.$url;
    } else {
        $url = 'http://'.$url;
    }

}
print '<br/>'.$url; 
?>

<form name="input" method="get">
Url: <input type="text" name="url" action="<?php echo $url; ?>">
<input type="submit" value="Go">
</form>

<iframe src="<?php echo $url; ?>">
  <p>Your browser does not support iframes.</p>
</iframe>
</body>
</html>

答案 1 :(得分:1)

每当您的输入类似于&#34; google.com&#34; iFrame将在您当前的目录中查找名为&#34; google.com&#34;的文件。