ホームページ  >  記事  >  バックエンド開発  >  ubutu 16.04環境におけるphpとmysqlのデータベースとWebページのログイン認証の例説明

ubutu 16.04環境におけるphpとmysqlのデータベースとWebページのログイン認証の例説明

黄舟
黄舟オリジナル
2017-07-20 13:46:531063ブラウズ

次のエディターは、ubutu 16.04 環境での PHP および mysql データベースと Web ページのログイン検証の例を示します。編集者はこれがとても良いものだと思ったので、皆さんの参考として今から共有します。編集者をフォローして見に来ましょう

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

何人かに聞いたところ、Linux上でPHPを使ってWebサイトを作るのは簡単だというので作ってみましたここでは主にログイン認証に関する部分について話します

;首相はいくつかの文書を用意しました。主に、index.php、conn.php、data.php、login.php は、ログインプロセス中のデータ比較部分です。 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(&#39;root&#39;) 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のテンプレートを使用しています。興味がある方は、Baidu 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>

基本的に、これらは主にログイン検証部分です。データベースでは対称暗号化方式が使用されていますが、この方式についてはまだ詳しく検討していません。

以上がubutu 16.04環境におけるphpとmysqlのデータベースとWebページのログイン認証の例説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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