uc的接口从网上下的一个例子,自己的uc是整合discus的,我想在我的网站上注册同样在论坛上也注册了,
网上下的例子,老是报这个错:
Error:No database selected
Errno:1046
SQL::SELECT * FROM cdb_uc_settings
但是我的数据库设置没有错啊<?phpdefine('UC_CONNECT', 'mysql'); // 连接 UCenter 的方式: mysql/NULL, 默认为空时为 fscoketopen()
// mysql 是直接连接的数据库, 为了效率, 建议采用 mysql//数据库相关 (mysql 连接时, 并且没有设置 UC_DBLINK 时, 需要配置以下变量)
define('UC_DBHOST', 'localhost'); // UCenter 数据库主机
define('UC_DBUSER', 'root'); // UCenter 数据库用户名
define('UC_DBPW', '123456'); // UCenter 数据库密码
define('UC_DBNAME', 'lsphp2'); // UCenter 数据库名称
define('UC_DBCHARSET', 'gbk'); // UCenter 数据库字符集
define('UC_DBTABLEPRE', 'cdb_uc_'); // UCenter 数据库表前缀//通信相关
define('UC_KEY', '123456789'); // 与 UCenter 的通信密钥, 要与 UCenter 保持一致
define('UC_API', 'http://localhost:77/'); // UCenter 的 URL 地址, 在调用头像时依赖此常量
define('UC_CHARSET', 'gbk'); // UCenter 的字符集
define('UC_IP', ''); // UCenter 的 IP, 当 UC_CONNECT 为非 mysql 方式时, 并且当前应用服务器解析域名有问题时, 请设置此值
define('UC_APPID', 1); // 当前应用的 ID//ucexample_2.php 用到的应用程序数据库连接参数
$dbhost = 'localhost'; // 数据库服务器
$dbuser = 'root'; // 数据库用户名
$dbpw = '123456'; // 数据库密码
$dbname = 'lsphp2'; // 数据库名
$pconnect = 0; // 数据库持久连接 0=关闭, 1=打开
$tablepre = 'cdb_uc_'; // 表名前缀, 同一数据库安装多个论坛请修改此处
$dbcharset = 'gbk'; // MySQL 字符集, 可选 'gbk', 'big5', 'utf8', 'latin1', 留空为按照论坛字符集设定//同步登录 Cookie 设置
$cookiedomain = ''; // cookie 作用域
$cookiepath = '/'; // cookie 作用路径
uc的配置文件 数据库是lsphp2
网上下的例子,老是报这个错:
Error:No database selected
Errno:1046
SQL::SELECT * FROM cdb_uc_settings
但是我的数据库设置没有错啊<?phpdefine('UC_CONNECT', 'mysql'); // 连接 UCenter 的方式: mysql/NULL, 默认为空时为 fscoketopen()
// mysql 是直接连接的数据库, 为了效率, 建议采用 mysql//数据库相关 (mysql 连接时, 并且没有设置 UC_DBLINK 时, 需要配置以下变量)
define('UC_DBHOST', 'localhost'); // UCenter 数据库主机
define('UC_DBUSER', 'root'); // UCenter 数据库用户名
define('UC_DBPW', '123456'); // UCenter 数据库密码
define('UC_DBNAME', 'lsphp2'); // UCenter 数据库名称
define('UC_DBCHARSET', 'gbk'); // UCenter 数据库字符集
define('UC_DBTABLEPRE', 'cdb_uc_'); // UCenter 数据库表前缀//通信相关
define('UC_KEY', '123456789'); // 与 UCenter 的通信密钥, 要与 UCenter 保持一致
define('UC_API', 'http://localhost:77/'); // UCenter 的 URL 地址, 在调用头像时依赖此常量
define('UC_CHARSET', 'gbk'); // UCenter 的字符集
define('UC_IP', ''); // UCenter 的 IP, 当 UC_CONNECT 为非 mysql 方式时, 并且当前应用服务器解析域名有问题时, 请设置此值
define('UC_APPID', 1); // 当前应用的 ID//ucexample_2.php 用到的应用程序数据库连接参数
$dbhost = 'localhost'; // 数据库服务器
$dbuser = 'root'; // 数据库用户名
$dbpw = '123456'; // 数据库密码
$dbname = 'lsphp2'; // 数据库名
$pconnect = 0; // 数据库持久连接 0=关闭, 1=打开
$tablepre = 'cdb_uc_'; // 表名前缀, 同一数据库安装多个论坛请修改此处
$dbcharset = 'gbk'; // MySQL 字符集, 可选 'gbk', 'big5', 'utf8', 'latin1', 留空为按照论坛字符集设定//同步登录 Cookie 设置
$cookiedomain = ''; // cookie 作用域
$cookiepath = '/'; // cookie 作用路径
uc的配置文件 数据库是lsphp2
define('IN_DISCUZ',TRUE); //这个必须,否则后面的那些require会提示非法访问
define('CURSCRIPT', 'logging'); //这个可能是脚本状态的?没深究
require "./config.inc.php"; //数据库配置
require './include/global.func.php'; //验证码转换的实现
require './uc_client/client.php'; //uc登陆相关
/////////////////////////////////////// 以上为DZ相关的设置
登陆,只需要:
$ucresult = uc_user_login($login_user, $psd);
list($uid,$username,$password,$email)=$ucresult;
if($uid>0) //登陆成功
{
$SQL="update ".$tablepre."sessions set username='$username',uid=$uid where sid='$sid'"; //更新_sessions表中username和uid项,缺此步骤,DZ论坛无法自动登陆
$mysql->DoQuery($SQL);
}
else $error_info="登錄失敗,有可能是用戶名或密碼錯誤!";
对照着论坛里的调用UC做就可以了。