2.2.2 PHP字符串函数实战练习

PHP注册页面 reg.php

PHP接收文件 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);//$favStr=emplode(',',$fav);
}
$verify=trim(strtolower($_POST['verify']));
$verify1=strtolower($_POST['verify1']);
$redirectUrl='<a href="./reg.php">重新注册</a>';

PHP中用户名的校验

//检测用户名的合法性
//检测用户名是否以字母开头
$char=$username[0];//$char=substr($username,0,1);
// echo $char;
//检测第一个字符是否为字母
$ascii=ord($char);//得到指定字符的ASCII
//检测ASCII是否在65~90(A~Z)或者97~122(a~z)
if(!(($ascii>=65&&$ascii<=90)||($ascii>=97&&$ascii<=122))){
    exit('用户名没有以字母开头!<br/>'.$redirectUrl);
}
//检测用户名长度是否符合要求6~10
$userlen=strlen($username);
if($userlen<6 || $userlen>10){
    exit('用户名长度不符合规范!<br/>'.$redirectUrl);
}

PHP中密码的校验

//检测密码不能为空
$pwdLen=strlen($password);
if($pwdLen==0){
    exit('密码不能为空!<br/>'.$redirectUrl);
}
//检测密码长度是否符合规范 6~10
if($pwdLen<6||$pwdLen>10){
    die('密码长度不符合规范!<br/>'.$redirectUrl);
}
//检测两次密码是否一致
if($password!==$password1){//if (strcmp($password,$password1)!==0)
    exit('两次密码不一致!!<br/>'.$redirectUrl);
}

PHP中邮箱的验证

//检测邮箱合法性,字符串中包含@
if (!strpos($email,'@')){
    exit('请输入正确的邮箱地址!<br/>'.$redirectUrl);
}

PHP中验证码的校验

//检测验证码是否符合规范
if($verify!==$verify1){
    exit('验证码错误!<br/>'.$redirectUrl);
}

PHP中显示用户信息

//显示用户信息
echo '恭喜您注册成功,用户信息如下:<br/>';
$userInfo=<<<EOF
<table border="1" cellpadding="0" cellspacing="0" width="70%" bgcolor="#ABCDEF">
    <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;

doAction.php完整代码

在线测试地址

本文是全系列中第16 / 24篇:PHP快速入门

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

滚动至顶部