【问题标题】:Passing a url from one php file to another将 url 从一个 php 文件传递​​到另一个
【发布时间】:2012-12-10 15:43:36
【问题描述】:

我有一个搜索功能,可以搜索 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。你知道我该怎么办吗?

【问题讨论】:

  • $video_id['v']上使用urlencode()
  • $video_id['v'] 括在 PHP 标记中并回显它。

标签: php


【解决方案1】:

在你的 search.php 中

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

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

【讨论】:

  • 究竟是什么不起作用。您在 HTML 中看到了什么?
  • 点击链接看video.php时,浏览器中的url是什么?也许$video_id['v'] 没有任何价值。
  • 它有一个值,它实际上保存了 youtube 中视频的 id。每个视频的 id 都不同。
  • 您可以在链接之前执行var_dump($video_id); 并使用输出更新您的问题吗?
【解决方案2】:
$url = sprintf('video.php?var=%s', $video_id['v']);
<a href="<?php echo $url; ?>">Data link</a>

【讨论】:

  • 但这并不能解决 OP 的问题,是吗?
【解决方案3】:

你有$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)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-10
    相关资源
    最近更新 更多