PHPユーザー登録ログインシステムログイン処理ページ
ログイン処理ページ
フローチャートは次のとおりです:
コードは次のとおりです:
<?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 メソッドによって渡された検証コード値が、セッション内に以前に存在していた検証コード値と等しいかどうかを確認します。等しくない場合は、 、確認コードが間違っていることを示すプロンプトが表示され、それらが等しい場合は、実行を続行します
データベースに接続し、作成したデータベースを選択し、文字セットを設定し、データベースにクエリを実行します。ユーザー名とパスワードがデータベースに存在するかどうかを確認し、存在しない場合は、ユーザー名またはパスワードが間違っていることを示すメッセージが表示され、存在する場合はログイン ページに戻ります。ログイン成功を求めるプロンプト ホームページに移動します