【问题标题】:How to use a PHP variable as an URL for an iframe element如何使用 PHP 变量作为 iframe 元素的 URL
【发布时间】:2014-05-04 00:10:45
【问题描述】:

我对 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,以便删除原始域,并且只有您输入的 URL 位于 iframe URL 中。那没有用。我该如何解决这个问题?

【问题讨论】:

    标签: php forms url iframe


    【解决方案1】:

    只需检查 URL 是否有“http://”然后继续
    否则在您的脚本中添加一个“http://”

    <!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>
    

    【讨论】:

    • 这适用于某些网站,但不是全部。不工作的网站(例如 Google 或 YouTube)是否会阻止这一点?谢谢顺便说一句!
    • 您的权利。 Google 有 SSL (https://),因此您也必须检查这些 URL 并为每个地址单独处理。 Youtube 与 http:// 一起工作,但不知何故不显示。 -> 我认为 YouTube 会有一个解释。 --> 抱歉没有更好的解决方案
    【解决方案2】:

    只要您输入的内容类似于“google.com”,iFrame 就会在您的当前目录中查找名为“google.com”的文件

    【讨论】:

      猜你喜欢
      • 2017-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-18
      • 1970-01-01
      • 1970-01-01
      • 2013-04-11
      • 2023-04-10
      相关资源
      最近更新 更多