Intereting Posts

PHP-форма, не направляющая правильные страницы

Я делаю страницу входа для администраторов, чтобы сделать некоторые изменения на веб-сайте легко. Однако страница входа в систему работает неправильно. Он не попадет на страницу с ошибкой InvalidLogin.html и не перейдет на следующую страницу админ-сайта AdminChanges.php .

Вместо этого я получаю следующее сообщение:

Не найдено. Запрошенный URL / website / method = “post” не найден на этом сервере.

   Admin Login   <form action =  method="post"> username:  password:  

Две проблемы объединяют силы, чтобы вызвать эту ошибку. Во-первых, ваша функция PrepSQL не отвечает на ответ, и код не вызывает его. Вам нужно echo или print ответ так, чтобы он отображался в сгенерированном HTML.

 < ?php echo PrepSQL($AdminChanges); ?> 

Во-вторых, вам нужно инкапсулировать это значение атрибута action в двойные кавычки, например:

 

Также обратите внимание, что ваш код предполагает, что ваши mysql_query() были успешными. Для устранения неполадок вы должны по крайней мере добавить оператор or die(mysql_error()) в конец mysql_query() . Это позволит вашему коду предоставить некоторую обратную связь, когда запрос завершится с ошибкой.

Кроме того, обратите внимание, что ваш метод обработки запросов никогда не приведет к действительным действиям входа.

 $checkUserName = mysql_query($checkUserNameQuery); $checkPassWord = mysql_query($checkPassWordQuery); if (($userName == $checkUserName) && ($passWord == $checkPassWord)) 

mysql_query() возвращает ресурс MySQL, а не одно поле из базы данных. Ваш код пытается сравнить этот ресурс с указанным именем пользователя и паролем, и сравнение всегда будет терпеть неудачу. Подробнее о обработке результатов mysql_query() см. В документации .

Заменить: PrepSQL ($ AdminChanges);

с: печать PrepSQL ($ AdminChanges);

Попробуй это:

 

Вам нужно повторить значение.

Я заметил 2 ошибки:

Ваш оператор $ _POST [‘submit’] if не позволяет устанавливать $ AdminChanges для формы, если он уже не был отправлен.

Чтобы исправить это, вы можете изменить свой оператор if submit, чтобы просто перенаправить на свою неверную страницу входа, например:

 if (($userName == $checkUserName) && ($passWord == $checkPassWord)) { //Correct info do what you need to here } else { header("Location: InvalidLogin.html"); exit(); } 

А также:

Вам нужно изменить действие, чтобы опубликовать сообщение на этой странице.