温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PHP字符串操作实战用户注册检测界面

发布时间:2020-06-25 04:49:07 来源:网络 阅读:777 作者:一百个小排 栏目:开发技术

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 >'
    .$string{mt_rand(0,strlen($string)-1)}.'</span>';
}
//echo $code;

?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset='UTF-8'>
    <title>注册练习</title>
</head>
<body>
<h2 align="center">个人注册页面</h2>
<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?>
            <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 != $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字符串操作实战用户注册检测界面
PHP字符串操作实战用户注册检测界面

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI