У меня есть форма, которая включает
<input id="user-id" type="text" data-user-id="" name="message" placeholder="type and send..." class="form-control">
data-user-id
атрибут данных HTML5. Когда я отправляю форму, я хочу использовать значение атрибута data в классе php. Как получить доступ к этому атрибуту данных в php?
Идентификатор пользователя должен находиться в отдельном скрытом поле, например:
<input type="hidden" name="user_id" value="123"> <input type="text" name="message" placeholder="type and send..." class="form-control">
В вашем message
не должно быть id
user-id
и вообще не требуется data-user-id
.
Атрибуты данных используются JavaScript. Скрытые входы передают значения PHP, которые пользователь не должен видеть. Ни один из них не скрыт от пользователя.
Если вы отправляете эту форму непосредственно в PHP-скрипт, вы не можете получить доступ к атрибутам данных. Если вы захотите это сделать, вам нужно будет послушать отправку формы в Javascript, а затем отправить запрос на получение данных, которые вам нужны, и отправить их в скрипт PHP для его обработки.
Вот пример кода (непроверенный!), Используя jQuery.
$('#form_name').on('submit',function(){ var user_id = $('#user-id').attr('data-user-id'); $.post('form_handle.php',{'user_id':user_id,[...],[...]}); });
Где [...]
– это любые другие данные формы, которые должны быть отправлены обработчику. Обработчик может затем восстановить опубликованные значения обычным способом, например $_POST['user_id']
.