Некоторые значения, не проходящие через $_POST из HTML-формы

#php #html #forms #post #textbox

Вопрос:

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

код выглядит так

 echo 'Please Check that this Report Level Information is correct<br>';
echo 'Report Key:  <input type="text" name="report_key" value="'. $info_to_print[0]->report_key.'"><br>';
echo 'Report Key:  <input type="text" name="report_title" value="'. $info_to_print[0]->report_title.'"><br>';
echo 'Report Date as Written:   <input type="text" name="date_as_written" value="'. $info_to_print[0]->date_as_written.'"><br>';
echo 'Report Date (yyyy-mm-dd): <input type="text" name="report_date" value="'. $info_to_print[0]->report_date.'"><br>';
echo 'Report Note:      <input type="text" name="report_note" value="'. $info_to_print[0]->transcription_notes .'"><br>';
echo 'Image Gallery ID:  <input type="text" name="image_gallery_id" value="'. $info_to_print[0]->image_gallery_id .'"><br>';
echo 'Report Number:   <input type="text" name="report_num" value="'. $info_to_print[0]->report_number.'"><br>';
echo 'Copied Report Key: <input type="text" name="copy_report_key" value="'. $info_to_print[0]->copied_report_key.'"><br>';
 

и на экране это выглядит так
вывод кода на экран

Поэтому, когда я перехожу к следующему экрану (который находится ниже на странице и не отображается), происходит то, что передается ключ отчета, но все остальные поля передаются как пустые строки, когда его нет в текстовом поле. Я проверил это, потому что я использовал несколько текстовых фраз вместо ключа отчета (в поле), и все они прошли, но когда я вставил что — либо вообще в другие текстовые поля, они не были пропущены.

Я не могу понять, почему последующие почти идентичные строки кода не работают.

Комментарии:

1. должно быть что-то вроде объекта с именем $info_to_print[0], который вызывает метод, вызываемый так же, как переменные POST. Для меня это не имеет никакого смысла. опубликуйте больше кода, чтобы мы могли увидеть, что там происходит

2. @MaxMuster Оказывается, позже в функции я вызывал другую функцию, которая выводила значения, но по какой — то глупой причине я поместил их в текстовые поля. И скопировал имена из функции здесь. Поэтому я переписывал все как пустое. Полностью моя вина.

Ответ №1:

Я проверил все, изменив все имена текстовых полей (добавив 1 в конец имен) — Похоже, что где-то еще, позже в коде, я переопределяю эти текстовые поля (или, по крайней мере, текстовые поля, использующие те же имена) как пустые. Так что в этом коде как таковом нет ничего плохого, что-то не так где-то еще.