2012-03-14 210 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