如何在会话中保存值?

时间:2012-06-19 06:37:38

标签: php cakephp

我正在使用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

由于

1 个答案:

答案 0 :(得分:1)

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

这里你可以找到一个非常简单的例子,介绍如何使用CakePHP内置的Auth对象创建用户控件,用户模型和登录视图等登录操作 - 无需编写整个登录逻辑 - Auth对象将为您做最多的事情

希望你会喜欢它!