取名太难了 發表於 2019-5-27 17:02:00

PHP实现用户登录页面

<p>PHP学习日常,放在上面记录一下咯<br>
我用了bootstrap框架,这样的界面要好看一点<br>
登录页面:<br>
<img src="https://upload-images.jianshu.io/upload_images/17943987-4742175ad26bd103.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240"><br>
必须用户名、密码、验证码都输入正确才能登录成功喔,否则出现下面提示<br>
<img src="https://upload-images.jianshu.io/upload_images/17943987-0361ce39d569fd04.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240"><br>
<img src="https://upload-images.jianshu.io/upload_images/17943987-f83fc575f310e146.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240"><br>
登陆成功之后,登录和注册选项切换为用户昵称和注销选项:<br>
<img src="https://upload-images.jianshu.io/upload_images/17943987-2f83a79d67e9afa3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240"><br>
登陆成功之后:<br>
<img src="//upload-images.jianshu.io/upload_images/17943987-4ebf43850401fff1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240"><br>
选择注销:<br>
<img src="//upload-images.jianshu.io/upload_images/17943987-29f65c9ebb36a5ee.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240"> <img src="//upload-images.jianshu.io/upload_images/17943987-65c0e20b389b0c13.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240"><br>
HTML代码:</p>
<pre><code>&lt;link rel="stylesheet" href="css/bootstrap.css"&gt;
        &lt;style&gt;
          li.toggle{
            display: block;
         }
          li.toggle1{
            display: none;
            }
      &lt;/style&gt;
      &lt;li class="toggle"&gt;&lt;a data-toggle="modal" href="#loginer"&gt;登录&lt;/a&gt;&lt;/li&gt;
      &lt;li class="toggle"&gt;&lt;a data-toggle="modal" href="#register"&gt;注册&lt;/a&gt;&lt;/li&gt;
      &lt;li class="toggle1"&gt;&lt;a id="nicheng" href="##"&gt;&lt;/a&gt;&lt;/li&gt;
      &lt;li class="toggle1"&gt;&lt;a id="logout" href="##"&gt;注销&lt;/a&gt;&lt;/li&gt;
//模态框
&lt;div id="loginer" class="modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel1"
   aria-hidden="true"&gt;
    &lt;div class="modal-dialog"&gt;
      &lt;div class="modal-content"&gt;
            &lt;div class="modal-header"&gt;
                &lt;button type="button" class="close" data-dismiss="modal"&gt;
                  &lt;span aria-hidden="true"&gt;&amp;times;&lt;/span&gt;&lt;span class="sr-only"&gt;Close&lt;/span&gt;&lt;/button&gt;
                &lt;h4 class="modal-title"&gt;请登录&lt;/h4&gt;
            &lt;/div&gt;
            &lt;form id="form_login" class="form-horizontal"&gt;
                &lt;div class="modal-body"&gt;
                  &lt;div class="form-group has-feedback"&gt;
                        &lt;label class="col-sm-3 control-label" for="zh1"&gt;用户名:&lt;/label&gt;
                        &lt;div class="col-sm-9 require"&gt;
                            &lt;input type="text" class="form-control" name="username" id="zh1"
                                 pattern="\w{6,10}" required&gt;
                        &lt;/div&gt;
                  &lt;/div&gt;
                  &lt;div class="form-group has-feedback"&gt;
                        &lt;label class="col-sm-3 control-label" for="pw1"&gt;密码:&lt;/label&gt;
                        &lt;div class="col-sm-9 require"&gt;
                            &lt;input type="password" pattern="\w{6,10}" class="form-control" name="pwd" id="pw1"
                                 required&gt;
                        &lt;/div&gt;
                  &lt;/div&gt;
                  &lt;div class="form-group has-feedback"&gt;
                        &lt;label class="col-sm-3 control-label" for="yzm"&gt;验证码:&lt;/label&gt;
                        &lt;div class="col-sm-5 require"&gt;
                            &lt;input type="text" pattern="\d{4}" class="form-control" name="yzm" id="yzm"
                                 required&gt;
                        &lt;/div&gt;
                        &lt;div class="col-sm-4"&gt;
                            &lt;img src="php/idcode.php" alt=""&gt;
                        &lt;/div&gt;
                  &lt;/div&gt;
                  &lt;div class="form-group has-feedback"&gt;
                        &lt;label id="info" class="col-sm-4 control-label pull-left"&gt;&lt;/label&gt;
                  &lt;/div&gt;
                &lt;/div&gt;
                &lt;div class="modal-footer"&gt;
                  &lt;button type="submit" class="btn btn-primary"&gt;登录&lt;/button&gt;
                  &lt;button type="button" class="btn btn-default" data-dismiss="modal"&gt;关闭&lt;/button&gt;
                &lt;/div&gt;
            &lt;/form&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
</code></pre>
<p>JS代码:</p>
<pre><code>&lt;script src="js/jquery-2.1.3.js"&gt;&lt;/script&gt;
&lt;script src="js/bootstrap.min.js"&gt;&lt;/script&gt;
&lt;script&gt;
    function toggle(){
      $.getJSON("php/get.php",function (res) {
            if(res['flag']){
                $('li.toggle').hide();
                $('li.toggle1').show();
                $('#nicheng').html(res['nc'])
            }else {
                $('li.toggle').show();
                $('li.toggle1').hide();
            }
      });
    }
    toggle();
    $('#form_login').submit(function (e) {
      e.preventDefault();
      var data=$('#form_login').serialize();
      $.getJSON('php/login.php',data,function (res) {
            if(res==3){
                toggle();
                $('#loginer').modal('hide');
            }else if(res==2){
                $('#info').html('用户名或密码有误')
            }else {
                $('#info').html('验证码有误')
            }
      })
    });
    $('#logout').click(function () {
      confirm('确定要注销?');
      $.getJSON('php/logout.php',function (res) {
            if(res)toggle();
      })
    })
    &lt;/script&gt;
</code></pre>
<p>connect.php(连接数据库):</p>
<pre><code>&lt;?php
$link=new PDO("mysql:host=localhost;port=3306;dbname=db","root","");
$link-&gt;query("set names utf8");
</code></pre>
<p>get.php(获取用户登录信息):</p>
<pre><code>&lt;?php
include_once ("connect.php");
session_start();/*开启会话*/
if (isset($_SESSION['username'])){
   /* 判断用户会话里用户名是否存在,即用户是否登录*/
    $json['nc']=$_SESSION['nc'];/*把昵称存起来,一会返回给首页*/
    $json['flag']=true;/*用户已经登录,标志flag为true*/
}else
    $json['flag']=false;/*用户已经登录,标志flag为true*/
echo json_encode($json);/*返回json*/
</code></pre>
<p>login.php(登录):</p>
<pre><code>&lt;?php
include_once ("connect.php");
session_start();/*开启会话*/
$user=$_GET['username'];/*获取登录表单提交过来的数据*/
$pwd=$_GET['pwd'];
$yzm=$_GET['yzm'];
if($yzm==$_SESSION['vCode']){/*当用户输入的验证码和图片验证码相同时*/
    $result=$link-&gt;query("select * from `user` where username='$user' and pwd='$pwd'");
    $link = null;
    $row = $result-&gt;fetch();/*读取从数据库获取的数据*/
    if ($row) {/*如果数据存在,即用户登录成功*/
      $_SESSION['username'] = $row['username'];
      /*将用户名和昵称存在服务器,可以多个页面使用*/
      $_SESSION['nc'] = $row['nc'];
      $flag=3;
    }else{/*用户名或密码错误*/
      $flag=2;
    }
}else{/*验证码输入错误*/
    $flag=1;
}
echo $flag;
</code></pre>
<p>logout.php(注销):</p>
<pre><code>&lt;?php
session_start();
unset($_SESSION['username']);//销毁用户名
unset($_SESSION['nc']);//销毁昵称
echo json_encode(true);//返回结果
</code></pre>
<p>上面登录页面的验证码在我的另一篇文里面,需要的小伙伴可以看一下:<br>
https://www.jianshu.com/p/7473f5bdd9c0</p><br><br>
来源:https://www.cnblogs.com/xyyl/p/10931702.html
頁: [1]
查看完整版本: PHP实现用户登录页面