一个 PHP 网站,它根据用户单击创建页面


a php site that creates a page based on a users click

我什至不是100%确定如何问这个问题,但我会尽力而为...

所以,拿YouTube来说吧。你有这个:

URL/watch?v=Video_URL_Here

在此视频中,您决定单击右侧相关视频中的视频。执行此操作时,页面会刷新,并立即跳转到该视频。

我有一个基本概念:

> Create a variable.
    $var;
> User: *Clicks First Video*
    $var = Video_One;  // Pulls from mySQL-DB
> Open a new page (ex: URL/watch?v=Video_ONE)
     PHP: >Creates a whole new page for the video.<
> User: *clicks new video*
    $var = Video_Two;
> Open a new page (ex: URL/watch?v=Video_TWO)
     PHP: >Working more magic.<

但是,我实际上很难做到这一点。

谁能指出我正确的方向或解释它是如何工作的?

将不胜感激。

YouTube的工作方式是使用$_GET变量。这就是?v=。它采用v变量,并在数据库中检查具有该视频 ID 的视频。他们创建新页面的方式是获取与 url 中传递的 id 对应的每个值,然后将该数据放入每个页面部分中。

让我用一个非常笼统和过于简化的例子来回答

实际上,不仅仅是有一个独特的"$var",每次点击视频时都会发生变化(在您的示例中(,它更像是页面已经知道每个链接(或点击(的去向,也就是说,每个视频已经有一个链接关联,与相应的 URL。

所有这些都是在页面加载之前完成的。(之后有办法做到,但那是另一回事(。

举个简单的例子(它可能不完全是youtube的工作方式,这只是一个例子(

假设您将每个视频的名称、描述、评级等存储在数据库表上。

例如

video1name, url1, description1, etc1
video2name, url2, description2, etc2
video3name, url3, description3, etc3

还假设每个视频已经将相关视频存储在某个地方(视频将显示在右侧((想象一下它们在同一个表中,每个视频都有自己的"相关视频"。

因此,当通过 PHP(在本例中(将页面放在一起时,代码所做的是从数据库中读取数据,这样它就会知道它将"绘制"什么,此时,它将此类数据存储在变量中,并使用这些 vairables,它准备使用这些数据构建页面。

想象一下,你说"我在这里需要 5 个视频,这些视频是这个,这个另一个......等等"因此,php 将从数据库中读取这 5 个视频信息,并且知道它们的数据,它已经"知道"每个视频的特定 URL 是什么。

它只需要为每个视频构建链接,每个视频都有其特定的URL。

例如

[some html]
...
<a href="myvid1url" > ...</a>
<a href="myvid2url" > ...</a>
<a href="myvid2url" > ...</a>
...
[the rest of html]

PHP唯一要做的就是根据这些数据动态创建HTML,一旦完成,它就会将其发送到浏览器,浏览器只需要"绘制"纯HTML,所有这些都已经填充了每个部分的特定URL,名称等。

这是一个非常笼统的例子,但我希望你明白这个想法。

最重要的部分是要了解,大多数时候,页面在显示之前就已经"构建"了,一旦加载,它们就已经"知道"当您单击某处时该怎么做,等等。

当然,你可以使用javascript,ajax等添加交互式功能,这可能会改变已经加载的页面,但这是另一个概念。

我认为您应该首先告诉我们您的编程经验是什么,或者如果您只制作了简单的htmls页面或其他内容,以便我们为您提供更好的建议。

玩得愉快!

您可以使用

JQuery并在框架,iframe,div,表格,新窗口等中加载第二个视频(当然,取决于数据源(

外部来源(取决于(jQuery 将外部页面(跨域(加载到 Div 元素中

本地内容源使用 jQuery 将 HTML 页面动态加载到div 中

对于外部数据加载,您可以获得所有创意并运行 curl 以在本地保存数据,解析它以获得您需要的内容,然后在本地提供服务