вы должны использовать функцию empty () для проверки значения индекса переменной или нет
Функция isset()проверки значения. ЕСЛИ вы дадите массив-член, тогда вам нужно предоставить ключ.
Сначала проверьте, $ errors = []; if ($ _SERVER ['REQUEST_METHOD'] == 'POST') {if (! isset ($ _ POST ["national_id"]) empty ($ _ POST ["national_id"])) {// не предоставил поля national_id или пуст $ errors [] = "требуется национальный идентификатор"; } else {$ id = test_input ($ _ POST ["national_id"]); }} if (count ($ errors)) {// У вас есть ошибки} значение существует в заданном ключе isset().
Просто проверьте, если этот запрос не является хорошей практикой.
Ваше IFзаявление должно выглядеть так:
$_POST['index']
Прежде всего, что вы сделали на 2-й и 3-й строках, слишком много переменных равны? Не могли бы вы рассказать, что вы намереваетесь сделать ...
Причина, по которой вы получаете неопределенные индексы, потому что у вас есть проблемы в вашей форме. Проверьте все атрибуты имени в своей форме и используйте эти имена в качестве индексов в вашем $eamilметоде ....
На первой строке вы неправильно написали переменную, которую вы написали, $emailи каждая другая строка написана, IFисправить это и проверить, работает ли она, вероятно, будет.
Я рекомендую вам написать свои IFзаявления, чтобы проверить пустые поля следующим образом:
if (!empty($_POST["national_id"])) {
$id = test_input($_POST["national_id"]);
} else {
$nameErr = "national id is required";
}
Кроме того, ваша $conпеременная подключается к базе данных, mysqliно затем вы написали mysql_error. Вы должны использовать mysqliвсе время, иначе оно не обнаружит таблицу, которую вы хотите. И я бы принял рекомендации по комментариям, чтобы улучшить весь код, это немного грязно, и есть много чего, кроме как получить ошибки.
Obs: Репутация ниже 50, не может комментировать.
Функция isset()проверки значения. ЕСЛИ вы дадите массив-член, тогда вам нужно предоставить ключ.
Сначала проверьте, $ errors = []; if ($ _SERVER ['REQUEST_METHOD'] == 'POST') {if (! isset ($ _ POST ["national_id"]) empty ($ _ POST ["national_id"])) {// не предоставил поля national_id или пуст $ errors [] = "требуется национальный идентификатор"; } else {$ id = test_input ($ _ POST ["national_id"]); }} if (count ($ errors)) {// У вас есть ошибки} значение существует в заданном ключе isset().
Просто проверьте, если этот запрос не является хорошей практикой.
Ваше IFзаявление должно выглядеть так:
$_POST['index']
Прежде всего, что вы сделали на 2-й и 3-й строках, слишком много переменных равны? Не могли бы вы рассказать, что вы намереваетесь сделать ...
Причина, по которой вы получаете неопределенные индексы, потому что у вас есть проблемы в вашей форме. Проверьте все атрибуты имени в своей форме и используйте эти имена в качестве индексов в вашем $eamilметоде ....
На первой строке вы неправильно написали переменную, которую вы написали, $emailи каждая другая строка написана, IFисправить это и проверить, работает ли она, вероятно, будет.
Я рекомендую вам написать свои IFзаявления, чтобы проверить пустые поля следующим образом:
if (!empty($_POST["national_id"])) {
$id = test_input($_POST["national_id"]);
} else {
$nameErr = "national id is required";
}
Кроме того, ваша $conпеременная подключается к базе данных, mysqliно затем вы написали mysql_error. Вы должны использовать mysqliвсе время, иначе оно не обнаружит таблицу, которую вы хотите. И я бы принял рекомендации по комментариям, чтобы улучшить весь код, это немного грязно, и есть много чего, кроме как получить ошибки.
Obs: Репутация ниже 50, не может комментировать.