PHP实现一个简陋的注册登录页面

栏目: PHP · 发布时间: 6年前

内容简介:PHP菜鸟今天来水一篇没有**用的 /滑稽脸,代码简陋臃肿考虑不全,各位大佬轻喷,还望不吝赐教。首先考虑了一下需要至少四个页面:

PHP菜鸟

今天来水一篇没有**用的 /滑稽脸,代码简陋臃肿考虑不全,各位大佬轻喷,还望不吝赐教。

首先考虑了一下需要至少四个页面: register.htmlregister.phplogin.htmllogin.php

register.html 是这么写的:

<!DOCTYPE html>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<head>
    <title>注册界面</title>
</head>
<body>
    <form action="register.php" method="post">
        用户名:<input type="text" name="name"></input>
        <br />
        密码:<input type="password" name="password"></input>
        <br />
        <input type="submit" value="注册"></input>
    </form>
</body>
</html>

register.php 是这么写的:

<?php
    header("Content-type:text/html;charset=utf-8");
    $conn=new mysqli('localhost','wy','000000','test');
    if ($conn->connect_error){
        die("服务器连接失败!");
    }
    $name=$_POST["name"];
    $password=$_POST["password"];
    $sql="insert into new_info values('$name',$password)";
    $res=$conn->query($sql);
    if(!$res){
        echo "注册失败!";
    }else{
            if($conn->affected_rows>0){
                sleep(2);
                header("Location:login.html");
                exit;
            }else{
                echo "注册失败";
            }
    }
    $conn->close();
?>

login.html 是这么写的:

<!DOCTYPE html>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<head>
    <title>登录界面</title>
</head>
<body>
    <p>注册成功,请登录!</p>
    <form action="login.php" method="post">
        用户名:<input type="text" name="name"></input>
        <br />
        密码:<input type="password" name="password"></input>
        <br />
        <input type="submit" value="登录"></input>
    </form>
</body>
</html>

login.php 是这么写的:

<?php
    header("Content-type:text/html;charset=utf-8");
    $conn=new mysqli('localhost','wy','000000','test');
    if ($conn->connect_error){
        die("服务器连接失败!");
    }
    $name=$_POST["name"];
    $password=$_POST["password"];
    $sql_name="select name from new_info where name='$name'";
    $res_sql=$conn->query($sql_name);
    if($conn->affected_rows==0){
        die("账号或密码有误");
    }else{
        $sql_pass="select password from new_info where name='$name'";
        $res_pass=$conn->query($sql_pass);
        $row_pass=$res_pass->fetch_row();
        if($row_pass[0]==$password){
            echo "登录成功!";
        }else{
            echo "账号或密码有误";
        }
    }
    $conn->close();
?>

然后来看一下效果:

PHP实现一个简陋的注册登录页面 PHP实现一个简陋的注册登录页面

看一下数据库:

PHP实现一个简陋的注册登录页面

可以看到已经将数据写入数据库。

接着来登录试一下:

PHP实现一个简陋的注册登录页面 PHP实现一个简陋的注册登录页面

换个错误密码试一下:

PHP实现一个简陋的注册登录页面 PHP实现一个简陋的注册登录页面

#### 2018-09-04 问题修正:

1.用户密码加密

2.数据库编码问题

1.用户密码加密

register.php 页面:

<?php
    header("Content-type:text/html;charset=utf-8");
    $conn=new mysqli('192.168.134.128','root','123456','test');
    if ($conn->connect_error){
        die("服务器连接失败!");
    }
    $name=$_POST["name"];
    $password=$_POST["password"];
    $password=md5($password);     //将用户输入的密码进行md5加密
    $sql="insert into test values('$name','$password')";
    $res=$conn->query($sql);
    if(!$res){
        echo "注册失败!";
   }else{
            if($conn->affected_rows>0){
                sleep(2);
                header("Location:login.html");
            }else{
                echo "注册失败";
            }
    }
    $conn->close();
?>

login.php 页面:

<?php
    header("Content-type:text/html;charset=utf-8");
    $conn=new mysqli('192.168.134.128','root','123456','test');
    if ($conn->connect_error){
        die("服务器连接失败!");
    }
    $name=$_POST["name"];
    $password=$_POST["password"];
    $password=md5($password);    //对用户输入的密码进行md5加密
    $sql_name="select name from test where name='$name'";
    $res_sql=$conn->query($sql_name);
    if($conn->affected_rows==0){
        die("账号或密码有误!");
    }else{
        $sql_pass="select password from test where name='$name'";
        $res_pass=$conn->query($sql_pass);
        $row_pass=$res_pass->fetch_row();
        if($row_pass[0]==$password){            //将用户输入的加密密码与数据库密码进行对比
            echo "登录成功!";
        }else{
            echo "账号或密码有误";
        }
    }
    $conn->close();
?>

2.数据库编码问题

在数据库执行 set names utf8 命令,将数据库编码改为 utf8

这样就可以使用中文名注册登录。

#### 2018-09-06 问题修正:

用户注册或者登录时输入为空的问题

register.php 页面:

<?php
    header("Content-type:text/html;charset=utf-8");
    $conn=new mysqli('192.168.134.128','root','123456','test');
    if ($conn->connect_error){
        die("服务器连接失败!");
    }
    $name=$_POST["name"];
    $password=$_POST["password"];
    if(empty($name) || empty($password)){             //判断注册时账号或密码是否为空
        die('账号或密码不能为空!');
    }else{
        $password=md5($password);
        $sql="insert into test values('$name','$password')";
        $res=$conn->query($sql);
        if(!$res){
            echo "注册失败!";
        }else{
                if($conn->affected_rows>0){
                    sleep(2);
                    header("Location:login.html");
                }else{
                    echo "注册失败";
                }
        }
        $conn->close();
    }
?>

login.php 页面:

<?php
    header("Content-type:text/html;charset=utf-8");
    $conn=new mysqli('192.168.134.128','root','123456','test');
    if ($conn->connect_error){
        die("服务器连接失败!");
    }
    $name=$_POST["name"];
    $password=$_POST["password"];
    if(empty($name) || empty($password)){           //判断登陆时账号或密码是否为空
        die('账号或密码不能为空!');
    }else{
        $password=md5($password);
        //var_dump($password);
        $sql_name="select name from test where name='$name'";
        $res_sql=$conn->query($sql_name);
        if($conn->affected_rows==0){
            die("账号或密码有误!");
        }else{
            $sql_pass="select password from test where name='$name'";
            $res_pass=$conn->query($sql_pass);
            $row_pass=$res_pass->fetch_row();
            if($row_pass[0]==$password){
                echo "登录成功!";
            }else{
                echo "账号或密码有误";
            }
        }
        $conn->close();
    }

?>

代码臃肿,还望见谅。


以上所述就是小编给大家介绍的《PHP实现一个简陋的注册登录页面》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Never Lost Again

Never Lost Again

[美] Bill Kilday / HarperBusiness / 2018-5-29 / USD 8.00

As enlightening as The Facebook Effect, Elon Musk, and Chaos Monkeys—the compelling, behind-the-scenes story of the creation of one of the most essential applications ever devised, and the rag-tag tea......一起来看看 《Never Lost Again》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试