PHP & MYSQL ログインページ
WEBページにユーザー名とパスワードを入力して認証するPHP/MYSQLアプリケーションのログインページを作る。パソコンにPHPとMySQLがインストールされたWebサーバーが必要です。Apache、PHP、MySQL(MariaDB) xamppのインストールが必要です。
PHPと接続するデータベースの準備をします。 loginというMySQLデータベースとadminというテーブルを作ります。
データーベース作成
テーブル作成
テーブル構造
id - int オートインクリメント(自動採番) username - varchar(255) password - varchar(255)
テーブル結果
login.php
phpファイルへhtml形式のフォームとログインできない場合にメッセージを表示を記述しています。
style.css
login.htmlのスタイルシート
* {
box-sizing: border-box;
}
body{
background: moccasin;
margin: 100px 50px;
}
.container {
padding:10px 46px;
background-color: white;
width: 700px;
margin: 0 auto;
}
.container.signup {
text-align: end;
}
input[type=text], input[type=password] {
width: 100%;
padding: 15px;
margin: 5px 0 22px 0;
display: inline-block;
border: none;
background: #f1f1f1;
border: 1px solid black;
border-radius: 7px;
}
input[type=text]:focus, input[type=password]:focus {
background-color: #ddd;
outline: none;
}
hr {
border: 1px solid #f1f1f1;
margin-bottom: 25px;
}
.registerbtn {
background-color: #444;
color: whitesmoke;
padding: 16px 20px;
margin: 8px;
border: none;
cursor: pointer;
width: 200px;
opacity: 0.8;
border-radius: 5px;
display: right;
border: 2px solid darkgrey;
}
.registerbtn:hover {
opacity: 1;
}
span {
text-align: right;
display: block;
}
a {
color: dodgerblue;
}
.signin {
background-color: #f1f1f1;
text-align: center;
}
.error{
background: #F2DEDE;
color: #A94442;
padding: 10px;
width: 95%;
border-radius: 5px;
}
.home{
padding:10px 46px;
background-color: white;
width: 700px;
margin: 0 auto;
height: 500px;
text-align: center;
align-items: center;
}
db_con.php
PHPとMySQLの接続login-logiin.phpの最初にデータベースへ接続を確立します。login-logic.phpの上の行へinclude "db_con.php";を入力してファイルを読み込みます。 「db_con.php」として保存します。
login-logic.php
ユーザーにユーザー名とパスワードを入力するためのHTMLフォームが送信されると、バリデーション入力チェックを実行して正常ならばPHPはSELECTクエリを実行し、adminテーブルからユーザー名とパスコードがユーザー入力と一致する行を取得します。
行数が1の場合、入力されたユーザー名とパスワードが一致していることを示します。ユーザー名は$_SESSION変数に保存され、ブラウザはwelcome.phpスクリプトにリダイレクトされます。
入力フォームへ入力されていない時やユーザーが存在しない、パスワードが一致していないいない場合にlogin.phpへリダイレクトします
home.php
「home.php」は、ユーザーが認証されると呼び出されます。セッション変数を読み取ってウェルカムメッセージを表示します。またログインせずに表示できなくlogin.phpへリダイレクトします。
logout.php
セッションを削除ユーザーをログインページにリダイレクトします。