PHPで簡単な管理者専用ログイン機能を作る

特定のIDとパスワードを知っている人だけに観覧させたい時の機能。

<?php
include("logincheck.php");
include('config.php');
?>

パスワード制限ページです。

ログイン済みかどうかチェックする部分。

<?php
session_start();

if(empty($_SESSION["admin_name"])){
  header("Location:login_auth.php");
  exit;
}

ログインフォーム。ログインチェックで弾かれた場合もこのページに来る。

<?php
include("config.php");
session_start();

$error_message=<<<eof
<p>ユーザーIDとパスワードを入力して「ログイン」を押して下さい</p>
eof;

if($_SERVER["REQUEST_METHOD"] == "POST"){
 if($_POST["auth_id"] == $auth_id and $_POST["auth_pass"] == $auth_pass){
  session_regenerate_id(true);
  $_SESSION["admin_name"] = getSha1Password($auth_id);
  header("Location:index.php");
  exit;
 }else{
  $error_message = "<p>ユーザーIDかパスワードが間違っています。</p>";
 }
}
?>

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>管理者専用ページ</title>
</head>

<h1>管理者専用ページ</h1>
<?php echo $error_message; ?>

<form action="" method="post">
ユーザーID:<input type="text" name="auth_id" /><br />
パスワード:<input type="password" name="auth_pass" /><br />
<input type="submit" name="submit" value=" ログイン "><br />
</form>

</body>
</html>

config.phpでIDやパスワード情報を持たせる。あと関数も。

<?php

function getSha1Password($s) {
    return (sha1("aje934h1-z9f".$s));
}

$auth_id ="userid";
$auth_pass ="password";

コメント

タイトルとURLをコピーしました