Я пытаюсь разработать систему PHP, которая обеспечивает многоуровневую регистрацию. Я хочу использовать enum в моем PHPMyAdmin для разных уровней пользователей.
вот скрипт входа в систему:
<?php
session_start(); // Starting Session
$error=''; // Variable To Store Error Message
$empty='';
$no_acc='';
if (isset($_POST['submit']))
{
if (empty($_POST['username']) || empty($_POST['password'])) {
$empty = "Username or Password cannot be empty.";
}
else
{
// Define $username and $password
$username=$_POST['username'];
$password=$_POST['password'];
$type='';
// Establishing Connection with Server by passing server_name, user_id and password as a parameter
$connection = mysql_connect("localhost", "root", "");// Selecting Database
$db = mysql_select_db("swmlibrary", $connection);
// To protect MySQL injection for Security purpose
$username = stripslashes($username);
$password = stripslashes($password);
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);
// SQL query to fetch information of registerd users and finds user match.
$query = mysql_query(" SELECT `id` FROM `users` WHERE `username` = '".$username."' AND `password` = '".$password."' ");
$rows = mysql_num_rows($query);
$data = mysql_fetch_array($query);
$type = $data['type'];
$user = $data['username'];
if ($rows == 1)
{
$_SESSION['username'] = $data['username'];
if($type=='Super User')
{
$_SESSION['login_user'] = $username;
echo "<script>location.assign('./rootSU/super_user.php') </script> ";
//header("location: ./rootSU/super_user.php");
}
elseif ($type=='Administrator')
{
$_SESSION['login_user']=$username; // Initializing Session
echo "<script>location.assign('./admini/admin.php')</script> ";
//header("location: ./admini/admin.php");
}
elseif ($type=='User')
{
$_SESSION['login_user']=$username; // Initializing Session
echo "<script>location.assign('./user/home.php')</script> ";
//header("location: ./user/home.php");
}
else
{
$no_acc = 'It seems as if you do not have an account. Click <a href="sign_form.php">here</a> to sign up.';
}
}
else
{
$error = "Incorrect Username or Password. Please try again.";
}
mysql_close($connection); // Closing Connection
}
}
?>
Он не выбирает тип пользователя, отображает ошибку, что нет учетной записи, перенаправляет меня на страницу sign_form.php. Что мне здесь не хватает?
$username = stripslashes($username);
$password = stripslashes($password);
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);
$query = mysql_query(" SELECT `id` FROM `users` WHERE `username` = '".$username."' AND `password` = '".$password."' ");
Вы не объявляете и не запрашиваете тип пользователя, которого хотите.
Других решений пока нет …