当前位置:Gxlcms > PHP教程 > PHP调用discuz登陆框实现外部登录_PHP教程

PHP调用discuz登陆框实现外部登录_PHP教程

时间:2021-07-01 10:21:17 帮助过:4人阅读

利用php调用discuz登录框方法有很多种,最常用的就是直接使用iframe方式调用了,还有就是直接在php页面中调用了,下面小编来给大家总结一些常用的方法。

方法一,直接使用iframe调用一个加了discuz登录功能的页面

代码如下


login.html代码

代码如下





c-gd.com-登录











设为首页
中文 | English







方法二,利用php方式调用了

在自定义的PHP页面里加入discuz登陆框。PHP如何调用discuz登陆框。

代码如下
error_reporting(0);
require 'source/class/class_core.php';
$discuz = & discuz_core::instance();
$discuz->init();
if (empty($_G['uid'])) {
?>






尊敬的&do=profile" target="_blank">,欢迎您光临!  | 我的帖子 |  个人中心 |  " target="_blank" onClick="setTimeout('window.location.reload()', 2000)">退出登陆



方法三:discuz登陆框是ajax调用的,一开始在firebug下看到了调用了接口:

代码如下
/member.php ?mod=logging&action=login&infloat=yes&handlekey=login&inajax=1&ajaxtarget=fwin_content_login


这返回的是一个xml的内容,其中就一个结点root,里面会根据本地的cookies判断是否登录了论坛,如果没有登陆

里面的内容就是一段form登陆表单。如果登陆了里面就是一段登陆后的信息。然后将ajax请求中的css保存到本

地。能够实现登陆框调用。登陆框中有一个hidden的input name=‘reffer’ 这里面的value值是来路链接.不过要是

论坛程序里的。比如将这个连接换成h/home.php?mod=spacecp&ac=blog这样登陆完后会

自动跳转到发博客的页面。可以实现一键发帖功能。

代码如下:

代码如下

$login = file_get_contents("/member.php?
mod=logging&action=login&infloat=yes&handlekey=login&inajax=1&ajaxtarget=fwin_content_login");
require_once('SofeeXmlParser.php');//xml解析类 博客里搜索xml有相关介绍
$xml = new SofeeXmlParser();
$xml->parseString($login);
$tree = $xml->getTree();
$login = str_replace("member.php","h/member.php",$tree["root"]["value"]);
$login = str_replace("h/./","h/home.php?
mod=spacecp&ac=blog",$login);//跳转到发帖页面
$login = preg_replace('/

(.*)

/i','',$login);
var_dump($login);
exit();
$login = iconv('utf-8','gbk',$login);

echo $login;
?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/632787.htmlTechArticle利用php调用discuz登录框方法有很多种,最常用的就是直接使用iframe方式调用了,还有就是直接在php页面中调用了,下面小编来给大家总结一...

人气教程排行