ajax.php代码注释!common.inc.php已发请各位指教

上一篇 / 下一篇  2007-05-13 02:39:02

查看( 75 ) / 评论( 2 )
common.inc.php见 http://www.discuz.net/thread-545844-1-1.html

<?php

/*
        [Discuz!] (C)2001-2006 Comsenz Inc.
        This is NOT a freeware, use is subject to license terms

        $RCSfile: ajax.php,v $
        $Revision: 1.20 $
        $Date: 2006/08/10 10:23:30 $
*/

require_once './include/common.inc.php'; //包含common.inc.php文件
//访问方面的判断
if(in_array($action, array('checkseccode', 'checkusername', 'checkemail')) && submitcheck('checksubmit')) {
//主要检查用户操作动作,用户注册时是否填写了验证码,用户名,邮件地址,还有表单提交

        if(!$headercharset) { //字符集判断
                @header('Content-Type: text/html; charset='.$charset); //强制向浏览器传送合适的字符集
        }

        @include_once language('messages');

        if($action == 'checkseccode') { //验证码动态检查

                if(intval($seccodeverify) != intval($seccode)) {
                        ajaxmessage('checkseccode', $language['submit_seccode_invalid']);
                } else {
                        ajaxmessage('checkseccode', 'succeed', 1);
                }

        } elseif($action == 'checkusername') { //用户名的检查

                $username = trim($username);

                $guestexp = '\xA1\xA1|^Guest|^\xD3\xCE\xBF\xCD|\xB9\x43\xAB\xC8';
                $censorexp = '/^('.str_replace(array('\\*', "\r\n", ' '), array('.*', '|', ''), preg_quote(($censoruser = trim($censoruser)), '/')).')$/i';
                if(preg_match("/^\s*$|^c:\\con\\con$|[%,\*\"\s\t\<\>\&]|$guestexp/is", $username) || ($censoruser && @preg_match($censorexp, $username))) {
                        ajaxmessage('checkusername', $language['profile_username_illegal']);
                }

                $query = $db->query("SELECT uid FROM {$tablepre}members WHERE username='$username'");
                $username = dhtmlspecialchars(stripslashes($username));

                if($db->num_rows($query)) {
                        eval("\$ajaxmessage = \"".$language['register_check_found']."\";");
                        ajaxmessage('checkusername', $ajaxmessage);
                } else {
                        ajaxmessage('checkusername', 'succeed', 1);
                }

        } elseif($action == 'checkemail' && !$doublee) { //邮件地址的检查

                $email = trim($email);

                $query = $db->query("SELECT uid FROM {$tablepre}members WHERE email='$email' LIMIT 1");
                if($db->num_rows($query)) {
                        ajaxmessage('checkemail', $language['profile_email_duplicate']);
                } else {
                        ajaxmessage('checkemail', 'succeed', 1);
                }
        }
}

function ajaxmessage($objname, $message, $succeed = '0') { //格式化后的JS动态效果
        echo "<script. language=\"JavaScript\">parent.ajaxresponse('$objname', \"".str_replace('"', '\"', $message)."\", $succeed);</script>";
        exit;
}

?>

[ 本帖最后由 arxccv 于 2007-3-6 00:32 编辑 ]

TAG:

我来说两句

(可选)

Open Toolbar