2011-09-26 31 views
0

我会解释我的问题。我需要知道下面的步骤是否正确:使用php会话与AJAX(移动设备)

用户输入他们的登录信息,并将这些信息提交给php服务器。如果这些都是正确的,我想用php代码来开始一个会话。但是,因为这是一个移动设备,我将使用html5会话存储。现在,我的手机网站全部基于ajax,无需重新加载页面。所以如果用户提交正确的登录凭证,我会向用户发送一个ajax响应,并提供哪些信息? session_start的SID/session_id?然后,在移动设备上,我将此session_id放入html5会话存储中?

因此,如果这些步骤是正确的,那么当用户在网站周围导航时,他们现在已经登录。如果他们想要做某些事情,例如访问一个私人页面,这将创建一个Ajax请求到PHP服务器......这是我卡住的地方。我假设在这个ajax请求中,我从html5会话存储对象发送session_id,那么php服务器如何使用此id来证明用户是真实的?大概我需要某种if语句,如果它不满意,发送一个ajax响应,我的JavaScript将解释为将用户重定向回登录屏幕。

非常感谢如果有人能帮助我,我将非常感谢,因为我很困难。

注意cookie不是一个选项...

+1

为什么使用cookie不是一个选项?所有主要网站都使用cookies。为什么有必要使用HTML5本地存储来模拟会话cookie的功能(这肯定是*可能*,但是......很难) –

+0

由于该网站是为移动设备设计的,而不是页面刷新,因此存在ajax请求...整个网站都没有页面刷新。是否有其他方法可以完成我上面概述的内容而不是使用html5会话存储对象? –

+1

Pekka是完全正确的。如果你遵循自己的计划,最终你会做一样的会话cookie可以为你做的。你为什么想要这个“努力工作”? – Marco

回答

1

理论上你就可以使用HTML5本地存储来存储会话ID,或发送会话ID为每个请求GET参数,并使用手动把它传递给PHP session_id(),但我看不到效益。你可能还需要依赖cookies来做这件事 - 他们在Ajax请求中传输。

+0

谢谢。我认为cookie不会在Ajax请求中传输。 –