当前位置: 首页>>代码示例>>PHP>>正文


PHP CHttpSession::regenerateID方法代码示例

本文整理汇总了PHP中CHttpSession::regenerateID方法的典型用法代码示例。如果您正苦于以下问题:PHP CHttpSession::regenerateID方法的具体用法?PHP CHttpSession::regenerateID怎么用?PHP CHttpSession::regenerateID使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CHttpSession的用法示例。


在下文中一共展示了CHttpSession::regenerateID方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: regenerateID

 /**
  * Updates the current session id with a newly generated one.
  * Please refer to {@link http://php.net/session_regenerate_id} for more details.
  * @param boolean $deleteOldSession Whether to delete the old associated session file or not.
  * @since 1.1.8
  */
 public function regenerateID($deleteOldSession = false)
 {
     $oldID = session_id();
     // if no session is started, there is nothing to regenerate
     if (empty($oldID)) {
         return;
     }
     parent::regenerateID(false);
     $newID = session_id();
     $db = $this->getDbConnection();
     $row = $db->{$this->sessionTableName}->findOne(array('id' => $oldID));
     if ($row) {
         // $row should either be a truey value or a falsey value
         if ($deleteOldSession) {
             $db->{$this->sessionTableName}->update(array('id' => $oldID), array('$set' => array('id' => $newID)));
         } else {
             unset($row['_id']);
             $row['id'] = $newID;
             $db->{$this->sessionTableName}->insert($row);
         }
     } else {
         // shouldn't reach here normally
         $db->{$this->sessionTableName}->insert(array('id' => $newID, 'expire' => time() + $this->getTimeout()));
     }
 }
开发者ID:pvassiliou,项目名称:MongoYii,代码行数:31,代码来源:EMongoSession.php

示例2: regenerateID

 /**
  * Updates the current session id with a newly generated one.
  * Please refer to {@link http://php.net/session_regenerate_id} for more details.
  * @param boolean $deleteOldSession Whether to delete the old associated session file or not.
  * @since 1.1.8
  */
 public function regenerateID($deleteOldSession = false)
 {
     $oldID = session_id();
     // if no session is started, there is nothing to regenerate
     if (empty($oldID)) {
         return;
     }
     parent::regenerateID(false);
     $newID = session_id();
     $db = $this->getDbConnection();
     $row = $db->createCommand()->select()->from($this->sessionTableName)->where('id=:id', array(':id' => $oldID))->queryRow();
     if ($row !== false) {
         if ($deleteOldSession) {
             $db->createCommand()->update($this->sessionTableName, array('id' => $newID), 'id=:oldID', array(':oldID' => $oldID));
         } else {
             $row['id'] = $newID;
             $db->createCommand()->insert($this->sessionTableName, $row);
         }
     } else {
         // shouldn't reach here normally
         $db->createCommand()->insert($this->sessionTableName, array('id' => $newID, 'expire' => time() + $this->getTimeout()));
     }
 }
开发者ID:pathman,项目名称:yii-basic,代码行数:29,代码来源:CDbHttpSession.php

示例3: regenerateID

 /**
  * Updates the current session id with a newly generated one .
  * Please refer to {@link http://php.net/session_regenerate_id} for more details.
  * @param boolean $deleteOldSession Whether to delete the old associated session file or not.
  * @since 1.1.8
  */
 public function regenerateID($deleteOldSession = false)
 {
     $oldID = session_id();
     parent::regenerateID(false);
     $newID = session_id();
     $db = $this->getDbConnection();
     $sql = "SELECT * FROM {$this->sessionTableName} WHERE id=:id";
     $row = $db->createCommand($sql)->bindValue(':id', $oldID)->queryRow();
     if ($row !== false) {
         if ($deleteOldSession) {
             $sql = "UPDATE {$this->sessionTableName} SET id=:newID WHERE id=:oldID";
             $db->createCommand($sql)->bindValue(':newID', $newID)->bindValue(':oldID', $oldID)->execute();
         } else {
             $row['id'] = $newID;
             $db->createCommand()->insert($this->sessionTableName, $row);
         }
     } else {
         // shouldn't reach here normally
         $db->createCommand()->insert($this->sessionTableName, array('id' => $newID, 'expire' => time() + $this->getTimeout()));
     }
 }
开发者ID:romeo14,项目名称:wallfeet,代码行数:27,代码来源:CDbHttpSession.php

示例4: regenerateID

 /**
  * Updates the current session id with a newly generated one.
  * Please refer to {@link http://php.net/session_regenerate_id} for more details.
  * @param boolean $deleteOldSession Whether to delete the old associated session file or not.
  * @since 1.1.8
  */
 public function regenerateID($deleteOldSession = false)
 {
     $oldId = session_id();
     parent::regenerateID(false);
     $newId = session_id();
     $row = $this->getData($oldId);
     if (is_null($row)) {
         $this->_collection->insert(array($this->idColumn => $newId, $this->expireColumn => $this->getExipireTime()), $this->_options);
     } else {
         if ($deleteOldSession) {
             $this->_collection->update(array($this->idColumn => $oldId), array($this->idColumn => $newId), $this->_options);
         } else {
             $row[$this->idColumn] = $newId;
             unset($row['_id']);
             $this->_collection->insert($row, $this->_options);
         }
     }
 }
开发者ID:phiphi1992,项目名称:alongaydep,代码行数:24,代码来源:EMongoHttpSession.php


注:本文中的CHttpSession::regenerateID方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。