用户认证的原理很简单:首先需要用户在页面上填入用户名和密码,当然没注册的用户需要先注册。然后调用数据库搜索是否有相应的用户。如果有就确认,没有则提醒用户先注册。使用PHP来完成这一切很简单,但需要注意的是如果想在以后的页面中都能确认用户身份。
第一步是做一个登录的页面。
第二步开始登录后的确认程序的设计。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | <ccid_code></ccid_code>login.php:
mysql_connect( "localhost" , "user" , "password" )
or die ( "无法连接数据库,请重试" );
mysql_select_db( "userinfo" )
or die ( "无法选择数据库,请重试" );
$today = date ( "Y-m-d H:i:s" );
$query ="
select id
from usertbl
where name= $name and password= $password
";
$result =mysql_query( $query );
$numrows =mysql_num_rows( $result );
if ( $numrows ==0){
echo 非法用户
;
echo 请注册先
;
echo 重试
;
}
else {
$row =mysql_fetch_array( $result );
$id = $row [0];
$query ="
update usertbl
set lastlogin= $today
where id= $id ";
$result =mysql_query( $query );
SetCookie( "usercookie" , "欢迎你,$name" );
echo 登录成功
;
echo 请进!
;
}
?>
|
登入後複製
|
第三步做好注册的页面。
第四步是注册后的身份确认和输入数据库。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <ccid_code></ccid_code>register.php:
mysql_connect( "localhost" , "user" , "password" )
or die ( "无法连接数据库,请重试" );
mysql_select_db( "userinfo" )
or die ( "无法选择数据库,请重试" );
$query ="select id from usertbl where name= $name \";
$result =mysql_query( $query );
$numrows =mysql_num_rows( $result );
if ( $numrows !=0)
{ echo 已有人注册此名,请重新选择名字!;}
else
{ $query = "insert into usertbl values(0,$name,$password,\)" ;
mysql_query( $query );
echo 注册成功;
echo 请登录!;}
?>
|
登入後複製
|
下一步是cookie的使用,我原打算使用cookie来使每一页都能识别用户身份,但由于别的页面还没做好,不知道需要用到哪些资料。于是就只有一个很简单的使用,这里用到了PHP的引用:
1 2 3 4 5 6 7 8 9 10 11 12 | <ccid_code></ccid_code> if (! $usercookie )
{header( "非法用户" );
}
?>
welcome.php:
require ( "cookie.php" );
?>
echo $usercookie ;
?>
|
登入後複製
|
到这儿便完成了一个很简单的用户认证系统,当然如果你要使用它还得建好数据库。下面是我的数据库表的结构,库的名字是userinfo。
1 2 3 4 5 6 7 | <ccid_code></ccid_code>create table usertbl
(
ID int auto_increment primary key,
Name varchar(30),
Password varchar(20),
Lastlogin varchar(20)
);
|
登入後複製
|