您好,欢迎访问一九零五行业门户网

此帖有贡献回答共献出500分,无贡献回答献100分

系统:discuz3.2版本
我需要些一些sql,查询discuz的数据表,获取帖子、会员及其各项资料等等信息。除了查询,还包括写入、更新这些操作。
当然不是简单的数据库连接,需要和discuz他自己的规则对上。
举个实在的例子:
discuz程序我安装在bbs文件夹里面,这时我在文件夹外面写个menberinfo.php   通过这个php上登录框,我可以登录,获取自己的会员信息,然后进入论坛bbs,里面的也登录上了。
只能加100分,能解决了再给贡献大者逐一送分。
清仓大甩卖了,大家快来了
回复讨论(解决方案) http://bbs.csdn.net/topics/390896551#post-398264470
menberinfo.php require_once './bbs/source/class/class_core.php';//根目录下c::app()->init();/*基础操作db::insert(),db::update(),db::query(),db::delete()*/

http://bbs.csdn.net/topics/390896551#post-398264470
menberinfo.php require_once './bbs/source/class/class_core.php';//根目录下c::app()->init();/*基础操作db::insert(),db::update(),db::query(),db::delete()*/

主要两个问题,一个是下面这些的用法,一个是如何将结果存储session 或者全局变量之类。
init();$name=$_post['name'];$pw=md5(md5($_post['pw']));$count = db::result(db::query(select uid from md_common_member where username=$name and password=$pw), 0);if($count){ global $_g; $arr=array(); $_g=$arr['uid']; echo 登录成功;}else{echo 登录失败;}?>
像这个 为什么不对?
但是如果按照常规的方法写,又是对的:
init();$name=$_post['name'];$pw=md5(md5($_post['pw']));$connect=mysql_pconnect(localhost,root,1234);if(!mysql_select_db('xxx',$connect))die(数据库连接失败!);$sql=select count(*) from md_common_member where username='$username' and password='$pw';$res = mysql_query($sql);//执行查询语句$row=mysql_fetch_assoc($res);if($row['uid']){ global $_g;$_g=$row['uid']; echo 登录成功;}else{echo 登录失败;}?>
当然只是语句无误,这里弱弱问一句,discuz是怎么加密的呢?
$user='管理员';//邮箱或者昵称$pwd=md5(123456);if(strlen($user) > 6 && strlen($user) 6 && strlen($user) update($uid, array('lastip' => '', 'lastvisit' =>timestamp, 'lastactivity' => timestamp));

可以用ucenter实现,前提是需要在ucenter里面要增加一个应用
官方有个demo,关于登陆,注销,获取用户信息,收发短消息。
见:
http://faq.comsenz.com/library/ucenter/example/example_index.htm
demo下载:
http://faq.comsenz.com/library/ucenter/example/examples.zip
下载后解压,放到任意可以访问到的网站目录中,把你论坛中的uc_client复制到,demo的根路径中。
再配置一下demo中的config.inc.php,与ucenter中的一样就可以。
下面运行效果:
可以用ucenter实现,前提是需要在ucenter里面要增加一个应用
官方有个demo,关于登陆,注销,获取用户信息,收发短消息。
见:
http://faq.comsenz.com/library/ucenter/example/example_index.htm
demo下载:
http://faq.comsenz.com/library/ucenter/example/examples.zip
下载后解压,放到任意可以访问到的网站目录中,把你论坛中的uc_client复制到,demo的根路径中。
再配置一下demo中的config.inc.php,与ucenter中的一样就可以。
下面运行效果:
http://bbs.csdn.net/topics/390952723 请到这里接分
$uid=1;//用户uid$cookietime = 31536000;if(($member = getuserbyuid($uid, 1))) { //这个设置后,本网站就是登录状态了,其实下面的setloginstatus()里面也执行了这个操作,可以没有,直接执行setloginstatus dsetcookie('auth', authcode($member[password]\t$member[uid], 'encode'), $cookietime);}require_once libfile('function/member');//设置后,可以用$_g['uid'],$_g['username']...获取用户信息,session和统计也在里面执行了setloginstatus($member, $cookietime);//若是有其他网站应用,要执行下面的同步登陆if($_g['setting']['allowsynlogin']) { loaducenter(); //将$ucsynlogin输出到网页上,执行同步登陆 $ucsynlogin = uc_user_synlogin($uid);}//更新用户状态,timestamp,discuz的时间常量c::t('common_member_status')->update($uid, array('lastip' => '', 'lastvisit' =>timestamp, 'lastactivity' => timestamp));

http://bbs.csdn.net/topics/390952720
http://bbs.csdn.net/topics/390952721
请到这两个帖接分,谢谢    这个贴使命完成,提前结束。 此帖已经结束使命,虽然还有个问题,但主题不和,另开一帖为好。
请两位大神到回复的地址领取分数,致谢!
其它类似信息

推荐信息