- 13, May 2024
- #1
Я пересматриваю PHP-код, который написал несколько лет назад, чтобы внести в него некоторые улучшения.
Я задаюсь вопросом, делаю ли я что-то наилучшим образом. По сути, я показываю пользователю HTML-форму на своем веб-сайте и задаю ему несколько вопросов; они нажимают «Отправить», и у меня есть PHP-код, проверяющий форму и определяющий, достаточно ли полная информация.
Форма, над которой я сейчас работаю, содержит текстовые поля, несколько флажков и кнопки «Отправить» и «Сбросить». Некоторые текстовые поля и флажки можно оставить пустыми, а некоторые являются обязательными.
В моем PHP-коде я сначала проверяю значения каждого текстового поля и каждого флажка с помощью оператора объединения.
Например:
PHP: Насколько я понимаю, в этой строке кода говорится: «Заполните переменную $meeting2 урезанным значением значения Meeting2 из формы, если оно имеет значение, в противном случае присвойте ей пустое значение.
К сожалению, когда я выполняю этот код, он выдает подобную ошибку для каждого снятого флажка, хотя снятие этого флажка абсолютно законно:
Если да, то что не так с моим подходом? Раньше я использовал array_key_exists, но увидел кое-что, что убедило меня в том, что оператор объединения «лучше» или, по крайней мере, более краток.
Нужно ли мне вернуться к этому:
Я задаюсь вопросом, делаю ли я что-то наилучшим образом. По сути, я показываю пользователю HTML-форму на своем веб-сайте и задаю ему несколько вопросов; они нажимают «Отправить», и у меня есть PHP-код, проверяющий форму и определяющий, достаточно ли полная информация.
Форма, над которой я сейчас работаю, содержит текстовые поля, несколько флажков и кнопки «Отправить» и «Сбросить». Некоторые текстовые поля и флажки можно оставить пустыми, а некоторые являются обязательными.
В моем PHP-коде я сначала проверяю значения каждого текстового поля и каждого флажка с помощью оператора объединения.
Например:
(array_key_exists('meeting2', $_POST)) ? $meeting2 = trim($_POST['meeting2']) : $meeting2 = ""; //This is the Meeting2 text field.
PHP: Насколько я понимаю, в этой строке кода говорится: «Заполните переменную $meeting2 урезанным значением значения Meeting2 из формы, если оно имеет значение, в противном случае присвойте ей пустое значение.
К сожалению, когда я выполняю этот код, он выдает подобную ошибку для каждого снятого флажка, хотя снятие этого флажка абсолютно законно:
Notice: Undefined index: meeting2 in /storage/ssd3/424/1819424/public_html/topicProposalTheme.php on line 47
PHP: Я знаю, что оператор объединения является относительно новым для PHP, но я использую PHP 7.1.18, поэтому он должен работать так, как задумано, верно?
Если да, то что не так с моим подходом? Раньше я использовал array_key_exists, но увидел кое-что, что убедило меня в том, что оператор объединения «лучше» или, по крайней мере, более краток.
Нужно ли мне вернуться к этому:
$meeting2 = trim($_POST['meeting2']) ?? ""; //This is the Meeting2 checkbox.
PHP: я просмотрел статьи об isset() и array_key_exists() в руководстве по PHP, но они показались мне скорее запутанными, чем проясняющими вопрос о том, какой из них мне следует использовать.
Может ли кто-нибудь просветить меня о том, как лучше всего использовать подход?