如何用PHP实现简单注册登录系统(附源码)

慕斯
Lepaskan: 2023-04-10 06:40:01
ke hadapan
9612 orang telah melayarinya

 上篇文章给大家介绍了《如何用PHP解决高并发问题?(附源码)》,本文继续给大家介绍如何用PHP实现简单注册登录系统 ,一起研究吧!!!      

如何用PHP实现简单注册登录系统(附源码)

目录结构如下,其中function文件夹下包含两个函数文件,uploads文件夹用于存放上传的文件。
文档结构
注:博主使用的是php5,使用php7的小伙伴运行报错的话有一部分原因是新的语法造成的,修改成新语法就可以了


html页面

登录页面

index.html

<form action="login_process.php" method="POST">
    登录
    <input type="text" name="userName" size="20" maxlength="15" placeholder="请填写用户名及域名">
    <br>

    注册
    <input type="password" name="password" size="20" maxlength="15">
    <br>
    <input type="submit" value="登录">
    <input type="button" onclick="window.location.href=&#39;register.html&#39;" value="注册">
</form>
Salin selepas log masuk

注册页面

register.html

<h2>用户注册登录系统</h2>
<hr>
<form action="register.php" method="POST" enctype="multipart/form-data">
    用户名:
    <input type="text" name="userName" size="20" maxlength="15" placeholder="必须填写用户名">
    @
    <select name="domain" id="">
        <option value="@163.com" selected>163.com</option>
        <option value="@126.com">126.com</option>
    </select>
    <br>

    登录密码:
    <input type="password" name="password" size="20" maxlength="15">
    <br>
    
    确认密码:
    <input type="password" name="confirmPassword" size="20" maxlength="15">
    <br>

    选择性别:
    <input type="radio" name="sex" value="male" checked>男
    <input type="radio" name="sex" value="female">女
    <br>

    个人爱好:
    <input name="interests[]" type="checkbox" value="music">音乐
    <input name="interests[]" type="checkbox" value="game">游戏
    <input name="interests[]" type="checkbox" value="film">电影
    <br>

    个人相片
    <input type="hidden" name="MAX_FILE_SIZE" value="1024">
    <input type="file" name="myPicture" size="25" maxlength="100">
    <br>

    备注信息:
    <textarea name="remark" cols="30" rows="4" placeholder="请填写备注信息"></textarea>
    <br>

    <input type="submit" name="submit" value="注册">
    <input type="reset" name="cancel" value="重填">
</form>
Salin selepas log masuk

功能实现文件

实现登录功能

login_process.php

<?php
    include_once("function/database.php");
    // $userName = $_POST[&#39;userName&#39;];
    // $password = $_POST[&#39;password&#39;];
    $userName = addslashes($_POST[&#39;userName&#39;]);
    $password = addslashes($_POST[&#39;password&#39;]);
    getConnect();
    $loginSQL = "select * from users where userName=&#39;$userName&#39; and password=&#39;$password&#39;";
    echo $loginSQL;
    $resultLogin = mysql_query($loginSQL);
    if (mysql_num_rows($resultLogin) > 0) {
        echo "登录成功";
    } else {
        echo "登录失败";
    }
    closeConnect();
?>
Salin selepas log masuk

实现注册功能

register.php

<?php
    include_once("function/fileSystem.php");
    include_once("function/database.php");

    if (empty($_POST)) {
        exit("您提交的表单数据超过post_max_size! <br>");
    }

    // 判断输入密码与确认密码是否相同
    $password = $_POST['password'];
    $confirmPassword = $_POST['confirmPassword'];
    if ($password != $confirmPassword) {
        exit("输入的密码与确认密码不相等!");
    }

    $userName = $_POST['userName'];
    $domain = $_POST['domain'];
    $userName = $userName . $domain;

    // 判断用户名是否重复
    $userNameSQL = "select * from users where userName = '$userName'";
    getConnect();
    $resultSet = mysql_query($userNameSQL);
    if (mysql_num_rows($resultSet) > 0) {
        exit("用户名已被占用,请更换其他用户名");
    }

    $sex = $_POST['sex'];
    if (empty($_POST['interests'])) {
        $interests = "";
    } else {
        $interests = implode(";", $_POST['interests']);
    }

    $remark = $_POST['remark'];
    $myPictureName = $_FILES['myPicture']['name'];

    $registerSQL = "insert into users values(null, '$userName', '$password', '$sex', '$interests', '$myPictureName', '$remark')";
    $message = upload($_FILES['myPicture'], "uploads");

    if ($message == "上传成功" || $message == "没有上传") {
        mysql_query($registerSQL);
        $userID = mysql_insert_id();
        echo "注册成功<br>";
    } else {
        exit($message);
    }

    $userSQL = "select * from users where user_id = '$userID'";
    $userResult = mysql_query($userSQL);
    if ($user = mysql_fetch_array($userResult)) {
        echo "您的注册用户名为:" . $user['userName'];
    } else {
        exit("用户注册失败!");
    }
    closeConnect();
Salin selepas log masuk

函数文件(function文件夹)

实现数据库连接与关闭的函数

database.php

<?php
    $databaseConnection = null;
    function getConnect() {
        $hosthome = "localhost";
        $database = "register";
        $userName = "root";
        $password = "123456";
        global $databaseConnection;
        $databaseConnection = @mysql_connect($hosthome, $userName, $password) or die (mysql_error());
        mysql_query("set names gbk");
        @mysql_select_db($database, $databaseConnection) or die (mysql_error());
    }
    
    function closeConnect() {
        global $databaseConnection;
        if ($databaseConnection) {
            @mysql_close($databaseConnection) or die (mysql_error());
        }
    }
?>
Salin selepas log masuk

实现文件上传的函数

fileSystem.php

<?php
    function upload($file, $filePath) {
        $error = $file[&#39;error&#39;];
        switch ($error) {
            case 0:
                $fileName = $file[&#39;name&#39;];
                $fileTemp = $file[&#39;tmp_name&#39;];
                $destination = $filePath . "/" . $fileName;
                move_uploaded_file($fileTemp, $destination);
                return "上传成功";
            case 1:
                return "上传超过upload_max_filesize";
            case 2:
                return "上传文件超过form的MAX_FILE_SIZE";
            case 3:
                return "附件部分上传";
            case 4:
                return "没有上传";
        }
    }
    ?>
Salin selepas log masuk

推荐学习:《PHP视频教程

Atas ialah kandungan terperinci 如何用PHP实现简单注册登录系统(附源码). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:csdn.net
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!