做一个最简单的登陆注册功能,看一下这个功能是怎么实现的:
从原理上来说,其实很简单,就是将用户输入的值进行储存,然后匹配,以此达到注册以及登陆的目的。
首先,做一个最简单的登陆注册页面:
<code lang="html">
<section>
    <div id="button">
        <button>login</button>
        <button>register</button>
    </div>
    <div id="login">
        <form action="login.php" method="post">
            账户:<input type="text" name="uname" value=""/><br/>
            密码:<input type="password" name="password" value=""><br/>
            <input type="submit" value="登陆"/>
        </form>
    </div>
    <div id="register" style="display: none;">
        <form action="register.php" method="post">
            账户:<input type="text" name="uname" value=""/><br/>
            密码:<input type="password" name="password" value=""><br/>
            确认密码:<input type="password" name="repassword" value=""><br/>
            <input type="submit" value="注册"/>
        </form>
    </div>
    <script type="text/javascript">
        var buttons=document.getElementsByTagName('button');
        var login=document.getElementById('login');
        var register=document.getElementById('register');
        buttons[0].onclick=function () {
            login.style.display='block';
            register.style.display='none';
        };
        buttons[1].onclick=function () {
            register.style.display='block';
            login.style.display='none';
        }
    </script>
</section>
</code>
然后做一个注册功能:
<code lang="php">
if(trim($_POST['password'])!=trim($_POST['repassword'])) {
        exit('<script>alert("密码输入错误,请重新数密码");history.back(-1);</script>');
    }
    $username=trim($_POST['uname']);
    $password=md5(trim($_POST['password']));
    $mysql=mysqli_connect('localhost','root','');
   if(mysqli_errno($mysql)){//如果有错误,存在错误号,则输出错误号。
       echo mysqli_errno($mysql);
       exit;
   }
   mysqli_select_db($mysql,'test');
   mysqli_set_charset($mysql,'utf8');
    //如果表不存在,则建立数据库表,以及字段
    $create="CREATE TABLE IF NOT EXISTS user(
                  username varchar(100) NOT NULL ,
                  password varchar(100) NOT NULL
                ) ";
    mysqli_query($mysql,$create);
    //在数据库查询账户名字,看名字是否被注册
    $select = "SELECT username FROM user where username='$username'";
    $rows=mysqli_num_rows( mysqli_query($mysql,$select));
    if($rows === 0){
        $insert = "INSERT INTO user(username,password) VALUES('$username','$password')";
        $query=mysqli_query($mysql,$insert);
    }else{
        mysqli_close($mysql);
        exit('<script>alert("用户名已被注册");history.back(-1);</script>');
    }
</code>
注册功能要注意的是密码的加密,当前我用的是最简单的md5加密方式。
最后就是登陆功能了:
<code lang="php">
$username=$_POST['uname'];
$password=md5($_POST['password']);
$mysql=mysqli_connect('localhost','root','','test');
$select="SELECT * FROM user WHERE username='$username'";
$result= mysqli_query($mysql,$select);
$rows=mysqli_num_rows($result);
if($rows===0){
    exit("<script>alert('用户不存在');history.back(-1);");
}else{
    $row=mysqli_fetch_array($result);
    if($password===$row['password']){
        print_r("<script>alert('登陆成功');</script>");
    }else{
        exit('登陆失败');
    }
}
</code>
登陆功能其实就是输入值与数据库里的值进行匹配,如果匹配则登陆,否则不登陆。