ログイン機能(3)ログイン

ログイン機能(3)

これまでの準備とログインフロントエンドページが完成しましたので、ログインファンクションコードを紹介します。

まず、ログイン php コードを記述するために、login.php ファイルを作成します。

最初のステップは、まずデータベースに接続することです。そうしないと、データベース内の情報が取得されません。コードは次のとおりです。 :

<?php
$link = mysqli_connect("localhost","root","root","joke");//注意后面的这几个参数,服务器名,数据库的用户名,密码,数据库名。密码没有可以不填
if (!$link) {
    die("连接失败: " . mysqli_connect_error());
}
?>

第 2 ステップ: ユーザー名であれパスワードであれ、フロントエンド フォームを通じて php プログラムに値を渡し、それを検証します。つまり、次のステップは次のとおりです。フロントエンド フォームから渡された値を取得することによってのみ、それが正しいか間違っているかを検証できます。値を取得するコードは次のとおりです。得る?これには、フロントエンド フォームと form タグ内の情報を確認する必要があります:

<?php
$username = $_POST['username'];
$password = $_POST['password'];
?>

action は、情報が送信される場所とメソッドの受け渡し方法を指します。ここでは post メソッド

を示します。

ステップ 3: 値を取得した後、その値がデータベース内の値と同じかどうかを確認する必要があります。ログインする前に、それらは同じである必要があります。確認コードは次のとおりです:

<form action="login.php" method="post">
...
</form>

ステップ 4: 結果をクエリする その後、検証を開始します:

<?php
$sql="select * from login where username = '{$username}' and password  = '{$password}'";//先从数据库中查询户名和密码
$rs=mysqli_query($link,$sql); //执行sql查询
$row=mysqli_fetch_array($rs);//将查询的结果放入变量$row中
?>

何かが足りないようです?

...

.. .

確認コードは次のようです...

最後に確認コードについて話しましょう。

検証コードを生成するプログラムが必要です。まず、検証コードを記述して生成するための passcode.php という PHP ファイルを作成します。

以下に検証コードの具体的な書き方を書いていきますが、重要な点や難しい点をコメントで解説しているので、理解し、注意してコードを読むことができます。各ステップを詳細に理解したい場合は、コード行の機能を理解するために、コードの変更について話し (それが明らかになるように、以前とは大きく異なるようにしてください)、その変更が以前のコードとどのように異なるかを確認します。このようにして、このコード行の機能がわかります。

次のステップは、検証コードを確認することです。コードを見てください:

<?php
if($row) { 
     if ($username == $row['username'] && $password == $row['password']) //判断表单获取的用户名,密码和数据库中的是否一致
     { 
         echo "登陆成功,正在为你跳转至后台页面";
         header("location:index.html");//如果一致会跳转到后台的首页
     }
 }else{
     echo "账号或密码错误" . "<br/>";
     echo "<a href='login.html'>返回登陆页面</a>";//如果不一致,将重新跳转至登录页面重新登录
 }
?>

わかりました。これで完全なログイン機能が完成しました。

次のセクション

<?php session_start(); header("content-type:text/html;charset=utf-8"); //连接数据库 $link = mysqli_connect("localhost","root","root","joke"); if (!$link) { die("连接失败: " . mysqli_connect_error()); } $username =$_POST['username']; $password = $_POST['password']; //判断验证码是否填写并且是否正确 if(!$_POST['code']){ echo('验证码不能为空'); return; }else if($_POST['code']!=$_SESSION['authcode']){ echo('验证码不正确'); return; } $sql="select * from login where username = '{$username}' and password = '{$password}'"; $rs=mysqli_query($link,$sql); //执行sql查询 $row=mysqli_fetch_array($rs); if($row) { // 用户存在; if ($username == $row['username'] && $password == $row['password']) { //对密码进行判断。 echo "登陆成功,正在为你跳转至后台页面"; header("location:index.html"); } }else{ echo "账号或密码错误" . "<br/>"; echo "<a href='login.html'>返回登陆页面</a>"; } // 我这里没有数据库,所以右边会显示连接失败。 ?>
コースウェア