将Movable Type变量从一个页面传递到另一个页面

时间:2011-07-28 03:20:25

标签: variables url get movabletype

我有相关网站的活动页面,其中每个活动的日期,时间,地点等都列在表格行中。请参阅here

每个事件实际上是Movable Type中的“条目”,时间,位置等是自定义字段。到目前为止一切都很好。现在,当用户点击rsvp时,我想将用户带到一个简单的rsvp表单。目前,我有一个rsvp.php?eid=..安排,其中事件ID在URL中传递。这是使用PHP将事件id从一个页面(events.php)传递到另一个页面(rsvp.php)的一种方法。当我尝试通过Movable Type访问此值时出现问题。因为首先处理Movable Type,所以在PHP服务器端之前,我无法查询Movable Type并输出事件信息(在rsvp.php上),以查找其ID列在URL中的事件。

基本上,当我从一个页面移动到另一个页面时,我需要一种方法来跟踪存储在Movable Type中的事件。

2 个答案:

答案 0 :(得分:0)

您也可以使用MT发布rsvp.php,并让它直接在PHP代码中发布包含所有事件信息的PHP数组,因此您只需在该数组中按ID查找事件并使用数据从那里。请注意,如果您计划同时进行大量事件(数百个或更多),则此解决方案不可行,因为列表将变得太大并且可能会降低rsvp.php的速度。

或者您可以为每个事件发布第二个条目存档,其中包含可预测的文件名,其中包含事件的ID。然后,第二个条目存档将包含一些PHP代码,这些代码将使用事件的信息设置一些变量。在rsvp.php中,您可以查看您传递的id并基于该php-include正确的文件。这样,rsvp.php将保持相同的大小。 (请注意检查传递的id的值,确保它是数字的,所有这些都是因为你不会被传递给你的“搞笑”id的人攻击,这会导致你的脚本包含恶意文件。)

披露:我是movabletips.com博客的作者。

答案 1 :(得分:0)

如果为每个事件创建一个数组包含给定的事件详细信息,Maarten上面提到的第一个方法就可以工作。

Maarten提到的第二种方法是,您可以为每个事件发布额外的“Entry”存档,假设您将每个事件创建为名为“Events”的部分中的条目。

当我查看您的网站时,我会假设您有一个“活动”部分,您将每个活动创建为一个条目然后您正在生成:

1)索引模板: http://www.weillcornell.org/prc/events.php

2)发布的个人模板说: http://www.weillcornell.org/prc/events/caring-for-our-feet.php

但是你可以创建一个额外的条目模板,它仍然为我上面调用的事件样本发布文件名,如“10006.php”,这个文件将包含事件数据作为数组。

然后,当您从以下位置调用事件预订时: http://www.weillcornell.org/prc/rsvp.php?eid=10006

实际上,您可以将'rsvp.php'文件设置为仅包含文件'10006,而不是将所有事件数组放在'rvsp.php'文件中,从而生成一个大的'rsvp.php'文件。 .php'并从单个事件数组中提取数据。

希望这能澄清它。