PHPユーザー登録ログインシス...LOGIN

PHPユーザー登録ログインシステムログイン処理ページ

ログイン処理ページ

フローチャートは次のとおりです:

第二版登录.png

コードは次のとおりです:

<?php
session_start();
//登录处理界面 logincheck.php
//判断是否按下提交按钮
    if(isset($_POST["hidden"]) && $_POST["hidden"] == "hidden")  
    {  
    //将用户名和密码存入变量中,供后续使用
        $user = trim($_POST["username"]);//trim()函数移除字符串两侧的空白字符
        $psw = md5(trim($_POST["userpwd"]));//密码使用md5()加密一次,存入数据库
        $code = $_POST["code"];
        if($user == "" || $psw == "")  
        {
        //用户名或者密码其中之一为空,则弹出对话框,确定后返回当前页的上一页  
            echo "<script>alert('请输入用户名或者密码!'); history.go(-1);</script>";  
        }else if($code != $_SESSION[' ver_code']){
            echo "<script>alert('验证码不正确,请重新输入!'); history.go(-1);</script>";
        }  
        else  
        {  //确认用户名密码验证码不为空,则连接数据库
            $conn = mysqli_connect("localhost","root","root");//数据库帐号密码为安装数据库时设置
             if(mysqli_errno($conn)){
                echo mysqli_errno($conn);
                exit;
             }
            mysqli_select_db($conn,"userdb");  
            mysqli_set_charset($conn,'utf8'); 
            $sql = "select username,userpwd from user where username = '$user' and userpwd = '$psw'";  
            $result = mysqli_query($conn,$sql);  
            $num = mysqli_num_rows($result);  
            if($num)  
            {  
                echo "<script>alert('成功登录'); window.location.href='index.php';</script>";  
            }  
            else  
            {  
                echo "<script>alert('用户名或密码不正确!');history.go(-1);</script>";  
            }  
        }  
    }  
    else  
    {  
        echo "<script>alert('提交未成功!');</script>";  
    }  
  
?>

コードの説明:

ダン、ログインを入力してくださいログイン ページでログインをクリックしたときのプロセス
  • ページは、post メソッドで渡された $_POST["hidden"] が存在するかどうかを判断し、存在しない場合は、送信が失敗したことを示すメッセージが表示され、画面に戻ります。ログイン インターフェイスが存在する場合は、続行します。
  • 渡された値を取得し (trim() 関数を使用して空白文字をフィルターし、md5() 関数を使用してパスワードを暗号化します)、それが空であるかどうかを判断します。空の場合は、プロンプトが表示されます。空でない場合は、続行します
  • post メソッドによって渡された検証コード値が、セッション内に以前に存在していた検証コード値と等しいかどうかを確認します。等しくない場合は、 、確認コードが間違っていることを示すプロンプトが表示され、それらが等しい場合は、実行を続行します

  • データベースに接続し、作成したデータベースを選択し、文字セットを設定し、データベースにクエリを実行します。ユーザー名とパスワードがデータベースに存在するかどうかを確認し、存在しない場合は、ユーザー名またはパスワードが間違っていることを示すメッセージが表示され、存在する場合はログイン ページに戻ります。ログイン成功を求めるプロンプト ホームページに移動します
<?php session_start(); //登录处理界面 logincheck.php //判断是否按下提交按钮 if(isset($_POST["hidden"]) && $_POST["hidden"] == "hidden") { //将用户名和密码存入变量中,供后续使用 $user = trim($_POST["username"]);//trim()函数移除字符串两侧的空白字符 $psw = md5(trim($_POST["userpwd"]));//密码使用md5()加密一次,存入数据库 $code = $_POST["code"]; if($user == "" || $psw == "") { //用户名或者密码其中之一为空,则弹出对话框,确定后返回当前页的上一页 echo "<script>alert('请输入用户名或者密码!'); history.go(-1);</script>"; }else if($code != $_SESSION[' ver_code']){ echo "<script>alert('验证码不正确,请重新输入!'); history.go(-1);</script>"; } else { //确认用户名密码验证码不为空,则连接数据库 $conn = mysqli_connect("localhost","root","root");//数据库帐号密码为安装数据库时设置 if(mysqli_errno($conn)){ echo mysqli_errno($conn); exit; } mysqli_select_db($conn,"userdb"); mysqli_set_charset($conn,'utf8'); $sql = "select username,userpwd from user where username = '$user' and userpwd = '$psw'"; $result = mysqli_query($conn,$sql); $num = mysqli_num_rows($result); if($num) { echo "<script>alert('成功登录'); window.location.href='index.php';</script>"; } else { echo "<script>alert('用户名或密码不正确!');history.go(-1);</script>"; } } } else { echo "<script>alert('提交未成功!');</script>"; } ?>
コースウェア