2013-10-24 2 views
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 . '" />'); 
+0

Вы не можете вставлять php-код внутри php-строк и ожидать, что он будет работать. –

ответ

4
echo '<input type="hidden" name="browser" value="'.$browser.'">' 
2

Что я делаю неправильно?

  • Вы не ссылающийся на переменную с $
  • Вам необходимо правильно бежать значение переменной из строки

Попробуйте printf

printf('<input type="hidden" name="browser" value="%s">', $browser); 
1

Вы объединяете эхо и печать (которые оба делают то же самое) в один вызов. С другой стороны, вы не закрыли входной элемент HTML (обратите внимание на конечный знак больше, чем я добавил):

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

2

Try этот путь

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

Попробовать this -> value="'.$browser.'" что-то вроде этого