2 登录功能

来源:互联网 发布:淘宝如何申请客服号 编辑:程序博客网 时间:2024/06/05 11:22

在《1 PHP读取表数据》中,可以获取到查询的数据。有了这些查询数据,就可以与用户提交的用户名和密码进行验,进而实现登录功能。

1 获取字段值

如果要获取某个字段的值,将print_r(row);改为echo(row[“username”]);,打开http://localhost/wlvsoft/login.php将会看到下图效果


获取字段值


在这里需要注意echo和print_r语句,他们都有在浏览器中显示数据的功能。print_r的参数为数组,而echo的参数为字符串。

2 获取登录框数据

我们已经获取了数据库中admiin表中的数据,现在还需要获取用户输入的用户名和密码,用于和从数据库获取的数据进行比较。

2.1 修改login.html

打开login.html文件,将字符编码以及title修改如下代码:


<meta http-equiv="Content-Type" content="text/html;       charset=utf-8" /><title>Simpla Admin</title>

为了保持字符编码的统一,一律将编码设置为utf8编码。title为网页浏览器显示的标题,可依据实际需要修改。
接着找到登陆框的html代码,并修改。如代码清单1所示。
代码清单1:login.html


<div id="login-content"><form action="login.php" method="post" >  <!-- 将下面提示信息注释掉,因为我们现在要添加验证功能      <div class="notification information png_bg">        <div> Just click "Sign In". No password needed. </div>      </div>      -->      <p>        <label>Username</label>        <!-- 给用户名输入框添加标识,用于后台获取输入值 -->        <input class="text-input" type="text"                id="username" name="username" />      </p>      <div class="clear"></div>      <p>        <label>Password</label>        <!-- 给用密码输入框添加标识,用于后台获取输入值 -->        <input class="text-input" type="password"               id="password" name="password" />      </p>      <div class="clear"></div>      <p id="remember-password">        <input type="checkbox" />        Remember me </p>      <div class="clear"></div>      <p>        <input class="button" type="submit" value=" Login"                name=”login”/>      </p>    </form>  </div>

在代码中,我们给输入框增加了id、name属性,并赋值。虽然后台是通过name获取输入值的,但是建议将id属性也一并写上,并赋予同样的值。同时给提交按钮增加了name属性,并赋值为“login”,这样就可以在后台获取该值,用来判断是否由按钮提交请求。
在form标签中,method=”post” 表示单击submit标签的时候通过POST方式提交。action=”login.PHP” 表示将输入的数据提交给login.php处理。

2.2 修改login.php

下面修改login.php,测试从登陆界面获取的数据。
代码清单2:login.php


<?php    //设置编码格式    header("content-type:text/html; charset=utf-8");    if(isset($_POST[“login”])){//单击提交按钮,提交请求        echo("username = " . $_POST["username"]);        echo("<br />");        echo("password = " . $_POST["password"]);}?>

当我们在登陆界面输入用户名和密码之后,单击Login按钮。浏览器会将输入的数据(用户名、密码)提交到login.php。login.php负责将获取的用户名和密码打印出来,如下图所示。


获取提交信息


3 用户验证

获取用户提交的数据后,就可以和从数据库查询的数据进行验证。如果验证成功,则进入后台首页面,否则提示错误,并重新登录。

3.1 依据用户输入查询admin表

根据用户的输入,在后台获取输入值,并生成sql查询语句。然后通过查询admin表,判断admin表是否存在输入的用户。如果存在则打印用户信息,否则打印错误信息。如代码清单3所示。
代码清单3:login.php


<?php    /*     *功能:连接数据库     *作者:wlvsoft     *时间:20130714    */    //服务器名,由于在本机部署,所以使用localhost或127.0.0.1    $serverName = "localhost";    //安装mysql数据库的时候,默认用户为root    $userName = "root";    $password = "";//依据需要修改数据库密码    $dbName = "wlvsoft";//数据库名称    //创建连接    $conn=mysqli_connect($serverName, $userName,                          $password, $dbName);    //判断连接是否成功    if (mysqli_connect_errno($conn)){        echo "连接失败: " . mysqli_connect_error();    }/*     *功能:验证用户     *作者:yl     *时间:20130716    */    if(isset($_POST["login"])){//单击提交按钮,提交请求        //获取用户提交的数据        $username = $_POST["username"];        //将输入的密码用md5加密(和数据库中录入数据对应)        $psw = md5($_POST["password"]);            //在表admin中查询是否有匹配的用户        $sql = "select * from admin where username = '{$username}' and password = '{$psw}'";        $result = $conn->query($sql);//查询数据,返回查询的记录集ID        $row = $result->fetch_assoc();//获取记录集中的一行数据        if($row){            print_r($row);//如果存在用户,打印获取的数据        }        else{            echo("用户名或密码错误!");        }    }?>

3.2 页面跳转

验证如果成功,将会跳转到后台首页面。否则将会提示错误,重新跳转到登录界面。在PHP中实现页面跳转有多种方法,这里推荐使用JavaScript方法。


< ?php$url = "http://www.hycollege.net"; //要跳转的网址echo "<script language='javascript' type='text/javascript'>";echo "window.location.href='$url'";//实现跳转功能echo "</script>";?>

下面运用上面的跳转知识,修改login.php代码,如代码清单4所示。
代码清单4:login.php


<?php    ……    //如果存在用户,跳转到后台首页面    if($row){        $url = "http://localhost/wlvsoft/index.html";        echo "<script language='javascript' type='text/javascript'>";        echo "alert('登陆中...');";        echo "window.location.href='{$url}'";        echo "</script>";    }    else{        $url = "http://localhost/wlvsoft/login.html";        echo "<script language='javascript' type='text/javascript'>";        echo "alert('用户名或密码错误!');";        echo "window.location.href='{$url}'";        echo "</script>";    }?>
0 0
原创粉丝点击