美文网首页
php简单应用之登录注册交互

php简单应用之登录注册交互

作者: 茴香豆的第五种写法 | 来源:发表于2017-10-18 16:05 被阅读0次

    在进行了简单的学习后,下面用一个列子让我们更深入的了解php的学习,其中就是最简单的模型登录注册方式,我们先看看项目的目录结构如下:

    结构图

    其中.idea应该是编译后产生的文件,主体中分为admin文件夹,里面包含了字体和php类,在public中我们选择存放了img,css等样式文件和相关的web布局.

    一:我们先看注册效果图:

    注册图

    我们先注册一个Name为123;email=122@qq.com,密码为111111的用户.

    成功图

    下面就来看看数据库中是否已经注册成功:

    数据库

    显然是成功了,然后继续看实现的逻辑类,这里我们不看每个字段的校验规则,主要先看数据库连接配置:

    连接数据库 这里配置mysql的连接和指定数据库名称

    private$username;

    private$db;

    private$email;

    private$pwd;

    private$con;

    private$code;

    这写填写的值可以通过$_POST来获取

    $this->username=$_POST['username'];

    在插入数据时候先判断该用户是否已经被注册过了,判断代码:

    $sql="SELECTcount(*) FROM users WHERE username = '".$this->username."'";

    $count=mysqli_fetch_row($this->db->query($sql))[0];

    if($count) {

    echo"1";

    }else{

    echo"0";

    }

    然后插入数据实现注册:

    $sql="INSERT INTO users (username, email, password) VALUES ('".$this->username."','".$this->email."','".$this->pwd."')";

    $result=$this->db->query($sql);

    if($result) {

    $this->db->close();

    echo"alert('Successful registration, please log in!');location.href= '/';";

    exit();

    }else{

    echo$this->db->error;

    exit();

    }

    二:登录效果图:

    登录效果图

    点击登录后:

    提示

    这个时候提示用户名或者密码错误,不慌,我们可以断点看看为啥原因,下面说说如何设置断点调试.

    1:火狐浏览器+

    debug扩展工具

    2:配置xdebug

    3:配置service映射文件

    配置好后我们run debug,浏览器中也选中debug,

    这里一定要开启监听

    运行后进入断点:

    断点图

    这里我们可以看到转化后的密码为:96e79218965eb72c92a549dd5a330112

    而我们数据库中的密码为:96e7921896所以导致了密码不匹配的提示

    这里我们用截取字符串的方式来截取前10位保证与数据库一样,修改代码如下:

    if ($strlen < 6 || $strlen > 20) {

    echo "alert('Password length of illegal.please try again!');history.go(-1);"; 

     exit();            

    } else {  

     //这里数据库存的前10位    

       $newpwd = substr(md5($this->password), 0, 10);   

        $this->password =$newpwd;     

        }

    然后再次运行就可以了,效果图:

    登录成功

    三:提交表单的部分,php中可以直接$_POST获取到name中指定的值

    我们来看下提交登录时候做了什么操作:

    <form action="admin/Login.php" method="post" accept-charset="utf-8" class="form-horizontal" >

    ........

    ........

    <button type="submit" class="btn btn-primary" name="login">Login</button>

    后续补上git地址,欢迎大家star,持续更新中...

    https://github.com/JianhuaWan/php/tree/master/register_login

    相关文章

      网友评论

          本文标题:php简单应用之登录注册交互

          本文链接:https://www.haomeiwen.com/subject/szfeuxtx.html