当前位置:  编程技术>php
本页文章导读:
    ▪六酷社区论坛HOME页清新格调免费版 下载       全部是用DIV+CSS制作,调用采用直接读取数据库,速度很快的,自动生成静态HTML页。色彩可以通过CSS来控制,调出与你论坛搭配的色彩来!还可通过附带的HOME程序来做出自己喜欢的样式的HOM.........
    ▪用PHP 快速生成 Flash 动画的方法       使用 Ming 库动态构建 Flash 动画 Rich Internet Application 是 Web 2.0 中的新时髦词,并且就 Web 2.0 的实质而言,一个关键组件就是 Adobe Flash。了解如何将 Flash 动画集成到应用程序中,并使用 Ming 库.........
    ▪利用discuz自带通行证整合dedecms的方法以及文件下载       整合discuz的通行证:利用discuz自带通行证整合dede的方法以及文件下载首先感谢柏拉图提供这么好的免费程序在论坛上看到大家很多都想整合discuz。我想柏拉图肯定会弄一个非常完善的dede的.........

[1]六酷社区论坛HOME页清新格调免费版 下载
    来源: 互联网  发布时间: 2013-11-30
全部是用DIV+CSS制作,调用采用直接读取数据库,速度很快的,自动生成静态HTML页。色彩可以通过CSS来控制,调出与你论坛搭配的色彩来!还可通过附带的HOME程序来做出自己喜欢的样式的HOME页来!只要肯动手,多资多彩的论坛首页就能做出来!
===========================================================================
设计制作:缘亦如此
联系方式:QQ:11881448
专业网站设计制作,论坛HOME制作设计,风格设计。
支持社区:六酷社区
网址:http://www.6co.cn
下载此文件
===========================================================================
请使用此风格的保留风格版权,谢谢。不介意的话给我们做个链接也可以。呵!~
二楼更新

有问题可到
http://www.6co.cn/forumdisplay.php?fid=129
提出

请支持我们的社区

六酷社区  http://www.6co.cn

经常光顾我们的社区,我会不定期在社区的风格插件版块内发布一些插件、风格及风格配色!

================================================

风格修改方法

1、模板的修改
修改templates/default/cohome.htm文件就行

---------------------------------------------

2、幻灯片图片添加方法:
打开图片目录的topview.js文件,
var pics=后面为图片地址,中间用,逗号隔开。
var links=后面是链接地址
var texts=后面是要显示的文件
图片、链接、名字都是一一对应的。

---------------------------------------------

3、滚动图片添加依法:
用dw打开根目录的pichome.htm文件修改就行。

---------------------------------------------

论坛内容调用:
修改根目录的home.php文件
=========================================

4、小版块调用说明:
代码如下:

$shipingtpmain = ''; 
$query = $db->query("SELECT t . fid , f . fup , f . name ,t.author,t.views, t . tid , t . subject ,t . dateline FROM {$tablepre}threads t LEFT JOIN {$tablepre}forums f ON f . fid =t . fid where t . fid =1 ORDER BY `t` . `dateline`  DESC LIMIT 0, 16"); 
while($shipingtp = $db->fetch_array($query)) { 
    $shipingtp[subject]=cutstr($shipingtp[subject],26); 
        $times=gmdate("$dateformat ", $shipingtp[dateline] + $timeoffset * 3600); 
    $shipingtpmain.="<table width='98%' height='20' border='0' align='center' cellpadding='0' cellspacing='0'><tr><td><a href='/blog_article/viewthread/tid/$shipingtp[tid].html' target='_blank' title='作者:$shipingtp[author] 查看:$shipingtp[views]' >$shipingtp[subject]</a></td> 
</tr></table>"; 


$shipingtp[subject]这前面的$shipingtp是变量名,每条调用的变量名都不能相同,改的时候这一段代码中的变量名都要一样,有一个不同就调用不出来。
fid =1这后面的数是版块的FID值
DESC LIMIT 0, 16");这后面的16是调用条数
($shipingtp[subject],26);这后面的26是显示字数
设置好后在模板中的相应位置只要插入$变量名+main  例:$shipingtpmain
调用出来的效果:实在够恶!冯小刚徐帆早期激情情侣

---------------------------------------------

5、分类调用说明:
代码:


代码如下:

//IT数码 
$itshuomamain = ''; 
$query = $db->query("SELECT t . fid , f . fup , f . name ,t.author,t.views, t . tid , t . subject ,t . dateline FROM {$tablepre}threads t LEFT JOIN {$tablepre}forums f ON f . fid =t . fid where f . fup =21 ORDER BY `t` . `dateline`  DESC LIMIT 0, 10"); 
while($itshuoma = $db->fetch_array($query)) { 
    $itshuoma[subject]=cutstr($itshuoma[subject],30); 
    $itshuomamain.="<table width='98%' height='20' border='0' align='center' cellpadding='0' cellspacing='0'><tr><td><a href='/blog_article/forumdisplay/fid/$itshuoma[fid].html'  >【$itshuoma[name]】</a><a href='/blog_article/viewthread/tid/$itshuoma[tid].html' target='_blank' title='作者:$itshuoma[author] 查看:$itshuoma[views]' >$itshuoma[subject]</a></td></tr></table>"; 

$itshuoma[subject]这前面的$itshuoma是变量名,每条调用的变量名都不能相同,改的时候这一段代码中的变量名都要一样,有一个不同就调用不出来。
fup =21这后面的数是大版块的FID值
DESC LIMIT 0, 10");这后面的10是调用条数
($itshuoma[subject],30);这后面的30是显示字数
设置好后在模板中的相应位置只要插入$变量名+main  例:$itshuomamain
调用出来的效果:【电脑病毒】2006年世界最新杀毒软件排名
如果不想要【电脑病毒】这样的版块出标题前面只要把<a href='/blog_article/forumdisplay/fid/$itshuoma[fid].html' >【$itshuoma[name]】</a>这句删除就行

---------------------------------------------

6、会员发贴排行调用:
代码
//发贴总排行
代码如下:

$hotmember1 = ''; 
$query = $db->query("SELECT username, uid, posts FROM {$tablepre}members ORDER BY posts DESC LIMIT 0, 10"); 
while($member = $db->fetch_array($query)) { 
       $hotmember1.="<table width='100%' border='0' cellspacing='0' cellpadding='0' ><tr><td width='5%'> </td> 
<td width='89%' bgcolor='#FFFFFF'><table width='95%' border='0' align='center' cellpadding='0' cellspacing='0'> 
  <tr><td width='75%' valign='bottom' ><a href='/blog_article/viewpro/uid/$member[uid].html' target='_blank'  >$member[username]</a></td><td width='25%'><div align='right'>$member[posts]</div></td></tr></table></td></tr></table>"; 
           } 
$hotmember1调用变量名
DESC LIMIT 0, 10");后面的10为调用条数

---------------------------------------------


7、论坛精华贴调用:
代码
代码如下:

//社区精华TOP 
$jingthreads = ''; 
$query = $db->query("SELECT * FROM {$tablepre}threads t LEFT JOIN {$tablepre}forums f ON f . fid =t . fid where digest  ORDER BY `t` . `lastpost`  DESC LIMIT 0, 7"); 
while($thread = $db->fetch_array($query)) { 
        $thread[subject] = cutstr($thread[subject], 35); 
        $jingthreads.="<table width='100%' border='0' cellspacing='0' cellpadding='2'><tr><td width='85%'><a  href='/blog_article/viewthread/tid/$thread[tid].html' target='_blank' title='作者:$thread[author] 版块:$thread[name]' >·$thread[subject] </a></td></tr></table>" ; 
}  
$jingthreads调用变量名
DESC LIMIT 0, 7");后面的7为调用条数
($thread[subject], 35);后面的35为显示字符数

---------------------------------------------

8、论坛最新贴调用:
代码

代码如下:

//最新文章 
$replythreads = ''; 
$query = $db->query("SELECT author, views, tid, subject, lastpost FROM {$tablepre}threads ORDER BY dateline DESC LIMIT 0, 10"); 
while($thread = $db->fetch_array($query)) { 
        $thread[subject] = cutstr($thread[subject], 27); 
        $thread[lastpost] = gmdate("Y-m-j g:i", $thread[lastpost] + $timeoffset * 3600); 
        $replythreads.=" <LI><a href='/blog_article/viewthread/tid/$thread[tid].html' title='作者:$thread[author] 回复:$thread[lastpost]' target=_blank>$thread[subject]</A><br />"; 


$replythreads调用变量名
DESC LIMIT 0, 10");后面的10为调用条数
($thread[subject], 27);后面的27为显示字符数

---------------------------------------------

9、友情链接调用
代码

代码如下:

$tightlink_text = $tightlink_logo = ''; 
$query = $db->query("SELECT * FROM {$tablepre}forumlinks ORDER BY displayorder"); 
                        while($flink = $db->fetch_array($query)) { 
                                if($flink['note']) { 
                                        if($flink['logo']) { 
                                                $forumlink['type'] = 1; 
                                                $forumlink['logo'] = $flink['logo']; 
                                        } else { 
                                                $forumlink['type'] = 2; 
                                        } 
                                        $data[] = $forumlink; 
                                } else { 
                                        if($flink['logo']) { 
                                                $tightlink_logo .= "<a href=/index.html"$flink[url]\"  
target=\"_blank\" ><img src=/index.html"$flink[logo]\" border=\"0\" alt=\"$flink 
[name]\"  alt=\"$flink[content]\"></a> "; 
                                        } else { 
                                                $tightlink_text .= "<a href=/index.html"$flink[url]\"  
target=\"_blank\" >[$flink[name]]</a> "; 
                                        } 
                                } 
                        } 
                        if($tightlink_logo || $tightlink_text) { 
                                $tightlink_logo .= $tightlink_logo ? '<br>' : ''; 
                                $data[] = array('type' => 3, 'content' =>  
$tightlink_logo.$tightlink_text); 
                        } 
说明:
$flink[content]是LOGO链接调用变量
$flink[content]是文字链接调用变量
两个要同时都有

---------------------------------------------
12、生成静态HTML页的方法
打开main.php
查找:
代码如下:

/*$discuz_action = 1; 
把上面的所有代码(不包括这句)替换为 

[Copy to clipboard] [ - ]CODE: 
<? 
if(file_exists("main.html")) 

$time=time(); 
//文件修改时间和现在时间相差?的话,直接导向html文件,否则重新生成html 
if($time-filemtime("main.html")< 600) 

header("Location:main.html"); 


//在你的开始处加入ob_start(); 
ob_start(); 

define('CURRSCRIPT',  'main');  

require './include/common.inc.php'; 
require DISCUZ_ROOT.'./include/forum.func.php'; 
查找


代码如下:

include template('bbs_all'); 
把下面的所有代码(不包括这句)替换为


代码如下:

//在结尾加入ob_end_clean(),并把本页输出到一个变量中 
$temp=ob_get_contents(); 
ob_end_clean(); 

//写入文件 
$fp=fopen('main.html','w'); 
fwrite($fp,$temp) or die('写文件错误');   
//echo"生成HTML完成!"; 
header("Location:main.html"); 
?>  
反之则是不生成静态HTML页

    
[2]用PHP 快速生成 Flash 动画的方法
    来源: 互联网  发布时间: 2013-11-30

使用 Ming 库动态构建 Flash 动画

Rich Internet Application 是 Web 2.0 中的新时髦词,并且就 Web 2.0 的实质而言,一个关键组件就是 Adobe Flash。了解如何将 Flash 动画集成到应用程序中,并使用 Ming 库动态生成 Flash 动画。

Web 2.0 引入了 Rich Internet Application。但 Rich Internet Application 的含义是什么?通常,它意味着向应用程序中添加具有高度响应能力的交易操作。具体来说,它意味着可以即时更改页面中的小部件、Web 表单和报告,而无需从服务器中检索新页面。

一种用于构建 Rich Internet Application(RIA)的方法就是使用动态 HTML(Dynamic HTML,DHTML),它是 Ajax、JavaScript、层叠样式表(Cascading Style Sheet,CSS)和 HTML 的组合(请参阅 参考资料)。但是 DHTML 并不是向 Web 应用程序中添加互动操作的惟一方法。另一种重要方法是使用 Adobe Flash Player,使用它为 Web 站点添加交互操作已经有十年的历史。

第一版的 Flash 曾是用于创建动画图片的工具,而最新版本的 Flash 已经可以托管一个完整的界面,可用于控制 Web 服务访问并使用 ECMAScript(JavaScript 的正式版本)来提供完整的脚本支持。

了解 Flash

Flash Player 是集成到运行 Microsoft® Windows®、Mac OS X 和 Linux® 的计算机的 Web 浏览器中的一个插件。截至本文完稿时,最新版本的 Flash Player 是 V8。它是可以免费获得的,大多数浏览器都附带安装了此插件。它十分流行并且具有优秀的客户机渗透力 —— 而这种渗透力随着 YouTube 和 Google Video 这类服务的出现得到了提高,这些服务都使用 Flash 显示视频流。

Flash Player 只是天平的一端。要发挥作用,Flash Player 还需要使用一个 Flash 动画。此类动画通常是使用一种 Flash 的开发工具编译的文件,其文件扩展名为 .swf。但正如您将在本文中看到的那样,还可以使用 Ming 库用几乎与动态创建图片相同的方法来动态构建 .swf 文件,并在 Web 服务器上绘制图形。Ming 库利用由 PHP 代码构建的对象和方法在新的 .swf 文件中构建操作代码。

您可以通过两种方法中的任意一种方法来查看 Web 站点中的 .swf 文件。第一种方法只需导航到 .swf 文件的 URL。这样做将把 Web 服务器的整个内容区域替换为 Flash 动画。此方法便于进行调试,但主要的用法还是将动画嵌入到 HTML Web 页面的 <object> 标记中。该 <object> 标记然后再通过 URL 引用 SWF 动画。<object> 方法的优点在于您可以把动画放在页面的任意位置,并可通过 JavaScript 代码进行动态控制,就像处理页面中的任何其他元素一样。

清单 1 显示的是一个引用 SWF 动画的 <object> 标记的示例。



清单 1. 嵌入式 Flash 动画

				
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#
    version=6,0,40,0"
WIDTH="550" HEIGHT="400">
<PARAM NAME="movie" VALUE="lines.swf">
<EMBED src="/blog_article/lines.swf" WIDTH="550" HEIGHT="400"
TYPE="application/x-shockwave-flash"
PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">
</EMBED>
</OBJECT>

这组标记将引用一个名为 lines.swf 的动画。内部的 <embed> 标记用于确保 Flash 动画可以在安装了插件的各种浏览器中播放。

标记还把 Flash Player 的高度和宽度分别指定为 550 像素和 400 像素。非常值得注意的是,Flash 动画中的图形都是基于矢量的,这意味着当您使用 Flash 命令绘制线条和文本时,那些元素都被存储为坐标并且按照匹配显示区域的比例进行缩放。如您所见,Flash 动画有自己的坐标系统,您可以按照适合自己的方法使代码尽可能整洁。





Ming

本文中提供的使用 Flash 动画的第一种方法是使用 Ming 库动态生成它们。Ming 库是一个 PHP 库,其中有一组映射到 SWF 动画中的数据类型的对象:子图形、图形、文本、位图等等。我将不讨论如何构建和安装 Ming,因为其操作是特定于平台的而且并不特别简单(请参阅 参考资料)。在本文中,我使用了预编译的扩展 php_ming.dll 库用于 Windows 版本的 PHP。

必须指出的是,Ming 仍处于开发阶段。截至本文完稿时,库的版本是 V0.4,并且较老版本中的一些命令在最新版本中不能使用。我使用了 V0.4 撰写本文,因此,要使用这段代码,您需要使用这个版本。

清单 2 显示了使用 Ming 库实现的 HelloWorld 示例。



清单 2. Hello.php

				
<?php
$f = new SWFFont( '_sans' );

$t = new SWFTextField();
$t->setFont( $f );
$t->setColor( 0, 0, 0 );
$t->setHeight( 400 );
$t->addString( 'Hello World' );

$m = new SWFMovie();
$m->setDimension( 2500, 800 );
$m->add( $t );

$m->save( 'hello.swf' );
?>

在命令行中运行这段代码将生成文件 hello.swf。当我在 Web 浏览器中打开该文件时,看到了图 1 所示的结果。



图 1. 使用 Ming 的 HelloWorld 示例


回过头来查看这段代码,我做的第一件事是创建指向一个内置字体(_sans)的指针,然后创建文本字段,设定字体、颜色和大小,最后为其提供一些文本内容(“Hello World”)。再接下来创建了一个 SWFMovie 对象并设定其尺寸。最后,向动画中添加了文本元素并将动画保存到文件中。

作为直接构建文件的替代性方法,也可以使用下面的代码,使 SWF 动画像页面那样输出,而无需使用 save 方法:

header( 'Content-type: application/x-shockwave-flash' );
$m->output( );

此过程类似于使用 PHP 中的 ImageMagick 库来构建位图。对于所有 Ming 示例,我都将使用 save 方法,但您可以根据喜好来选择是否使用 save 方法。





让文本动起来

只是将一些文本放入 Flash 动画中是没有多大意义的,除非您能让它动起来。因此我整合了清单 2 中的示例,它包括两段文本:一部分开始很小后来变得越来越大,而另一部分保持静态。



清单 3. Text.php

				
<?php
$f = new SWFFont( '_sans' );

$pt = new SWFTextField();
$pt->setFont( $f );
$pt->setColor( 0, 0, 0 );
$pt->setHeight( 400 );
$pt->addString( '1000' );

$tt = new SWFTextField();
$tt->setFont( $f );
$tt->setColor( 192, 192, 192, 90 );
$tt->setHeight( 350 );
$tt->addString( 'Points' );

$m = new SWFMovie();
$m->setDimension( 2500, 800 );

$pts = $m->add( $pt );
$pts->moveTo( 0, 0 );

$tts = $m->add( $tt );
$tts->moveTo( 1300, 200 );

for( $i = 0; $i < 10; $i++ ) {
 $m->nextframe();
 $pts->scaleTo( 1.0 + ( $i / 10.0 ), 1.0 + ( $i / 10.0 ) );
}

$m->save( 'text.swf' );
?>

在命令行中执行这段代码时,它将生成 text.swf。在 Web 浏览器中打开该文件时,我看到了图 2 所示的图片。



图 2. text.swf 文件


文本 “1000” 开始时很小,大小为 350 个点。然后使用 scaleTo() 方法使其增大为 750 个点,方法是对动画对象使用 nextframe() 方法。

要理解其工作原理,需要了解一点 Flash 制作动画的方法。Flash 中的动画就像电影中的动画一样运行:按帧运行。子图形将按帧在动画框架中移动。一个主要差别是 Flash 不获取每帧的快照。它存储子图形对象在每帧的状态。

您可能会注意到,我有一个名为 $pt 的变量,该变量具有文本 “1000”。随后当我把 $pt 添加到动画中时,获得了通过 add() 方法返回的名为 $pts 的新对象。该对象是 SWFDisplayItem,表示子图形的实例。然后我可以围绕动画框架的表面逐帧移动实例。这有点儿混乱,但我可以拥有同时移动的多个版本的 “1000” 文本子图形或 “points” 文本子图形。





回页首

绘制一些图形

接下来要处理的是矢量图形。首先仅绘制一条简单的直线,它从框架的左侧顶部到右侧底部。



清单 4. Line.php

				
<?php
$m = new SWFMovie();
$m->setDimension( 300, 300 );

$s = new SWFShape();
$s->setLine( 10, 0, 0, 0 );
$s->movePenTo( 10, 10 );
$s->drawLineTo( 290, 290 );
$m->add( $s );

$m->save( 'line.swf' );
?>

在命令行中运行此脚本,然后查看输出的 .swf 文件,效果如图 3 所示。



图 3. 绘制简单的直线


好的 —— 这十分简单,也不怎么令人激动。那么我做了什么?创建了一个新的 SWFShape 对象,然后向其中添加了一些笔触移动和直线。然后我将其作为子图形添加到了动画中。

为了让它变得更有趣,我使用了与刚才文本中使用的相同的帧式动画。但在本例中,我用下面所示的代码使这条直线围绕动画的中心旋转。



清单 5. 旋转直线

				
<?php
$m = new SWFMovie();
$m->setDimension( 300, 300 );

$s = new SWFShape();
$s->setLine( 5, 0, 0, 0 );
$s->movePenTo( -100, -100 );
$s->drawLineTo( 100, 100 );
$ts = $m->add( $s );

$ts->moveTo( 150, 150 );

for( $i = 0; $i < 100; $i++ ) {
 $ts->rotate( 10 );
 $m->nextframe();
}

$m->save( 'rotate.swf' );
?>

在本例中,我从 -100, -100 到 100, 100 画了一条直线。这将把直线的中心放在坐标 0,0 处。这样,当我在旋转图形时,直线的中心将发生旋转。

当我向动画中添加图形时,将移动返回到框架中心的 SWFDisplayItem。然后用 rotate() 方法使它旋转并每旋转一周就增大其框架。





使用图片

文本和诸如直线、圆、弧、曲线和矩形之类的简单矢量图形都是十分优秀的,但在理想的情况下,您必须能访问这些 Flash 动画中的图片。值得庆幸的是,Ming 库使您可以轻松的使用图片,如下所示。



清单 6. 使用图片

				
<?php
$img = new SWFBitmap( file_get_contents( 'megan.jpg' ) );

$s = new SWFShape();
$imgf = $s->addFill( $img );
$s->setRightFill( $imgf );
$s->movePenTo( 0, 0 );
$s->drawLineTo( $img->getWidth(), 0 );
$s->drawLineTo( $img->getWidth(), $img->getHeight() );
$s->drawLineTo( 0, $img->getHeight() );
$s->drawLineTo( 0, 0 );

$m = new SWFMovie();
$m->setDimension( $img->getWidth() * 2, $img->getHeight() * 2 );
$is = $m->add( $s );
$is->moveTo( $img->getWidth() / 2, $img->getHeight() / 2 );

for( $i = 0; $i < 10; $i++ )
{ 
$is->skewx( 0.02 );
$is->skewy( -0.03 );
$m->nextframe();
}

$m->save( 'image.swf' );
?>

在命令行中运行此脚本并在浏览器中查看 image.swf,结果如图 4 所示。



图 4. 生成的图片动画


此脚本在开始时读取了本地的 .jpeg 文件(在本例中,是我女儿 Megan 的照片)。然后创建一个矩形,并在其中填充图片。在那之后,它在10 帧处使用了位移效果使图片稍微移动。





继续移动

我只是触及了 Ming 库可为您提供的操作的表面。在这里我没有展示交互部分,在交互部分您可以将简单的脚本与元素连接起来。(但是,如果换成是交互操作,如果您有一个十分复杂的 Flash 动画,则可能需要考虑使用 Flash 开发工具来构建 Web 应用程序内与 Web 服务对话的 Flash 动画。)

构建更加复杂的 Flash 动画的另外一种选择是使用诸如 Adobe Flex 或 Laszlo 之类的制作工具,这两种工具都提供了用于为 Flash 动画的用户界面布局的 XML 语法以及一个更轻松地例程,可用于开发为界面提供互动操作的 JavaScript。





XML Chart 和 XML Gauge

给我留下深刻印象的两个 Flash SWF 是 XML Chart 和 XML Gauge,可在 maani.us 获得(请参阅 参考资料)。使用动画就可以轻松地为 Web 站点提供动态的规格和图形,您只需在 PHP 应用程序中创建 XML 页面。

第一步是从站点下载 SWF。然后将其嵌入到 Web 页面的 <object> 标记中并将 URL 提供给 XML 数据摘要。制作一个 PHP 页面按照控制所需的格式导出 XML。这些动画的 XML 格式在站点中得到了详细说明并且非常易于创建。





结束语

 

Flash 带来了一种机会,使您可轻松将大量交互操作添加到 Web 应用程序。就像一些小部件样式的控件一样,从微不足道开始,变得越来越流行。XML Chart 和 XML Gauge 提供了机会让您在投入大量时间了解 Ming、Flex 或 Laszlo 之前先尝试使用这些类型的 Flash 小部件。无论如何,值得花时间去了解 Flash 及其功能来扩展 Web 2.0 PHP 应用程序的功能及交互操作。


    
[3]利用discuz自带通行证整合dedecms的方法以及文件下载
    来源: 互联网  发布时间: 2013-11-30
整合discuz的通行证:利用discuz自带通行证整合dede的方法以及文件下载

首先感谢柏拉图提供这么好的免费程序
在论坛上看到大家很多都想整合discuz。我想柏拉图肯定会弄一个非常完善的dede的通行证。
在没有出来之前我们就用discuz自带的通行证吧。个人看了一下还是非常不错的。
一:前提准备以及版本:
dede版本:3.1 lit版,3.1正式版上测试都通过
discuz版本。用的是最新的5.0版本
二:主要涉及几个文件
1:dede:
(1)include/config_passport.php
主要是通行证私有密匙。这个跟安全相关,必须两个系统设置一样才能通行
在这里主要是 $cfg_pp_encode。假设设置为 $cfg_pp_encode = 'UfJDq4089S'
(2)member/index_do.php主要处理与discuz同步登陆、同步注册、同步退出
至于会员的同步修改(主要是密码和email)在同步登陆的时候利用通行证机制已经完成了。所以大家不要再问密码同步怎么办
(3)新加入文件zxwpassport.php
里面主要是设置同步discuz开关、以及同步的相关处理函数
注意:这里相关的跳转地址根据大家测试或者实际地址来修改
比如:Location: http://localhost/discuz/api/passport.php
改成你的 Location: http://localhost/bbs/api/passport.php
$forward     = 'http://localhost/member/index.php';
改成你的
$forward     = 'http://www.aaa.com/member/index.php';

2:discuz
(1)主要在系统后台管理设置discuz的通行证如图所示
  在扩展设置-》通行证设置那里设置


注意这里是设置dede的会员登陆、会员注册、会员退出的地址
关键是设置好通行证私有密匙 记住跟dede的要一致 参考dede的include/config_passport.php的配置。这里假设是UfJDq4089S

好了把这些看明白之后。大家把zxwpassport.php和修改后的index_do.php下载。放到
member/目录下就ok了。这里index_do.php只是加入了discuz同步的处理其实很简单
比如。同步登陆一般都是加入如下的语句就可以。只有在登陆的时候加了一个email提取
CODE:

    $row = $dsql->GetOne("select email from #@__member where ID='".$cfg_ml->M_ID."'");
    $dedeemail = $row['email'];    
    $dsql->Close();
    //与discuz论坛同步登陆开始
    if ($cfg_discuz==1)
    {
      discuzlogin($userid,$pwd,$dedeemail);  
    }//$cfg_discuz==1 结束
    //与disuz论坛同步登陆结束  
[Copy to clipboard]
 
最后记住在zxwpassport.php函数处理中。设置好自己的回转地址:
Location: http://localhost/bbs/api/passport.php
$forward     = 'http://localhost/member/index.php';

当然也可以写到配置文件中。不过懒得写了。大家自己弄吧。很简单的

zxwpassport.php和index_do.php文件打包成passport.rar文件了
下载此文件

    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3