PHP字符串操作实战用户注册检测界面
2018-07-11 15:02
1001 查看
PHP字符串操作实战用户注册检测界面
一.重点
用字符串的内置函数对输入的字符串进行处理
substr() 取字符串
ord()转为ascii码
str()把ascii码转为字符串
strcmp()比较两个字符串,转为ascii码比较
strcasecmp()忽略大小写比较
strpos($string,字符)字符串中查找,返回第一次出现的值,没有返回false
stripos()忽略大小写
strrpos()最后出现的位置
strip_tags()过滤字符串的html和php标记
strip_tags($str,'<a>')留下<a>标签
strtolower()转为小写
trim()过滤两端空格
ltrim()过滤左空格
rtrim()过滤右空格
empty()是否为空
join(‘,‘,$string)以‘,‘分隔 ,数组转为字符串
md5()加密字符串
sha1()加密字符串
二.练习代码用户登录注册页面
两个页面 register.php doaction.php
register.php 首页代码
<?php //简单的制作验证码字符串 $string = 'qwertyuiopasdfgjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890'; //echo $string{mt_rand(0,strlen($string)-1)}; $code = ''; for($i=0;$i<4;$i++) { $code .= '<span style="color:rgb('.mt_rand(0,255).','.mt_rand(0,255).','.mt_rand(0,255).')">' .$string{mt_rand(0,strlen($string)-1)}.'</span>'; } //echo $code; ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset='UTF-8'> <title>注册练习</title> </head> <body> <h1 align="center">个人注册页面</h1> <div align="center"> <form method="post" action="doaction.php"> <table border="1" cellspacing="0" cellpadding="0" width="60%" bgcolor="#ABCDEF"> <tr> <td align="center">用户名</td> <td><input type="text" name="username" id="" placeholder='请输入合法的用户名...'>用户名首字母以字母开始,并且长度6~10</td> </tr> <tr> <td align="center">密码</td> <td><input type="password" name="password" placeholder='请输入密码'>密码不能为空长度6~10</td> </tr> <tr> <td align="center">确认密码</td> <td><input type="password" name="password1" id="" placeholder='请输入确认密码'>两次密码输入一直</td> </tr> <tr> <td align="center">邮箱</td> <td><input type="text" name="email" id="" placeholder='请输入合法的邮箱名'>邮箱必须包含@</td> </tr> <tr> <td align="center">兴趣爱好</td> <td> <input type="checkbox" name="fav[]" id="" value="php">php <input type="checkbox" name="fav[]" id="" value="java">java <input type="checkbox" name="fav[]" id="" value="python">python <input type="checkbox" name="fav[]" id="" value="javascript">javascript <input type="checkbox" name="fav[]" id="" value="vue">vue </td> </tr> <tr> <td align="center">验证码</td> <td> <input type="text" name="verify"><?php echo $code? 936 > <input type="hidden" name="verify1" value="<?php echo strip_tags($code)?>"> </td> </tr> <tr> <td align="center" colspan="2"><input type="submit" value="立即注册"></td> </tr> </table> </div> </form> </body> </html>
doaction.php 后端验证代码
<?php header("Content-type:text/html;charset=utf-8"); //接收数据 $username = $_POST['username']; $password = $_POST['password']; $password1 = $_POST['password1']; $email = $_POST['email']; $fav = $_POST['fav']; //判断用户是否选择了爱好,并将数据转化为字符串显示出来,并用,分隔 if (!empty($fav)) { $favStr=join(',',$fav); } $verify = trim(strtolower($_POST['verify']));//都转化为小写,并去掉两边的空格 $verify1 = trim(strtolower($_POST['verify1']));//都转化为小写,并去掉两边的空格 //echo $verify1; $redirectUrl = '<a href="register.php">重新注册</a>'; //检测第一个字符是不是字母 //$char = $username{0}; $char = substr($username,0,1); $ascli = ord($char);//得到指定字符的ascli码 //检测ascli是否在65~90(A~Z)或者97~122(a~z)之间表示是字母 if (!(($ascli>=65 && $ascli<=90) || ($ascli>=97 && $ascli<=122))) { exit('用户名首字母不是以字母开头开始<br>'.$redirectUrl); } //检测用户名长度6~10 $userLen = strlen($username); if ($userLen<6 || $userLen>10) { exit('用户名长度必须是6~10<br>'.$redirectUrl); } //检测密码不能为空 $passwdLen = strlen($password); if ($passwdLen == 0) { die('密码不能为空<br>'.$redirectUrl); } //检测密码长度6~10 if($passwdLen<6 || $passwdLen>10) { die('密码长度不符合规范<br>'.$redirectUrl); } //检测密码两次是否一致 //if ($password != $password1 ) { // exit('两次密码不一致<br>'.$redirectUrl); //} if (strcmp($password, $password1) != 0) { exit('两次密码不一致<br>'.$redirectUrl); } //检测邮箱的合法性 if (strpos($email, '@') == false) { //0==false 0也返回false exit('非法邮箱<br>'.$redirectUrl); } //检测验证码是否符合规范 if ($verify b62 != $verify1) { exit('验证码错误<br>'.$redirectUrl); } //使用md5进行加密密码 $password = md5($password); echo "恭喜您注册成功,用户信息如下:"; $userinfo=<<<EOF <table border="1" cellspacing="0" cellpadding="0" width="50%"> <tr> <td>用户名</td> <td>密码</td> <td>邮箱</td> <td>兴趣爱好</td> </tr> <tr> <td>$username</td> <td>$password</td> <td>$email</td> <td>$favStr</td> </tr> </table> EOF; echo $userinfo; ?>
三.截图
相关文章推荐
- php创建新用户注册界面布局实例
- jquery与php交互的ajax应用第一课:检测用户注册时用户名是否存在
- PHP PEAR/HTML/QuickForm实现用户注册表单界面
- 学习笔记2-确认删除操作-动态添加元素、事件-用户注册界面
- PHP+Ajax实现用户注册的界面
- jquery与php交互的ajax应用第一课:检测用户注册时用户名是否存在
- 采用php与Mysql数据库完成用户注册登录等操作
- JDBC编程作业--登陆界面的实现(检测数据库中是否有用户名,并且可以注册用户)!
- php+redis 实现用户注册等操作
- PHP PEAR/HTML/QuickForm实现用户注册表单界面
- jquery与php交互的ajax应用第一课:检测用户注册时用户名是否存在
- 注册用户名称的PHP验证以及含中英文混合的字符串长度的判断
- PHP实现的注册,登录及查询用户资料功能API接口示例
- 【Android】用户登录注册界面开发及用户信息管理案例代码详解
- PHP 字符串操作(一)
- AJAX应用之注册用户即时检测
- (新)PHP 用户注册功能
- Delphi 检测用户超过多长时间没有操作键盘或鼠标
- PHP+AJAX实现无刷新注册(带用户名实时检测)
- PHP中一些可以替代正则表达式函数的字符串操作函数