PHP login Script генерирует сессию, но не заголовок() переместить на главную страницу
PHP login Script генерирует сессию, но не заголовок() перемещается на домашнюю страницу.
<?php
session_start();
$message="";
if(isset($_REQUEST['submit'])) {
if(count($_POST)>0) {
$username=$_POST["user_name"];
$password=$_POST["password"];
if(!empty($username) && !empty($password)){
//include connection file
require_once "connection.php";
$sql="SELECT * FROM `admin_users` WHERE `admin_user` LIKE 'username' AND `admin_pass`LIKE'$password'";
$result = mysqli_query($con,$sql);
$row=mysqli_fetch_row($result);
if(is_array($row)) {
$_SESSION["user_id"] = $row[0];
$_SESSION["admin_name"] = $row[1];
$_SESSION["type"]="admin_map";
mysql_close($dbhandle);
} else {
$message = "Invalid Username or Password!";
}
}
if(isset($_SESSION["user_id"]) && isset($_SESSION["admin_name"]) && isset($_SESSION["admin_name"])=="admin@map") {
header("Location:user_dashboard.php");
}
}
else{
$message = "Fill All Fields!";
}
}
?>
2 ответа:
Прежде всего добавьте пробелы в запрос. И вы пропускаете знак $ перед именем пользователя
$username
.$sql="SELECT * FROM `admin_users` WHERE `admin_user` LIKE '$username' AND `admin_pass` LIKE '$password'";
Я не знаю, почему вы используете LIKE в форме входа. Это должно быть проверено с помощью оператора = . (Просто Предложение )
Основная проблема в вашем коде заключается в том, что вы используете расширение
mysqli_*
и используетеmysql_close()
для закрытия соединения с базой данных.mysql_close($dbhandle);
Это должно быть
mysqli_close($dbhandle);
Но используйте соединение close в конце вашего PHP-скрипта, а не между ними.