Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中访问HTML5数据属性_Php_Html_Custom Data Attribute - Fatal编程技术网

在php中访问HTML5数据属性

在php中访问HTML5数据属性,php,html,custom-data-attribute,Php,Html,Custom Data Attribute,我有一张表格,包括 <input id="user-id" type="text" data-user-id="" name="message" placeholder="type and send..." class="form-control"> 数据用户idHTML5数据属性。提交表单时,我希望在php类中使用data属性的值。如何在php中访问此数据属性?如果将此表单直接发布到php脚本,则无法访问数据属性。如果您希望能够做到这一点,您需要监听Javascript中的表

我有一张表格,包括

<input id="user-id" type="text" data-user-id="" name="message" placeholder="type and send..." class="form-control">


数据用户id
HTML5数据属性。提交表单时,我希望在php类中使用data属性的值。如何在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,[...],[...]});

});

其中,
[…]
是要发布到处理程序的任何其他表单数据。然后,处理程序可以以正常方式检索发布的值,例如,
$\u POST['user\u id']

您的用户id应该位于单独的隐藏字段中,例如:

<input type="hidden" name="user_id" value="123">
<input type="text" name="message" placeholder="type and send..." class="form-control">

您的
消息
输入不应该有
用户id
id
,也不应该需要
数据用户id


JavaScript使用数据属性。隐藏输入会将用户不需要看到的值传递给PHP。这两种方法对用户来说都不是真正隐藏的。

你的意思是在$post或通过xmlparser。我想将这个值存储在db中,因此我必须通过php以某种方式访问它。然后在
表单_handle.php
中,我将使用$u post['user\u id'访问该值?我是一个初学者,我只知道javascript和上面的代码不起作用。你能用js给出解决方案吗?现在不行——只要在HTML文档中引用jQuery(按照他们网站上的说明),代码应该可以工作(尽管我没有测试过)。我不想使用隐藏字段,可能这不是一个好的做法。我想使用HTML5数据属性来发布额外的数据。@Adamnick我认为您混淆了数据属性的用途。提交表单时,隐藏字段不仅是良好的做法,而且是此类行为的标准。事实上,我同意rybo111的观点,这是一个比我的更好的解决方案。数据属性使数据私有,但隐藏输入只是隐藏视图中的数据,用户仍然可以看到它。@Adamnick用户也可以看到您的数据属性。例如,尝试检查铬合金中的元素。