ホームページ  >  記事  >  バックエンド開発  >  php QQログインセッション['state']が見つかりませんでした。

php QQログインセッション['state']が見つかりませんでした。

WBOY
WBOYオリジナル
2016-06-13 13:21:32960ブラウズ

php QQ ログインセッション ['state'] は解決策を見つけることができませんでした
Yilian ホストの仮想空間 (これと関係があるかどうかはわかりません)

QQsdk php を使用して、 QQ ログインを実行します
セットアップ手順に従います 設定ファイルとセッション ファイル
は 1 つの





//session.php コード
だけで終わります>

/**
* QQ登录 OpenAPI 用 PHP SDK
*
* @version 1.2
* @author connect@qq.com
* @copyright © 2011, Tencent Corporation.無断転載を禁じます。
 */

/**
* @brief セッション構成を設定します
*/

/**
* CREATE TABLE `tbl_session` (
* `session_id` varchar(255) binary NOT NULL デフォルト '',
* `session_expires` int(10) unsigned NOT NULL デフォルト '0',
* `session_data` テキスト,
* 主キー (`session_id`)
* ) ENGINE=MyISAM;
 */

class Session
{
//mysql のホストアドレス
const db_host = "localhost" //サードパーティに IP アドレスの指定が必要

//データベースユーザーname
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)
{
// セッションライフタイムを取得
$this->lifeTime = get_cfg_var("session.gc_maxlifetime") ;

// データベース接続を開きます
$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'));
// データベース接続を閉じます
return @mysql_close($this->db_handle);
}

function read($sessID)
{
// セッションを取得します-data
$res = @mysql_query("SELECT session_data AS d FROM ".self::db_table."
WHERE session_id = '$sessID'
AND session_expires > ".time(), $this ->db_handle);

// 失敗時にデータまたは空の文字列を返します
if ($row = @mysql_fetch_assoc($res))
return $row['d'];

return "";
}

function write($sessID, $ sessData)
{
// 新しいセッションの有効期限
$newExp = 時間() + $this->lifeTime;

// データベース内にこの ID を持つセッションはありますか?
$res = @mysql_query("SELECT * FROM ".self::db_table."
WHERE session_id = '$sessID'", $this->db_handle);

/ / はいの場合、
if(@mysql_num_rows($res))
{
/ / ...セッションデータを更新します
@mysql_query("UPDATE ".self::db_table."
SET session_expires = '$newExp',
session_data = '$sessData'
WHERE session_id = '$sessID'", $this->db_handle);

// 何かが起こった場合、true を返します
if(@mysql_affected_rows($this->db_handle))
return true;
}
else // セッションデータが見つからなかった場合は、

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。