php连接mysql数据库,实现简单的登录注册

1.创建test数据库并建立user表
php连接mysql数据库,实现简单的登录注册_第1张图片
user表结构如下
php连接mysql数据库,实现简单的登录注册_第2张图片
2.编写lineMysql.php

实现连接mysql数据库,并创建查询,插入等方法


class Mysql{
    private $host;
    private $root;
    private $passwords;
    private $database;

    #析构函数,具有构造函数的类,在创建对象时会调用构造函数,完成一些初始化的操作。
    function __construct($host,$root,$passwords,$database){
        $this->host = $host;        # $this-> 在类本身内部使用本类的属性或者方法
        $this->root = $root;
        $this->passwords = $passwords;
        $this->database = $database;
        $this->connect();
    }

	#连接数据库
    function connect(){
       $this->conn=mysqli_connect($this->host,$this->root,$this->passwords);	#连接数据库服务器
        mysqli_query($this->conn,"set names utf8");							#设置字符集
        mysqli_select_db($this->conn,$this->database);						#选择数据库
    }
	
	#创建查询结果集
    function query($sql){
        return mysqli_query($this->conn,$sql);
    }
	
	#返回结果集中的记录总数
    function rows($result){
        return mysqli_num_rows($result);
    }
	
      #自定义查询方法selectbyId
    function selectbyUser($table,$username){
        return $this->query("SELECT * FROM $table where username='$username'");
    }
	
    //自定义插入数据方法
    function insert($table,$username,$password){
        $this->query("INSERT INTO $table (username,password) VALUES ('$username','$password')");
    }

    #mysql_fetch_assoc() 函数从结果集中取得一行作为关联数组。
    function assoc($result){
        return mysqli_fetch_assoc($result);
    }

	#数据库关闭
    function dbClose(){
        mysqli_close($this->conn);
    }
	
	
}
$db = new Mysql("localhost","root","123456","test");
?>

3.login.php

登录页面

<form action="" method="post">
    <p>用户名:<input type="text" name="username" value=""></p>
    <p>密码:<input type="text" name="password" value=""></p>
    <input type="submit"  value="登录">
</form>
<a href="register.php">注册</a>


session_start();
require("lineMysql.php");

if(!empty($_POST['username'])){

    $username = $_POST['username'];
    $password = $_POST['password'];

    $select = $db->selectbyUser("user", $username);     # $db-> 调用实例化对象db中的方法
    $rows=$db->rows($select);       #返回的结果集记录总数 
    $assoc = $db->assoc($select);   #从结果集中取得一行作为关联数组

    if(empty($rows)){
        echo "";
    }else{
        if($password==$assoc['password']){
            $_SESSION['username']=$username;
            header('Location:loginSuccess.php');
        }else{
            echo "";
        }
    }
}
?>


4.loginSuccess.php

登录成功页


session_start();
if (isset($_SESSION['username'])) {
    echo '欢迎您,'.$_SESSION["username"];
}
?>
<br>
<a href="login.php">注销</a>

5.register.php

注册页面

<form action="" method="post">
    <p>用户名:<input type="text" name="username" value=""></p>
    <p>密码:<input type="text" name="password1" value=""></p>
    <p>确认密码:<input type="text" name="password2" value=""></p>
    <input type="submit"  value="注册">
</form>


session_start();
require("lineMysql.php");

if(!empty($_POST['username'])){
    $username = $_POST['username'];
    $password = $_POST['password1'];
    $select = $db->selectbyUser("user", $username);
    $rows=$db->rows($select);       #返回的结果集记录总数
    if(empty($rows)){
        if(!empty($_POST['password1'])){
            if($_POST['password1'] != $_POST['password2']){
                echo "";
            }else{
                $db->insert("user","$username","$password");
                header('Location:registerSuccess.php');
            }
        }else{
            echo "";
        }
    }else{
        echo "";
    }
}
?>

6.registerSuccess.php

注册成功页

注册成功!<a href="login.php">去登录</a>

7.最后将整个项目文件放到wampserver的www目录下,通过浏览器访问login.php页面即可。
php连接mysql数据库,实现简单的登录注册_第3张图片
php连接mysql数据库,实现简单的登录注册_第4张图片

你可能感兴趣的:(mysql,phpstorm,visual,studio,code,html,php)