login.php //ログイン処理(Login process) |
<?php |
require('dbconnect.php'); |
|
session_start(); |
|
if ($_COOKIE['name'] != '') { |
$_POST['name']
= $_COOKIE['name']; |
$_POST['password'] = $_COOKIE['password']; |
$_POST['save']
= 'on'; |
} |
|
if (!empty($_POST)) { |
//
ログインの処理 |
if ($_POST['name'] != '' && $_POST['password'] != '')
{ |
$login = $db->prepare('SELECT * FROM members WHERE name=? AND password=?'); |
$login->execute(array( |
$_POST['name'], |
sha1($_POST['password']) |
)); |
$member = $login->fetch(); |
|
if ($member) { |
// ログイン成功 |
$_SESSION['id'] = $member['id']; |
$_SESSION['time'] = time(); |
|
// ログイン情報を記録する |
if ($_POST['save']
== 'on') { |
setcookie('name', $_POST['name'],
time()+60*60*24*14); |
setcookie('password', $_POST['password'], time()+60*60*24*14); |
} |
|
header('Location:
index.php'); exit(); |
} else { |
$error['login'] = 'failed'; |
} |
} else { |
$error['login'] = 'blank'; |
} |
} |
?> |
<!DOCTYPE html PUBLIC "-//W3C//DTD
XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<head> |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"
/> |
<link rel="stylesheet" type="text/css" href="style.css" /> |
<title>ログインする</title> |
</head> |
|
<body> |
<div id="wrap"> |
<div id="head"> |
<h1>ログインする</h1> |
</div> |
<div id="content"> |
<div
id="lead"> |
<p>ネームとパスワードを記入してログインしてください。</p> |
<p>入会手続きがまだの方はこちらからどうぞ。</p> |
<p>»<a href="join/">入会手続きをする</a></p> |
</div> |
<form
action="" method="post"> |
<dl> |
<dt>ネーム</dt> |
<dd> |
<input type="text" name="name" size="35" maxlength="255" value="<?php echo htmlspecialchars($_POST['name']); ?>" /> |
<?php if ($error['login']
== 'blank'): ?> |
<p class="error">* ネームとパスワードをご記入ください</p> |
<?php endif; ?> |
<?php if ($error['login']
== 'failed'): ?> |
<p class="error">* ログインに失敗しました。正しくご記入ください。</p> |
<?php endif; ?> |
</dd> |
<dt>パスワード</dt> |
<dd> |
<input type="password" name="password" size="35" maxlength="255" value="<?php echo htmlspecialchars($_POST['password']); ?>" /> |
</dd> |
<dt>ログイン情報の記録</dt> |
<dd> |
<input id="save" type="checkbox" name="save" value="on"> |
<label for="save">次回からは自動的にログインする</label> |
</dd> |
</dl> |
<div> |
<input type="submit" value="ログインする" /> |
</div> |
</form> |
</div> |
<div id="foot"> |
<p><img src="images/txt_copyright.png" width="136" height="15" alt="(C) H2O Space. MYCOM" /></p> |
</div> |
</div> |
</body> |
</html> |
|