考虑到后台系统一般上都会有用户登陆管理:用户名、密码及所属权限
如:
CREATE TABLE users (
id int(11) NOT NULL auto_increment,
username char(20) NOT NULL default '',
password char(20) NOT NULL default '',
policy int(11) NOT NULL default '0',
PRIMARY KEY (id)
);
这样policy用1、2等区分,当然也可以创建一个policy表来说明具体1、2等代表什么值。
在用户登陆时login.php中,会先从users表中判断用户是否正确(用户名、密码),正确返回一个policy值,当然用户可能要记录到session中;根据policy的不同,分配不同的url地址。
但这里有一个问题:用户的密码在数据库中是明码表示,相对不安全,因此可以用php自带的md5()函数来加密。
-
<?php
-
$db_conn = mysql_connect ( "host", "db_user", "db_pass" );
-
mysql_select_db ( "db_name", $db_conn );
-
-
// 插入用户表时,$password 用了 md5 加密
-
mysql_query ( "insert into users values
-
('$username', '". md5 ($password ). "', '2')" );
-
?>
用户登陆时,login.php中判断取policy值可以如下这样写:
-
<?php
-
$db_conn = mysql_connect ( "host", "db_user", "db_pass" );
-
mysql_select_db ( "db_name", $db_conn );
-
-
$sql = "select policy from users where `username`='$username' and
-
`password`='". md5 ($password ). "' limit 1";
-
$result = mysql_query($sql);
-
if (mysql_num_rows ($result ) > 0 ) {
-
list($policy) = mysql_fetch_row($result );
-
} else {
-
// 登陆错误
-
header('location:index.php');
-
exit();
-
}
-
?>
以上可以写一个单独的类。