如何在php网站上创建管理员登录?
我的注册页面和登录表单工作正常。若任何成员注册并登录,用户将进入member.php页面。会员页面有其个人资料信息,仅供会员使用。现在我想创建一个管理员登录,管理员将在其中重定向到admin.php页面。此页包含所有信息 比如: 大约有多少用户注册(完成) 所有其他管理任务(完成) 我已经做了我的管理员页面,但我不知道如何授权管理员登录和密码,如果我使用这些,那么它将带我到管理区 这是我的登录代码如何在php网站上创建管理员登录?,php,login,administration,Php,Login,Administration,我的注册页面和登录表单工作正常。若任何成员注册并登录,用户将进入member.php页面。会员页面有其个人资料信息,仅供会员使用。现在我想创建一个管理员登录,管理员将在其中重定向到admin.php页面。此页包含所有信息 比如: 大约有多少用户注册(完成) 所有其他管理任务(完成) 我已经做了我的管理员页面,但我不知道如何授权管理员登录和密码,如果我使用这些,那么它将带我到管理区 这是我的登录代码 <form id="loginForm" name="loginForm" method="
<form id="loginForm" name="loginForm" method="post" action="login-exec.php">
<table width="700" border="0" align="center" cellpadding="2" cellspacing="0">
<tr>
<td width="112"><b>User id (Email-id)</b></td>
<td width="188"><input name="user_email" type="text" class="textfield" id="login" /></td>
</tr>
<tr>
<td><b>Password</b></td>
<td><input name="password" type="password" class="textfield" id="password" /></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="Submit" value="Login" /></td>
</tr>
</table>
</form>
</body>
</html>
用户id(电子邮件id)
密码
login-exec.php的代码
<?php
//Start session
session_start();
//Include database connection details
require_once('config.php');
//Array to store validation errors
$errmsg_arr = array();
//Validation error flag
$errflag = false;
//Connect to mysql server
//Select database
----something----
//Function to sanitize values received from the form. Prevents SQL injection
function clean($str) {
$str = @trim($str);
if(get_magic_quotes_gpc()) {
$str = stripslashes($str);
}
return mysql_real_escape_string($str);
}
//Sanitize the POST values
$user_email = clean($_POST['user_email']);
$pwd = clean($_POST['password']);
//Input Validations
if($user_email == '') {
$errmsg_arr[] = 'Login ID missing';
$errflag = true;
}
if($pwd == '') {
$errmsg_arr[] = 'Password missing';
$errflag = true;
}
//If there are input validations, redirect back to the login form
if($errflag) {
$_SESSION['ERRMSG_ARR'] = $errmsg_arr;
session_write_close();
header("location: login-form.php");
exit();
}
//Create query
$qry="SELECT * FROM customer WHERE user_email='$user_email' AND password='$pwd' ";
if ($user_email= )
$result=mysql_query($qry);
//Check whether the query was successful or not
if($result) {
if(mysql_num_rows($result) == 1) {
//Login Successful
session_regenerate_id();
$customer = mysql_fetch_assoc($result);
$_SESSION['SESS_id'] = $customer['id'];
$_SESSION['SESS_fname'] = $customer['first_name'];
$_SESSION['SESS_lname'] = $customer['last_name'];
session_write_close();
header("location: member-index.php");
exit();
}else {
//Login failed
header("location: login-failed.php");
exit();
}
}else {
die("Query failed");
}
?>
您可以在数据库中为包括管理员在内的所有成员设置一个额外字段,以设置用户权限来存储用户权限。
如果该字段是admin,则可以为该用户设置admin区域,如果该用户是member,则可以为member区域设置admin区域。您可以在数据库索引中增加一部分来对权限进行分类,例如:像“级别”权限,然后检查该级别。AKA:如果级别高于3或更高,则允许访问自动访问管理员页面。因此,为了重新表述问题,您已经从某个地方获取了代码(这里可能是:),现在您希望更改其行为,以允许管理员用户。我得到的最好的建议是首先理解您正在使用的代码 查找行
标题(“Location:member index.php”)代码>这是将用户重定向到成员索引页的行。由于您已表示不希望正确使用数据库字段,因此可以对$user\u email的值进行硬编码测试;如果是admin@blah,然后您可以设置一个特殊的会话变量,例如“SESS_isadmin”,并重定向到另一个页面。新页面可以测试“SESS_isadmin”值,以确保用户已登录;如果没有,您可以将它们重定向到登录页面
除了为您实际编写代码之外,这就是“用户级别”。)
注意:不要使用这种方法对实际生产级别代码进行编码;用这种方法学习编程语言是很好的,但是在你把这些东西放在野外之前还有很多事情要考虑。< / P>你能给我提供用户级的例子吗?我是新来php的,我正在谷歌上做我的研究,并达到这个阶段。我没有任何想法来解决我的这个问题,请帮助我。谢谢你们提供给我用户级的例子。我是php新手,我正在谷歌上进行研究,并达到这一阶段。当你注册一个用户时,添加一个字段,无论它是否是管理员用户。在检查成员密码时,请检查该字段是否对成员有值,同样在你的查询中检查管理员。否,因为只有一个管理员来管理这个网站。会员只能访问其会员页面。所以我不能在登记表上写管理员。例如,如果我想xxx@abc.com和密码12345,想用于管理员登录,那么有没有办法在上面的代码中使用这些值。然后按照Mike回答的解决方案。