ホームページ  >  記事  >  バックエンド開発  >  PHP と mysql データベースは Web ページのログイン認証コードの共有を実現します

PHP と mysql データベースは Web ページのログイン認証コードの共有を実現します

小云云
小云云オリジナル
2018-02-06 09:49:132238ブラウズ

この記事では主に、ubutu 16.04環境でのPHPとmysqlデータベース、Webページのログイン認証の例を説明します。編集者はこれが非常に良いものだと思ったので、皆さんの参考として今から共有します。編集者をフォローして見てみましょう。皆さんのお役に立てれば幸いです。

たまたま最近ドメイン名の登録が承認されたので、以前その目的でドメイン名を登録したのですが、突然ウェブページを作成したくなりました。

何人かに聞いたところ、Linux上でPHPを使ってWebサイトを作るのは簡単だというので作ってみました

ここでは主にログイン認証に関わる部分についてお話します

ファイル、主にindex.php、conn.php、data.php、login.php;

login.phpは主にログインプロセス中のデータ比較部分です; include('conn.php')の内容は以下で説明されています。

<?php
if(!isset($_POST[&#39;submit&#39;])){
 exit(&#39;login in error.&#39;);
}
$username = htmlspecialchars($_POST[&#39;username&#39;]);
$password = MD5($_POST[&#39;password&#39;]);
include(&#39;conn.php&#39;);
echo"$password";
$check_query = mysqli_query($result,"select USERID from USERINFO where EMAIL=&#39;$username&#39; and PASSWORD=&#39;$password&#39; limit 1");
if($ret = mysqli_fetch_array($check_query)){

 echo&#39;connect true.&#39;;
}
else
{
 echo&#39;connect false&#39;;
}
?>

もう 1 つ注意すべき点は、$_POST はフォーム内のメソッド = "post" のコンテンツをターゲットとしているということです。

MD5 暗号化が使用されるため、バックグラウンド データベースを暗号化する場合、データの更新にも MD5 暗号化を使用する必要があります。具体的な方法は次のとおりです:

UPDATE USERINFO SET PASSWORD = md5('root') WHERE USERID = 1000;

テーブルと特定のクエリの場所は個人データベースに基づいています。確かに。

conn.php は主に mysql データベース接続に関連する操作に関連しており、データベース接続とデータベース選択部分に分かれています (データベース接続の戻り値に注意してください。軽視しないでください。後ほど引用)

<?php
try{
$result = mysqli_connect(&#39;localhost&#39;,&#39;root&#39;,&#39;root&#39;);
mysqli_select_db($result,&#39;WEBDATAS&#39;);
}catch(Exception $e)
{
 echo $e->message;
 exit;
}
if(!$result)
{
 return false;
}
echo "ok\n";
?>

残りは主にindex.phpです。ログインに関係する部分だけ取り出して説明します(ここではboostrapのテンプレートを使用しています。興味のある方はご覧ください)。

<?php
session_start();
include_once(&#39;data.php&#39;);

$handle = db_connect();
if(!$handle){
 echo &#39;Did not access to the database&#39;;
}else{
 echo&#39;connect success&#39;;
}
?>

それに含まれる data.php のログイン部分は次のとおりです:

<p class="modal fade" tabindex="-1" role="dialog" id="login">
   <p class="modal-dialog" role="document">
    <p class="modal-content">
     <p class="modal-header">
      <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
      <h3 class="modal-title">ログイン</h3>
     </p>
     <p class="modal-body">
      <form class="form-signin" action="login.php" method = "post">
       <h4 class="form-signin-heading">利用者名 パスワード 入力</h4>
       <label for="inputEmail" class="sr-only">利用者名</label>
       <input type="email" name="username" id="inputEmail" class="form-control" placeholder="利用者名を入力" required autofocus>
       <label for="inputPassword" class="sr-only">パスワード</label>
       <input type="password" name="password" id="inputPassword" class="form-control" placeholder="パスワード" required>
       <p class="checkbox">
        <label>
        <input type="checkbox" value="remember-me"> ログイン状態を保持
       </label>
       </p>
       <button class="btn btn-lg btn-primary btn-block" type="submit" name="submit">ログイン</button>
      </form>
     </p>
     <p class="modal-footer">
      <button type="button" class="btn btn-default" data-dismiss="modal">クローズ</button>
     </p>
    </p>
    <!-- /.modal-content -->
   </p>
   <!-- /.modal-dialog -->
  </p>

基本的に、これは主にデータベース内のデータと比較するためのものです。対称暗号化方式が使用されました。暗号化の方法についてはまだ詳しく調べていないので、機会があれば詳しく調べてみたいと思います。

関連する推奨事項:

Webログインにユーザー名とパスワードを記憶する機能を実装する(完全自動ログイン) 🎜🎜

以上がPHP と mysql データベースは Web ページのログイン認証コードの共有を実現しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。