永发信息网

求教为什么一直显示非法访问(PHP)

答案:2  悬赏:0  手机版
解决时间 2021-02-05 23:21
if(!isset($_POST['submit'])){
exit('非法访问!');
}
$username = $_POST['username'];
$password = $_POST['password'];
$email = $_POST['email'];
//注册信息判断
if(!preg_match('/^[\w\x80-\xff]{3,15}$/', $username)){
exit('错误:用户名不符合规定。返回');
}
if(strlen($password) < 6){
exit('错误:密码长度不符合规定。返回');
}
if(!preg_match('/^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$/', $email)){
exit('错误:电子邮箱格式错误。返回');
}
//包含数据库连接文件
include('conn.php');
//检测用户名是否已经存在
$check_query = mysql_query("select uid from user where username='$username' limit 1");
if(mysql_fetch_array($check_query)){
echo '错误:用户名 ',$username,' 已存在。返回';
exit;
}
//写入数据
$password = MD5($password);
$regdate = time();
$sql = "INSERT INTO user(username,password,email,regdate)VALUES('$username','$password','$email',
$regdate)";
if(mysql_query($sql,$conn)){
exit('用户注册成功!点击此处 登录');
} else {
echo '抱歉!添加数据失败:',mysql_error(),'
';
echo '点击此处 返回 重试';
}
?>
最佳答案
需要从登录页面访问此数据处理页面,不然它会一直提示“非法访问”,因为直接访问的话,isset($_POST['submit']的值为假
全部回答
例子代码: $user="sdafdsg"; if(preg_match("/^[0-9a-za-z]{4,21}$/",$user)){  echo "ok";  } 下面是php官方对 preg_match函数的介绍 preg_match (php 4, php 5) preg_match — 执行一个正则表达式匹配 说明 int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] ) 搜索subject与pattern给定的正则表达式的一个匹配. 参数 pattern 要搜索的模式,字符串类型。 subject 输入字符串。 matches 如果提供了参数matches,它将被填充为搜索结果。 $matches[0]将包含完整模式匹配到的文本, $matches[1] 将包含第一个捕获子组匹配到的文本,以此类推。 flags flags可以被设置为以下标记值: preg_offset_capture 如果传递了这个标记,对于每一个出现的匹配返回时会附加字符串偏移量(相对于目标字符串的)。 注意:这会改变填充到matches参数的数组,使其每个元素成为一个由 第0个元素是匹配到的字符串,第1个元素是该匹配字符串 在目标字符串subject中的偏移量。 offset 通常,搜索从目标字符串的开始位置开始。可选参数 offset 用于 指定从目标字符串的某个未知开始搜索(单位是字节)。 note: 使用offset参数不同于向preg_match() 传递按照位置通过substr($subject, $offset)截取目标字符串结果, 因为pattern可以包含断言比如^, $ 或者(?<=x)。 比较: 以上例程会输出: array ( ) 当这个示例使用截取后传递时 将会产生匹配 array (    [0] => array        (            [0] => def            [1] => 0        ) ) 返回值 preg_match()返回 pattern 的匹配次数。 它的值将是0次(不匹配)或1次,因为preg_match()在第一次匹配后 将会停止搜索。preg_match_all()不同于此,它会一直搜索subject 直到到达结尾。 如果发生错误preg_match()返回 false。 更新日志 版本 说明 5.3.6    如果 offset 比 subject 的长度还要大则返回 false。     5.2.2    命名子组可以接受(?), (?'name') 以及(?p)语法。之前版本仅接受(?p)语法。     4.3.3    增加了参数offset.     4.3.0    增加了标记preg_offset_capture。     4.3.0    增加了参数flags。     范例 example #1 查找文本字符串"php"
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
阿拉伯数字是东方文明的重大成果。创造发明“
宝踪的意思是什么啊?知道的请说下!
战争游戏 红龙 游戏里人物对话框是英文啊 怎
哪位大侠有 ASTM D3575-08 和ASTM D412-06标
从娄底到西安怎么走?
沦涟的意思是什么啊?知道的请说下!
红牛维他命饮料有限公司北京生产基地北门地址
“哦” 这个字大家应该很常见吧我想这个字大
红薏米芡实茶减肥效果真的好吗
怎么用佳能单反拍出好看的星空
西纪的意思是什么啊?知道的请说下!
什么公司会有物料需求计划的,并且呈现出来的
恭城瑶族自治县统计局地址在哪,我要去那里办
且末县公租房2015年公布名单
之前在工商银行的自助机上办理了一张借记卡,
推荐资讯
踏勘人员进行现场踏勘时需要对现场情况作好()
潜映的意思是什么啊?知道的请说下!
如何使用myeclipse打印GC日志
五零二落的意思是什么啊?知道的请说下!
马铃薯地下年种香瓜行吗
银通园区派出所这个地址在什么地方,我要处理
新创意窗帘地址在什么地方,我要处理点事
生田斗真和山下智久在日本谁比较火?
馨雨休闲茶楼地址有知道的么?有点事想过去
廊坊卫生职业学院地址有知道的么?有点事想过
墙壁一种颜色和另一种颜色之间怎么过度
伊川县葛寨乡葛寨村一中地址在哪,我要去那里
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?