0

我将 LAMP 和 Zend 用于服务器端 Web 开发。在我的注册过程中,我有一个步骤,用户必须在提交注册表单后和获得他的私人用户页面之前通过。

表单验证后,用户获得一个会话并被重定向到“步骤 1”,然后是它的私人帐户。当 step1.php 调用时,它会检查该用户是否具有身份(Zend),如果是,则页面加载,如果没有,则用户将重定向到 login.php。

此过程在服务器(在线)上完美运行,但在本地用户会被重定向,就好像会话没有经过身份验证一样。

本地和在线服务器之间的代码完全相同,但在本地我无法获得会话。MySQL 工作正常。我注意到的是启用的 PHP 模块之间的差异。下面是执行代码和启用的 php 模块。

我错过了什么吗?谢谢!

验证正确后执行:

   $user = new Application_Model_User();
   $user_id = $user->register($data);
   $this->session_join->new = 1;
   if($user_id > 0){
      $user->id= $user_id;
      $user->load();
      $auth = Zend_Auth::getInstance();
      $this->_redirect('/user/step1/');

然后调用 step1:

    public function step1Action()
    {
      if(!Zend_Auth::getInstance()->hasIdentity()){
          $this->_redirect("/user/login");
      } else {
          do something and continue to user account page
      }
    }

Locally Loaded Modules: core mod_log_config mod_logio prefork http_core mod_so mod_alias mod_auth_basic mod_auth_mysql mod_authn_file mod_authz_default mod_authz_groupfile mod_authz_host mod_authz_user mod_autoindex mod_cgi mod_dav mod_dav_svn mod_authz_svn mod_deflate mod_dir mod_env mod_expires mod_mime mod_negotiation mod_php5 mod_reqtimeout mod_rewrite mod_setenvif mod_status

4

0 回答 0