Wordpress & PHP sessions

时间:2012-06-20 作者:user1370288

我正在使用一个名为WP events manager的插件,我想添加自定义功能,以便每个事件都可以“添加”到“篮子”中,然后最终用户可以“签出”并注册这些事件。

我认为这是通过在用户单击add-in PHP sessions时存储事件ID来实现的,然后在签出时使用您在签出时输入的信息循环查看项目。

我是PHP会话新手,不知道如何在点击按钮时存储ID,然后在最后循环它们,如果有人知道这一点,或者知道任何相关文章,我将非常感激,通过谷歌搜索将我发送到雷区的主题。

干杯

1 个回复
最合适的回答,由SO网友:HungryCoder 整理而成

它相对简单。我给你讲了几步。

用户访问您的站点并在活动中点击“添加到购物篮”。您需要将此数据发送到服务器(正如您希望存储在php会话中一样)。您可以同步或异步(ajax)提交表单(为简单起见)。您需要向URL提交一个表单,在URL中它将订单信息存储(临时/永久)到您的系统中。例如,您的“addtobasket”。php’处理订单。因此,形式可能如下所示:

<form action="/addtobasket.php" method="post">
<input type="hidden" name="event_id" value="101" />
<input type="submit" name="Add to Basket" />
</form>
theaddtobasket.php 现在使用以下代码将顺序存储在会话中:

<?php
session_start();
$_SESSION[\'event_orders\'][] = $_POST[\'event_id\'];
?>
在会话中存储数据后,您应该将用户重定向到您想要的位置(可能是他/她所在的位置)。在签出页面中(例如checkout.php) 您可以获取已订购(添加到购物篮)的所有事件id。

<?php
session_start();
foreach($_SESSION[\'event_orders\'] AS $event_id){
echo \'Your ordered event ID is: \' .$event_id;
}
在第4行中,您将获得事件ID。现在您可以从存储中获取事件详细信息,显示事件信息并执行其余步骤。

然而,上述代码是最低限度的代码。在您的实现中,您将需要许多其他代码,包括数据清理。

下面的链接很旧,但肯定能给你一些想法:http://v3.thewatchmakerproject.com/journal/276/

有关php会话的详细信息:http://au.php.net/manual/en/session.examples.basic.phphttp://www.phpriot.com/articles/intro-php-sessions

您还可以在客户端存储订单信息(cookie、html5会话存储),直到用户决定签出为止。在签出期间,您可以将数据发送到服务器并存储它们。

结束

相关推荐

包含不起作用,得到奇怪的路径:(/usr/local/php53/lib/php)-怎么了?(WPAlChemy)

我正在使用WPAlchemy,它是创建metabox的助手类。我正试图通过我的职能将其包括在内。但是当我将WP\\u Debug设置为true时,我会遇到奇怪的错误。出于某种原因,Wordpress在url中包含了很多不应该包含的内容,这是我收到的警告。Warning: include_once(/customers/d/d/4/mydomain.com/httpd.www/nysida/wp-content/themes/aaa/WPAlchemy/MetaBox.php): failed to ope