Php 购物车和会话ID

Php 购物车和会话ID,php,Php,我尝试执行购物车。开始时,我将所选产品保存在阵列会话中 而客户订单尚未完成。 但是,我的工作并不完美,因为我没有使用会话ID,也没有插入选定的产品 到数据库,因此我无法管理会话。 现在,我想改进我的代码,为每个客户获得一个唯一的sessionID。 我在本期中看到了更多示例,在此我想知道使用哪种更好: //session_id($_GET['PHPSESSID']); session_start(); $session_id=session_id('PHPSESSID'); -或 sessio

我尝试执行购物车。开始时,我将所选产品保存在阵列会话中 而客户订单尚未完成。 但是,我的工作并不完美,因为我没有使用会话ID,也没有插入选定的产品 到数据库,因此我无法管理会话。 现在,我想改进我的代码,为每个客户获得一个唯一的sessionID。 我在本期中看到了更多示例,在此我想知道使用哪种更好:

//session_id($_GET['PHPSESSID']); session_start();
$session_id=session_id('PHPSESSID');
-或

session_start();
$sessionID = $_COOKIE['PHPSESSID'];
然后,我将把所选产品保存到db width这个$session\u id

注意,我使用一种简单的方法来完成客户订单并存储所选的 通过客户电子邮件验证将项目发送至db。客户验证其电子邮件后 我想回到他/她可以更新购物车项目或继续购物的页面。 下面介绍如何获取$session\u id以成功完成此操作。
请在本期中为我提供指导。谢谢。他们都应该返回相同的内容,只是两种不同的引用方式而已。尽管我建议不要根据会话id为用户设置密钥,因为用户可以随时删除cookie(存储id的位置),或者cookie可能会过期,然后您必须创建一个全新的用户,这将导致您每次都丢失所有记录。我建议根据数据库中的主键为您的用户键入密钥。

他们都应该返回相同的内容—只是引用它的两种不同方式而已。尽管我建议不要根据会话id为用户设置密钥,因为用户可以随时删除cookie(存储id的位置),或者cookie可能会过期,然后您必须创建一个全新的用户,这将导致您每次都丢失所有记录。我建议根据数据库中的主键为您的用户键入密钥。

他们都应该返回相同的内容—只是引用它的两种不同方式而已。尽管我建议不要根据会话id为用户设置密钥,因为用户可以随时删除cookie(存储id的位置),或者cookie可能会过期,然后您必须创建一个全新的用户,这将导致您每次都丢失所有记录。我建议根据数据库中的主键为您的用户键入密钥。

他们都应该返回相同的内容—只是引用它的两种不同方式而已。尽管我建议不要根据会话id为用户设置密钥,因为用户可以随时删除cookie(存储id的位置),或者cookie可能会过期,然后您必须创建一个全新的用户,这将导致您每次都丢失所有记录。我建议根据数据库中的主键键入用户。

只需将会话id存储在cookie中,直到(例如2天)用户在电子邮件验证后返回站点,然后完成订单。

只需将会话id存储在cookie中,直到(例如2天)用户在电子邮件验证后返回站点,然后完成订单。

只需将会话id存储在cookie中,直到(例如2天)用户在电子邮件验证后返回站点,然后完成订单。

只需将会话id存储在cookie中,直到(例如2天)用户在电子邮件验证后返回站点,然后完成订单。

wat关于在$\u会话数组中存储对象ShoppingCart?wat关于在$\u会话数组中存储对象ShoppingCart?wat关于在$\u会话数组中存储对象ShoppingCart?wat关于在$\u会话数组中存储对象ShoppingCart?谢谢cujomalainey,如果我为每个会话提供一个主键,那么在电子邮件验证之后,要完成客户订单,我应该将该键与消息一起发送,然后当用户验证其电子邮件时,该键将传递回我的站点以显示账单订单,这是真的吗。另一个问题,-此密钥是由会话id('PHPSESSID')生成的还是由数据库自动生成的-一般来说,出于其他原因在这里使用session_id(“PHPSESSID”)很重要吗?就我个人而言,我从不使用PHPSESSID,我只是觉得它有很大的风险。通常我使用MySQL数据库中的主键。在执行查询时,只要值被转义,它们就安全了。MySQL还可以自动增加其字段,以确保具有唯一的ID。是的,它们可以存储在电子邮件中的链接中,但是有些人更喜欢使用令牌(比如当前时间的md5哈希)来放入他们的电子邮件链接以确保安全,因为这不能保证目标用户会收到它,但在你的网站上,这是因为他们刚刚通过身份验证。谢谢cujomalainey,如果我为每个会话提供一个主键,那么在电子邮件验证之后,要完成客户订单,我应该将该键与消息一起发送,然后当用户验证其电子邮件时,该键将传递回我的站点以显示账单订单,这是真的吗。另一个问题,-此密钥是由会话id('PHPSESSID')生成的还是由数据库自动生成的-一般来说,出于其他原因在这里使用session_id(“PHPSESSID”)很重要吗?就我个人而言,我从不使用PHPSESSID,我只是觉得它有很大的风险。通常我使用MySQL数据库中的主键。在执行查询时,只要值被转义,它们就安全了。MySQL还可以自动增加其字段,以确保具有唯一的ID。是的,它们可以存储在电子邮件中的链接中,但是有些人更喜欢使用令牌(比如当前时间的md5哈希)来放入他们的电子邮件链接以确保安全,因为这不能保证目标用户会收到它,但在你的网站上,这是因为他们刚刚通过身份验证。谢谢cujomalainey,如果我为每个会话提供一个主键,那么在电子邮件验证之后,要完成客户订单,我应该将该键与消息一起发送,然后当用户验证其电子邮件时,该键将传递回我的站点以显示账单订单,这是真的吗。另一个问题,-此密钥是由会话id('PHPSESSID')生成的还是由数据库自动生成的-一般来说,它重要吗