Получение ошибки: объект не найден, ошибка 404

Я работал на странице входа администратора, используя php и mysqli. Когда я пытаюсь использовать свой локальный хост, я получаю эту ошибку:
Объект не найден!
Запрашиваемый URL не найден на этом сервере. Если вы ввели URL-адрес вручную, проверьте правильность написания и повторите попытку.

Если вы считаете, что это ошибка сервера, обратитесь к веб-мастеру.

Ошибка 404
локальный
Apache / 2.4.29 (Win32) OpenSSL / 1.1.0g PHP / 7.2.0

Я проверил путь и ничего плохого, поэтому я не могу понять, почему он не появится.

Она моя информация для входа в систему:

локальный: 10080 / pinkys_pearls / storeadmin / admin_login.php

Все находится в папке htdocs (используется Xampp) и до сих пор не может понять это. Вот код, который я использую:

       <?php

session_start();

if(isset($_POST['submit'])) {

include "../storescripts/connect_to_mysql.php";
$con = mysqli_connect("$db_host","$db_username","$db_pass","$db_name");
$username = mysqli_real_escape_string($con, $_POST['username']);
$password = mysqli_real_escape_string($con, $_POST['password']);

//Error handler
//Check for empty fields
if (empty($username) || empty($password)) {
header("Location: ../admin_login.php?admin_login=empty");
exit();
} else {
//Check if charactors are valid
if (!preg_match("/^[a-zA-Z0-9]*$/", $username) || !preg_match("/^[a-zA-Z0-9]*$/", $password)) {
header("Location: ../admin_login.php?admin_login=invalid");
exit();
} else {
$sql = "SELECT * FROM admin WHERE username = '$username'' AND password = '$password'";
$result = mysqli_query($con, $sql);
$resultCheck = mysqli_num_rows($result);
if ($resultCheck < 1) {
header("Location: ../admin_login.php?admin_login=invalid");
exit();
} else {
if ($row = mysqli_fetch_assoc($result)) {

$_SESSION['manager'] = $row['username'];
$_SESSION['manager_pwd'] = $row['password'];
header("Location: admin_index.php"); //relocate to index
page
exit();
} else{
echo 'username and password invalid. Please try again';
}
}
}
}

} else{
header("Location: ../admin_login.php");
exit();
}
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Admin Log In </title>
<link rel="stylesheet" href="../style.css" type="text/css" media="screen" />
</head>

<body>
<div align="center" id="mainWrapper">
<div id="pageContent"><br />
<div align="left" style="margin-left:24px;">
<h2>Please Log In To Manage the Store</h2>
<form id="form1" name="form1" method="POST" action="admin_login.php">
User Name:<br />
<input name="username" type="text" id="username" size="40" />
<br /><br />
Password:<br />
<input name="password" type="password" id="password" size="40" />
<br />
<br />
<br />

<input type="submit" name="button" id="button" value="Log In" />

</form>
<p>&nbsp; </p>
</div>
<br />
<br />
<br />
</div>
</div>
</body>
</html>

Я был за это сто раз в поисках решения. Может кто-нибудь сказать мне, как исправить проблему?

Благодарю.

0

Решение

Вы отправляете кнопку с именем button

<input type="submit" name="button" id="button" value="Log In" />

Таким образом, вы должны проверить состояние с button

if(isset($_POST['button'])) {
//code goes here
}
else{
// here....
}

Атрибут type указывает тип <input> элемент для отображения Прочитайте больше.
и атрибут name указывает имя <input> элемент Прочитайте больше.

1

Другие решения

Конечно, когда вы запустите эту страницу, она будет перенаправлять вас на ../admin_login.php если $_POST['submit'] не установлен. Так что, если вы получаете эту ошибку на странице admin_login.php не найден в соответствующем месте на вашем сервере. Не перенаправлять в else раздел как $_POST['submit'] никогда не будет установлен при первой загрузке страницы.

Здесь конфликт.

if(isset($_POST['submit'])) {
//your code
}else{
header("Location: ../admin_login.php");
exit();
}
0

По вопросам рекламы [email protected]