纵有疾风起
人生不言弃

技能测试1:面向对象编码实现用户注册

个人自定义一个用户注册类完成数据库的连接和入库:

1.面向对象的思想就是一个动作交给某一个具体的方法去实现

2.通过php连接数据库插入数据前记得设置$pdo->query(“SET NAMES utf8”),否则中文插入后会在数据库中显示乱码;

<?php

    header(“Content-type:text/html;charset=utf-8”);
    class User{
        private $conn;//数据库连接资源
        private $error;//数据有效性验证

        //公有方法完成调用账户注册
        function doreg($arr){

            //数据库的连接
            $this->conn();
            //数据的验证
            $yan=$this->validate($arr);
            if(!$yan){
                echo $this->error;
                die();
            }

            //数据入库
            $res=$this->add($arr);
            if($res){
                echo “数据添加成功!<br>”;
            }else{
                echo “数据入库失败!<br>”;
            }

        }
        //数据库连接
        private function conn(){
            //通过PDO完成数据库的连接
            $user=’root’;
            $pwd=”;
            try{
                $this->conn=new PDO(‘mysql:host=localhost;dbname=test’,$user,$pwd);

                echo “数据库连接成功!”.”<br>”;

            }catch(PDOException $e){
                echo “数据库连接失败!”.$e->getMessage().”<br>”;
                die();
            }    
        }

        //表单提交验证
        private function validate($arr){

            $username=$arr[‘username’];
            $age=$arr[‘age’];
            //验证账号
            if(!preg_match(‘/^[_0-9a-zA-Z]{6,12}$/’,$username)){
                $this->error=”账号输入不合法”;
                return false;
            }

            //输入年龄验证
            if($age>=1&&$age<=150){
                return true;
            }else{
                $this->error= “年龄输入不合法”;
                return false;
            }

            //其他验证省略,哈哈笑哭!
        }

        //数据插入
        private function add($arr){

            //设置php插入数据库字符集为utf-8
            $this->conn->query(“SET NAMES utf8”);
            $sql=”insert into user(username,caname,sex,age,mail,phone)values(?,?,?,?,?,?)”;
            $stmt=$this->conn->prepare($sql);

            $res=$stmt->execute(array($arr[‘username’],$arr[‘caname’],$arr[‘sex’],$arr[‘age’],$arr[‘mail’],$arr[‘phone’]));
            return $res;

        }
    }
?>

原文链接:https://blog.csdn.net/living_ren/article/details/78731670

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

未经允许不得转载:起风网 » 技能测试1:面向对象编码实现用户注册
分享到: 生成海报

评论 抢沙发

评论前必须登录!

立即登录