【发布时间】:2011-06-10 10:25:35
【问题描述】:
我有以下网店设置: 当用户登录时,通过 AJAX 调用脚本,该脚本根据 SOAP-Webservice 验证用户数据 并返回用户数据。当用户登录时,用户数据保存在 PHP Session 中。用户数据 仅由 SOAP 检索而不由商店存储。我使用默认的 PHP 会话处理程序。 当用户下订单时,会向用户的地址发送一封确认电子邮件。 网站流量适中,每天100单左右。
我有以下错误: 大约每三个月一次,一封电子邮件被发送到错误的地址。来自会话中的其他数据 电子邮件正文(ex.customerNo)是正确的,但显然电子邮件地址的值是错误的。
这是我目前发现的: 每次发生这种情况时,地址混淆的用户都会在完全相同的时间(+- 2 秒)登录。 我尝试通过同时登录两个不同的用户来重现此问题,但未成功 比较 Session 数据。
假设从 SOAP-Webservice 返回的数据是正确的,什么会导致这个问题?
编辑:这里是用于写入和读取 Session 和电子邮件位的代码 sn-ps 代码脱离上下文,我在两者之间省略了位:
EDIT2:删除了代码 sn-ps,因为问题原来是调用以检索电子邮件数据的 SOAP-Service 实现中的缓存错误。
【问题讨论】:
-
如果不看一些代码,尤其是电子邮件位,这可能很难判断...
-
没有实际代码很难说。您在会话中究竟是如何设置数据的,电子邮件部分是什么样的,您是否尝试过记录数据,以便弄清楚?
-
我添加了用于编写阅读会话和电子邮件发件人的代码。