Im, создавая сайт, на котором пользователи могут входить в систему, чтобы покупать книги и собирать их из магазина. У меня есть экран входа в систему, где для входа требуются как обычные пользователи, так и сотрудники. Тем не менее, я пытаюсь найти способ разграничения между обычными пользователями и персоналом.Проведите различие между администратором и пользователем php
У меня есть таблица под названием «пользователи», где один из столбцов называется «account_type», который может содержать значение U для обычного пользователя и A для администратора.
это код, я в настоящее время:
<?php
session_start(); // Starting Session
include_once('config.php');
$error=''; // Variable To Store Error Message
if (isset($_POST['submit'])) {
if (empty($_POST['user']) || empty($_POST['pass'])) {
$error = "Please complete both fields";
}
else
{
// Define $username and $password
$user=$_POST['user'];
$_SESSION['login_user']=$user;
$pass=md5($_POST['pass']);
// To protect MySQL injection for Security purpose
$user = stripslashes($user);
$pass = stripslashes($pass);
$user = mysqli_real_escape_string($mysqli, $user);
$pass = mysqli_real_escape_string($mysqli, $pass);
// SQL query to fetch information of registered users and finds user match.
$query = mysqli_query($mysqli, "SELECT * FROM users where Username='$user' AND Password='$pass'");
$rows = mysqli_num_rows($query);
if ($rows == 1) {
header("location: home.php"); // Redirecting To Other Page
}elseif ($rows["account_type"] == "A"){
header ("location: adminHome.php");
}else {
$error = "Username or Password is invalid";
}
mysqli_close($mysqli); // Closing mysqlinection
}
}
?>
<!doctype html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style/style.css">
<script type="text/javascript" src="//code.jquery.com/jquery-2.1.3.min.js"></script>
<title>Login</title>
</head>
<body>
<div id = "logReg">
<span href="#" class="button" id="toggle-login">Log in</span>
</div>
<div id="login">
<div id="triangle"></div>
<h1>Log in</h1>
<form action = "" id = "logregform" method = "POST">
<p id = "err"> <?php if(isset($error)) {echo $error;} ?> </p>
<input id = "logtxt" type="text" placeholder="Username" name = "user" required/>
<input type="password" placeholder="Password" name = "pass" required/>
<input type="submit" value="Log in" name = "submit" />
<br>
<br>
<p id ="bklg">Dont have an account? <a href="register.php">Sign up</a></p>
</form>
</div>
<script>
$('#toggle-login').click(function(){
$('#login').slideToggle('fast');
});
</script>
</html>
Line 24-30, где ив поставил чек, но это не похоже на работу. Я не получаю никаких ошибок, он просто переходит к части проверки, когда я пытаюсь войти в админ, и говорит, что «имя пользователя или пароль недействительны». Однако он входит в систему как обычный пользователь.
Любые идеи?
убедитесь, что config.php включает error_reporting (E_ALL) и предпочтительнее exception_error_handler – hanshenrik
Привет, я dont получить любые ошибки даже с error_reporting (E_ALL), в файле конфигурации. – Spud91
Почему вы хотите реализовать решение для управления пользователями 56390472th? Почему бы не использовать существующий прошло? – arkascha