2012-03-14 214 views

回答

1

添加到您的形式:

<input type='hidden' name='user-agent' value='<?php echo $_SERVER['HTTP_USER_AGENT']; ?>' /> 
+1

为什么不只是在发送电子邮件的PHP文件中使用变量?无需提交。 – ThiefMaster 2012-03-14 16:15:21

+0

非常感谢你,我会尝试并报告回来:) – 2012-03-14 16:15:27

+0

@ThiefMaster这就是我想要的。我希望能够将它添加到我的常规表单中,而不是创建一个全新的表单,但如果这是我唯一的选择,那么就这样做吧。 – 2012-03-14 16:16:31

3

用户代理在$_SERVER['HTTP_USER_AGENT']超全球范围内可用。当心,但它的价值可以容易被欺骗。

在JavaScript中,该值在navigator.userAgent字符串中可用。但是,由于该值已经存在于服务器端,因此我建议使用$_SERVER['HTTP_USER_AGENT']

+0

是的感谢。无论如何,这是为了让用户受益,所以如果他们能够“欺骗”这个过程,我怀疑他们会这样做。我发现很多Android平板电脑认为它们是Macintosh PC和iPad,如果这就是你所说的欺骗性的话,那么这很好:) – 2012-03-14 16:12:55

+0

@JohnVasiliou然后就可以了。按照其他人的建议,不要在隐藏的输入字段中添加该值,因为该值可在每个请求中使用。如果将该值添加到隐藏的输入字段,欺骗的可能性会增加。 – 2012-03-14 16:16:17

+0

'/><那会更好吗? – 2012-03-14 16:17:50

1

当然。你可以创建输入(隐藏的只是文本),并将它的值从JavaScript分配navigator.useragent。

+0

那我该怎么去做这项工作呢?我有一个使用PHP来验证并将结果发送给我的html表单。以及这个表单我想包括设备用户代理。有任何想法吗? – 2012-03-14 16:15:01

+0

或者您可以使用'$ _SERVER ['HTTP_USER_AGENT']'。不需要表格。 – ThiefMaster 2012-03-14 16:15:32

+0

是的,只是从PHP阅读更好。 – kirilloid 2012-03-14 16:18:13

1

您必须使用javascript才能访问此信息。您可以创建隐藏表单输入并在加载或提交时设置其值。

+0

我该如何去做这项工作呢?我有一个使用PHP来验证并将结果发送给我的html表单。以及这个表单我想包括设备用户代理。有任何想法吗? – 2012-03-14 16:14:53

+0

最简单的解决方案将是@jchavannes提出的解决方案。这将不需要javascript并为您预填充该字段。提交后,您可以随心所欲地做任何事情。 – Crashspeeder 2012-03-14 16:17:01

+0

所以如果我有一个像往常一样提交的当前表单,那么@jchavannes将需要一个完全新的表单,我的当前表单以输入类型=“submit”结束,而这个表单是不同的。 – 2012-03-14 16:20:05