html_login_fns.php
function display_login_form() {
?>
<div class="wrap">
<form action="" method="post">
<p>
<input class="inputtext" id="inputtext1" type="text" name="uid" placeholder="郵箱/會員帳號"
autofocus required>
</p>
<p>
<input class="inputtext" id="inputtext3" type="password" name="password" placeholder="密碼"
required>
</p>
<p id="sbp">
<input class="button" type="submit" name="submit" value="登錄">
</p>
<p>
<input type="checkbox" checked="checked" name="cookie">
<span>
下次自動登錄
</span>
<a href="?file=member&action=findpwd">
忘記密碼?
</a>
<a href="?file=member&action=register">
註冊
</a>
</p>
</form>
</div>
<?php
}
login.php
<?php
do_html_header("登錄","login");
display_login_form();
do_html_footer();
/*驗證、過濾輸入內容*/
if (islogin()){
header("location: ?action=index");
}
if (isset($_POST['submit'])){ //判斷是否提交
$uid=str_replace(" ", "" ,$_POST['uid']); //刪除空格
$password=str_replace(" ", "",$_POST['password']); //刪除空格
if (valid_name($uid) | valid_email($uid) ){
if(login($uid,$password,$_POST[cookie])){
echo '<script type="text/javascript">history.go(-1);</script>';
exit;
}
else {
exit ('<script language="javascript">alert("用戶名或密碼錯誤。")</script>');
}
}
else {
exit ('<script language="javascript">alert("用戶名或密碼錯誤。")</script>');
}
}
?>
member_fns.php
function login($arg,$password,$cookie=null){
$dsn='mysql:host='.DB_HOST.';'.'dbname='.DB_NAME;
$pdo=new PDO($dsn,DB_USER,DB_PASSWORD);
$sql="SELECT * FROM members WHERE username='$arg' or email='$arg'";
$query=$pdo->query($sql);
$row=$query->fetch();
$pass=$row['password'] ? $row['password']==md5($password):FALSE;
if ($pass){
$_SESSION['uid']=$row['id'];
$_SESSION['username']=$row['username'];
$_SESSION['email']=$row['email'];
$_SESSION['password']=$row['password'];
$_SESSION['rank']=$row['rank'];
if($cookie){
setcookie("username",$row['username'],time()+2592000);
}
}
return $pass;
}
function islogin(){
if (isset($_SESSION['uid'])) $islogin=true;
elseif (isset($_COOKIE['username'])){
$dsn='mysql:host='.DB_HOST.';'.'dbname='.DB_NAME;
$pdo=new PDO($dsn,DB_USER,DB_PASSWORD);
$sql="SELECT * FROM members WHERE username='$_COOKIE[username]'";
$query=$pdo->query($sql);
$row=$query->fetch();
$_SESSION['uid']=$row['id'];
$_SESSION['username']=$row['username'];
$_SESSION['email']=$row['email'];
$_SESSION['password']=$row['password'];
$_SESSION['rank']=$row['rank'];
$islogin=true;
}
else $islogin=false;
}
源碼下載地址:http://pan.baidu.com/disk/home?fr=ibaidu