欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php QQ登录 session['state'] 一直找不到 求解,该如何处理

程序员文章站 2022-04-27 08:09:12
...
php QQ登录 session['state'] 一直找不到 求解
易联主机的虚拟空间(不知道跟这个有没有关系)

使用QQsdk php 做QQ登录
按照步骤设置config和session文件
结束只有一个





//session.php 代码


/**
* PHP SDK for QQ登录 OpenAPI
*
* @version 1.2
* @author [email protected]
* @copyright © 2011, Tencent Corporation. All rights reserved.
*/

/**
* @brief 设置session配置
*/

/**
* CREATE TABLE `tbl_session` (
* `session_id` varchar(255) binary NOT NULL default '',
* `session_expires` int(10) unsigned NOT NULL default '0',
* `session_data` text,
* PRIMARY KEY (`session_id`)
* ) ENGINE=MyISAM;
*/

class Session
{
//mysql的主机地址
const db_host = "localhost"; //需要第三方指定ip地址

//数据库用户名
const db_user = "ibrat"; //需要第三方指定自己的用户名

//数据库密码
const db_pwd = "ibrat"; //需要第三方指定自己的库据库密码

//数据库
const db_name = "ibrat"; //需要第三方指定数据库

//数据库表
const db_table = "ghb_session"; //需要第三方指定数据表

//mysql-handle
private $db_handle;

//session-lifetime
private $lifeTime;

function open($savePath, $sessName)
{
// get session-lifetime
$this->lifeTime = get_cfg_var("session.gc_maxlifetime");

// open database-connection
$db_handle = @mysql_connect(self::db_host, self::db_user, self::db_pwd);

$dbSel = @mysql_select_db(self::db_name, $db_handle);

// return success
if(!$db_handle || !$dbSel)
return false;

$this->db_handle = $db_handle;
return true;
}

function close()
{
$this->gc(ini_get('session.gc_maxlifetime'));
// close database-connection
return @mysql_close($this->db_handle);
}

function read($sessID)
{
// fetch session-data
$res = @mysql_query("SELECT session_data AS d FROM ".self::db_table."
WHERE session_id = '$sessID'
AND session_expires > ".time(), $this->db_handle);

// return data or an empty string at failure
if($row = @mysql_fetch_assoc($res))
return $row['d'];

return "";
}

function write($sessID, $sessData)
{
// new session-expire-time
$newExp = time() + $this->lifeTime;

// is a session with this id in the database?
$res = @mysql_query("SELECT * FROM ".self::db_table."
WHERE session_id = '$sessID'", $this->db_handle);

// if yes,
if(@mysql_num_rows($res))
{
// ...update session-data
@mysql_query("UPDATE ".self::db_table."
SET session_expires = '$newExp',
session_data = '$sessData'
WHERE session_id = '$sessID'", $this->db_handle);

// if something happened, return true
if(@mysql_affected_rows($this->db_handle))
return true;
}
else // if no session-data was found,
php QQ登录 session['state'] 一直找不到 求解,该如何处理

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频