Это если отличный пример плохого кода.
Спасибо за публикацию. Многие люди могут читать и учиться на этом.
Позвольте мне объяснить.
PHP может помочь вам найти некоторые неясные ошибки. Не каждый, а некоторые из них.
Например, если вы неправильно набрали имя переменной, PHP выдаст ошибку ... конечно, если вы позволите PHP сказать.
Чтобы сделать каждую ошибку видимой, уровень сообщений об ошибках должен быть максимальным.
Для этого каждый скрипт должен содержать следующую строку:
error_reporting(E_ALL);
после его добавления, если он был правильно написан, вы увидите только одно сообщение об ошибке, указывающее на опечатку.
Но.
Вместо этого вы увидите водопад ошибок.
Потому что PHP не может отличить преднамеренные ошибки от случайных.
Таким образом.
В коде не должно быть преднамеренных ошибок, чтобы вы могли видеть случайные ошибки.
Это великий урок, который стоит запомнить.
Что это за ошибки?
- Строки в php ограничиваются кавычками.
Итак, если у вас есть строка username
, она должна быть записана как "username"
.
И $ _POST [имя пользователя] становится $ _POST ["имя пользователя"].
(и наоборот, переменные не нуждаются в кавычках, поэтому echo "$msg";
должно быть echo $msg;
)
- все переменные должны быть установлены или проверены на наличие. поэтому,
if ((!$_POST[username]) || (!$_POST[password])) {
должно стать
if (!empty($_POST["username"]) OR !empty($_POST["password"])) {
С таким кодом вы увидите только случайную ошибку и сможете исправить ее немедленно.