1

我正在使用 cakephp。最近我在会话中保存数据时遇到了问题。我创建了登录页面,它将向控制器/操作发送值。它会像这样接收。

function ajaxCall() {
            $this->autoRender = false;
            $this->layout = 'ajax';
            $arrData = $this->params['url'];

            if(!empty($arrData)){
                if($arrData['submit']=='Y'){
                    $userObj = new Api(); // create an instance of the user class
                    $userInfo = $userObj->login($arrData['email'],$arrData['password']); // call the api login user methods
                    $xml = simplexml_load_string($userInfo);
                    $userId = $xml->message->id;
                    if($userId != "0" && $userId != ""){
                        $this->setCurrentUserId($userId);
                        echo "success";
                    }
                    else{
                        echo "no"; 

                    }
                }  
            }
        }

public function setCurrentUserId($userId)
        {

            //Is session alive 
            //if not then redirect to session time out page
            //session_start();
            //session_register("");
            if($userId == 419 || $userId == 423){
                $userId1 = $this->Session->write('userId', $userId);
                }else{
                $userId1 = $this->Session->write('userId', $userId);
            }

            return $userId1;
        }

我的控制器还包含这些行以包括帮助程序、组件

    public $components = array('Session');
    public $helpers = array('Html','Session');

在 core.php 文件中,我将会话设置为-

Configure::write('Session', array(
    'defaults' => 'php', 'ini' => array('session.auto_start' => 1)
));

请帮助我,因为我无法在会话中保存 userId

谢谢

4

1 回答 1

1

在互联网上,您可以找到 CakePHP 食谱来创建具有身份验证和授权的简单应用程序:book.cakephp.org

在这里,您可以找到非常简单的示例,说明如何使用 CakePHP 的内置 Auth 对象通过登录操作创建用户控制器、用户模型和登录视图等 - 无需编写整个登录逻辑 - Auth 对象将为您完成大部分工作。

希望你会喜欢它!

于 2012-06-19T08:59:25.540 回答