0

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

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

我的video.php上有这个:

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

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

在我的 video.php 上,我有:

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

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

4

3 回答 3

3

在你的 search.php

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

这将允许您将完整的 url(包括其他 & 和?)作为变量添加到 url。

于 2012-12-10T15:46:26.497 回答
1
$url = sprintf('video.php?var=%s', $video_id['v']);
<a href="<?php echo $url; ?>">Data link</a>
于 2012-12-10T15:46:19.947 回答
1

您拥有的页面$video_id['v'],即search.php,请先检查它以了解它是否获得所需的值,然后再检查video.php

你会怎么做:就在那个 Anchor 标记之前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. URL 需要经过编码才能通过 URL(即 $_GET)。
于 2012-12-10T16:17:34.847 回答