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

1.创建test数据库并建立user表
在这里插入图片描述
user表结构如下
在这里插入图片描述
2.编写lineMysql.php

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

<?php
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>

<?php
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 "<script>alert('该用户不存在!')</script>";
    }else{
        if($password==$assoc['password']){
            $_SESSION['username']=$username;
            header('Location:loginSuccess.php');
        }else{
            echo "<script>alert('密码错误!')</script>";
        }
    }
}
?>


4.loginSuccess.php

登录成功页

<?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>

<?php
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 "<script>alert('两次输入密码不同!')</script>";
            }else{
                $db->insert("user","$username","$password");
                header('Location:registerSuccess.php');
            }
        }else{
            echo "<script>alert('请输入密码!')</script>";
        }
    }else{
        echo "<script>alert('该用户名已被注册!')</script>";
    }
}
?>

6.registerSuccess.php

注册成功页

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

7.最后将整个项目文件放到wampserver的www目录下,通过浏览器访问login.php页面即可。
在这里插入图片描述
在这里插入图片描述

  • 38
    点赞
  • 362
    收藏
    觉得还不错? 一键收藏
  • 24
    评论
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值