将URL从一个php文件传递到另一个php文件

时间:2012-12-10 15:43:36

标签: php

我有一个搜索功能,搜索youtube视频并在我的首页上显示。就像YouTube我希望在我的网站上有另一个页面,这样当他们点击视频时,它会将他们带到一个新页面并在那里显示视频 - 仍然是我网站的一部分。

我有一个search.php,您可以在其中进行搜索,还有一个video.php,您可以在其中观看视频。

我在我的video.php上有这个:

    <a href='video.php?var=$video_id['v']'>Data link</a>

$ video_id ['v'] =包含youtube页面的网址。

在我的video.php上我有:

    <?php
      echo $_GET['var'];
    ?>

var的值等于“var”。不是我想要的URL。你知道我该怎么办吗?

3 个答案:

答案 0 :(得分:3)

在你的search.php中

echo "<a href='video.php?var=".urlencode($video_id['v'])."'>Data link</a>";

这样您就可以将完整的网址(包括其他&amp;和?)作为变量添加到网址中。

答案 1 :(得分:1)

$url = sprintf('video.php?var=%s', $video_id['v']);
<a href="<?php echo $url; ?>">Data link</a>

答案 2 :(得分:1)

您拥有的页面$video_id['v'],即search.php,请先检查一下,看看它是否达到了预期值,然后再查看video.php

你会怎么做: 就在该锚标记之前,print_r($video_id['v'])print_r是PHP中的调试函数

现在我保持你所拥有的风格和所需的修正。你犯了一些错误。我在下面解释。

    <a href="video.php?var=<?php echo urlencode($video_id['v'])?>">Data link</a>
  1. HTML属性,即href应该以双引号提供值,而不是单引号。
  2. 您没有保留引号的封闭内容。两个单引号相互碰撞,然后断开。
  3. 在纯HTML内部,您使用了不会被解析的PHP变量。
  4. 即使你有PHP,你也使用单引号来解析变量。
  5. 需要对网址进行编码以通过网址(即$ _GET)。