Скрипт для получения IP-адреса посетителя не работает - PullRequest
0 голосов
/ 27 декабря 2011

Я вручную сохраняю строку ниже в базе данных mysql, используя php myadmin.

<div>IP address : '<?php echo $_SERVER['REMOTE_ADDR']?>'</div>

Он обновляется, поскольку я подтвердил, что он находится в базе данных. Моя php-страница получает это из базы данных и обновляет html.

Вывод, который я получаю -
IP address :

Я не эксперт в php. Также я не могу написать <? Php echo $ _SERVER ['REMOTE_ADDR']?> Прямо на мою страницу php. Пожалуйста, помогите и скажите мне, где это не так.

Ответы [ 2 ]

3 голосов
/ 27 декабря 2011

Когда вы извлекаете текст из БД и выводите его клиенту, он будет просто ПИСЬМЕННЫМ, а не ВЫПОЛНЕННЫМ - так что

$_SERVER['REMOTE_ADDR']

никогда не будет заменено реальным IP-адресом.

Решение было бы хранить

<div>IP address : '%s'</div> 

в вашей БД, позже загрузите ее и

echo sprintf($txtfromdb,$_SERVER['REMOTE_ADDR'])

вашему клиенту.

1 голос
/ 27 декабря 2011

Вы не должны хранить имя переменной как таковое в базе данных. Потому что их содержимое не будет сохранено, только его имя.

Если вы хотите, чтобы IP-адрес текущего клиента отображался, вы можете (как и для каждого php-контента выполнить) проверить его.

ob_start();
eval( $the_table_content );
$the_content = ob_get_clean();

Теперь ваш правильный контент хранится в $the_content и может, например, выводиться как echo $the_content

Но если вы хотите только вывести его, вам не нужен вышеуказанный код, и вы можете попробовать просто eval( $the_table_content ) вместо echo $the_table_content

Лучшим решением, как правило, является Евгений Рикс, но в некоторых случаях это самый быстрый и простой способ.

...