Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

解析supesite登陆文件batch.panel.php

[复制链接]
benba 发表于 2009-12-1 14:41:55 | 显示全部楼层 |阅读模式
supesite登陆文件 感觉上很复杂 其实 这是一个很简单的文件 只是很多人不懂PHP 或者JS语言看上去很复杂;
首先认识这几个 以<?php  ?> 里面的内容就是PHP的程序  其中 变量 是以美元符号开头的  之所以叫变量  是因为他里面存的值是随程序的执行面改变的;
程序给变量什么值 ,变量 里就存什么值 当我们要想显示变量里面的值的时候  我们称为 "打印变量"  用 功能函数 echo  print 等 ;

函数:是指能为我们完成一些事情而设计的 函数有自己定义函数 和 系统函数;  系统函数是PHP内置的 功能强大 效率很快 所以 如果我们能用系统函数的时候 就多用系统的;  一般 函数是这样用的  formhash();  函数名(值) 如 print ($va);  打印$va变量里的值;

PHP用print或者echo等函数打印变量里的内容  哪么JS用什么呢?
document.write('JS将打印出来这句话')   JS里的函数要长一点 叫document.write('')  只要把内容放到英文的单引号里就可以了;

好了 经过上面的讲解就可以来看SS的登陆文件了;
  1. include_once('./common.php');
  2. include_once(S_ROOT.'./language/batch.lang.php');
复制代码
common.php保存了SS里核心变量及核心功能函数等相关教程请看:https://discuz.dismall.com/thread-1484607-1-1.html;

language/batch.lang.php'  载入 登陆文件 的语文包; 在文件里 凡量以变量 $blang 开头都 就是语句包里的文字  如果我们用的编码统一的话 可以不用到这个语言包 直接改成我们要的文字 就好了;

$uid = $_SGLOBAL['supe_uid'];  //把登陆用户的UID给变量$uid
$ucurl = avatar($uid);   // 把$UID 通过 avatar函数转成 用户的个人中心地址给$UCURL变量;
$siteurl = S_URL_ALL;  //  $siteurl 为SS的首页地址;

下面是登陆文件的大结构:

if(!empty($uid)) {// 如果UID的变量名不为空值  就是说 用户登陆成功的话;就执行 IF下面的语句;
}ELSE{ //否则(这里指UID这个变量是空的用户没有登陆) 就显示一个登陆框出来;

}

IF 成功里面有一些判断;如 SS里聚合了 论坛 就显示 论坛的地址;
  1. if($channels['menus']['bbs']) {
  2.                 $bbshtml = ' | <a href="'.$_SC['bbsurl'].'" target="_blank">'.$blang['forum_visit'].'</a>';
  3.         }
复制代码
如果 聚合了 UCHOME就显示UCHO的地址:
  1.         if($channels['menus']['uchblog'] || $channels['menus']['uchimage']) {
  2.                 $uchhtml = ' | <a href="'.$_SC['uchurl'].'" target="_blank">'.$blang['home_visit'].'</a>';
  3.         }
复制代码
默认里 写了 JS  HTML 等代码  这里 我自己写了一个模板的登陆 大家可以参考一下;
  1. <?php
  2. include('./common.php');
  3. $uid = $_SGLOBAL['supe_uid'];
  4. $siteurl = S_URL_ALL;
  5. if(!empty($uid)) {
  6.         print <<<END
  7.         document.write('欢迎回来:<a href="$siteurl/space.php?uid=$uid">$_SGLOBAL[supe_username]</a> [<a href="$siteurl/batch.login.php?action=logout">退出</a>]·<a class="tx_blue" href="$siteurl/space.php?uid=$uid">我的主页</a>·<a class="tx_blue" href="$siteurl/cp.php">个人中心</a>·<a href="{$_SC[bbsurl]}" target="_blank">论坛</a>·<a href="{$_SC[uchurl]}" target="_blank">博客</a>');
  8. END;
  9.         if(checkperm('manageadmincp')) {
  10.         echo("document.write('·<a href="$siteurl/admincp.php" target="_blank">管理</a>');");}
  11. } else {
  12.         $formhash = formhash();
  13.         print <<<END
  14. document.write('<form id="login_box" action="$siteurl/batch.login.php?action=login" method="post"><label>用户名:</label><input type="text"  name="username" class="input_tx" size="23"  tabindex="1" /><label>密 码:</label><input type="password" name="password" class="input_tx" size="23" tabindex="2" /><input type="submit" name="loginsubmit" class="input_sub" value="登陆" tabindex="5" /><input type="button" class="reg" value="注册" onclick="window.open(\'$siteurl/do.php?action=register\')"/>');
  15.         document.write('<input type="hidden" name="formhash" value="$formhash" /></form>');

  16. END;
  17. }
  18. ?>
复制代码

评分

1

查看全部评分

lidq.jingwu 发表于 2009-12-14 11:29:56 | 显示全部楼层
详解某个文件的教程还没有过,这个很重要,而且也很实用。
回复

使用道具 举报

feiyu9 发表于 2009-12-14 12:37:45 | 显示全部楼层
回复 1# benba

目前的排行榜是按投票数和心情来排行的,对我这类文章系统(www.guotuzy.cn)不实用,想加一个默认的按点击率排行的榜
    求高手,做一个按点击率排行的排行榜模板,

万分感谢!
回复

使用道具 举报

北京公子 发表于 2009-12-17 14:43:33 | 显示全部楼层
本帖最后由 北京公子 于 2009-12-17 14:45 编辑

高手去打酱油了,正在返回的途中。。。。。。

。。。。。。

。。。。。。

。。。。。。

不好!高手在回来的路上意外碰到贾君鹏了。。。。。。

遭了!!!竟然跟着贾君鹏回家吃饭了

。。。。。。

估计还要等好久啊

心神不宁啊

。。。。。。
回复

使用道具 举报

tnjjbb 发表于 2009-12-26 09:55:05 | 显示全部楼层
学习学习,笨吧贡献了很多呢
回复

使用道具 举报

忧伤啊忧伤 发表于 2010-1-17 08:16:13 | 显示全部楼层
学习了,好人啊。
回复

使用道具 举报

wnddd 发表于 2010-4-14 21:56:19 | 显示全部楼层
多谢笨吧!!
回复

使用道具 举报

LeftyYL 发表于 2010-6-29 10:45:37 | 显示全部楼层
高,实在是高!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-12-24 04:19 , Processed in 0.046911 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表