ホームページ > php教程 > php手册 > PHP が登録およびログイン システムを実装する方法の詳細な図による説明 (コード付き)

PHP が登録およびログイン システムを実装する方法の詳細な図による説明 (コード付き)

PHPz
リリース: 2018-10-19 14:13:46
転載
1123 人が閲覧しました

ディレクトリ構造は次のとおりです。 function フォルダーには 2 つの関数ファイルが含まれており、uploads フォルダーはアップロードされたファイルの保存に使用されます。

PHP が登録およびログイン システムを実装する方法の詳細な図による説明 (コード付き)

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>
ログイン後にコピー

登録ページ

<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>
ログイン後にコピー

機能実装ファイル

ログイン機能の実現

<?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();
?>
ログイン後にコピー

登録機能の実現

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

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

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

    // 判断用户名是否重复    $userNameSQL = "select * from users where userName = &#39;$userName&#39;";
    getConnect();    $resultSet = mysql_query($userNameSQL);
    if (mysql_num_rows($resultSet) > 0) {
        exit("用户名已被占用,请更换其他用户名");
    }    $sex = $_POST[&#39;sex&#39;];
    if (empty($_POST[&#39;interests&#39;])) {        $interests = "";
    } else {        $interests = implode(";", $_POST[&#39;interests&#39;]);
    }    $remark = $_POST[&#39;remark&#39;];    $myPictureName = $_FILES[&#39;myPicture&#39;][&#39;name&#39;];    $registerSQL = "insert into users values(null, &#39;$userName&#39;, &#39;$password&#39;, &#39;$sex&#39;, &#39;$interests&#39;, &#39;$myPictureName&#39;, &#39;$remark&#39;)";    $message = upload($_FILES[&#39;myPicture&#39;], "uploads");

    if ($message == "上传成功" || $message == "没有上传") {
        mysql_query($registerSQL);        $userID = mysql_insert_id();
        echo "注册成功<br>";
    } else {
        exit($message);
    }    $userSQL = "select * from users where user_id = &#39;$userID&#39;";    $userResult = mysql_query($userSQL);
    if ($user = mysql_fetch_array($userResult)) {
        echo "您的注册用户名为:" . $user[&#39;userName&#39;];
    } else {
        exit("用户注册失败!");
    }
    closeConnect();
ログイン後にコピー

関数ファイル

データベース接続とクローズを実装する関数

<?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());
        }
    }?>
ログイン後にコピー

ファイルアップロードを実装する関数

<?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 "没有上传";
        }
    }?>
ログイン後にコピー

[関連チュートリアルの推奨事項]

1. 入門から習熟までの PHP プログラミングに関する完全なビデオ チュートリアル
2.熟練度へのエントリー 3.
ブートストラップ チュートリアル

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート