ajax.php代码注释!common.inc.php已发请各位指教
查看( 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 编辑 ]
<?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: