0

我正在尝试找出并跟踪收到表单提交时使用的浏览器以及是否使用了代理。我有以下代码:

<?php

$browser = $_SERVER['HTTP_USER_AGENT'];
$ip_address = $_SERVER['REMOTE_ADDR'];
if (array_key_exists('HTTP_X_FORWARDED_FOR', $_SERVER)) {
    $ip_address = array_pop(explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']));
}

?>

例如,我尝试了以下方法,但它不起作用。它没有使用我的表单提交任何数据。

我究竟做错了什么?

echo ('<input type="hidden" name="browser" value="' . $browser . '" />' );
4

5 回答 5

4
echo '<input type="hidden" name="browser" value="'.$browser.'">'
于 2013-10-24T17:41:26.677 回答
2
echo ('<input type="hidden" name="browser" value="'.$browser.'">');

尝试类似的this -> value="'.$browser.'" 东西

于 2013-10-24T18:11:46.270 回答
2

我究竟做错了什么?

  • 您没有使用 a 引用变量$
  • 您需要从字符串中正确转义变量值

试试printf

printf('<input type="hidden" name="browser" value="%s">', $browser);
于 2013-10-24T17:41:58.243 回答
2

试试这个方法

echo ("<input type='hidden' name='browser' value='".$browser."'");
于 2013-10-24T17:44:00.393 回答
1

您将 echo 和 print (两者都做同样的事情)组合到一个呼叫中。另一方面,您还没有关闭输入元素 HTML(请注意我添加的最终大于号):

echo ('<input type="hidden" name="browser" value="' . $browser . '" />' );

于 2013-10-24T17:42:12.253 回答