Php 捕获用户机器的ip地址

Php 捕获用户机器的ip地址,php,ip,Php,Ip,我正在使用此代码捕获ip地址,但我无法获取特定用户的机器ip,我可以从中动态显示地址,因此有人可以在这个主题上帮助我吗?您似乎连接了一个错误的(空)变量 尝试更改此选项: $messageip=“用户IP:$IP\n\n”$信息IP 为此: $messageip=“用户IP:$IP\n\n”$知识产权 非常感谢。它的工作。。。还有一种想法是“如果用户在as路由器下工作,那么it会捕获机器ip或路由器ip吗?”,显然是路由器ip,因为这是他在“外部”网络(即互联网)上的ip。路由器后面的IP地址(

我正在使用此代码捕获ip地址,但我无法获取特定用户的机器ip,我可以从中动态显示地址,因此有人可以在这个主题上帮助我吗?

您似乎连接了一个错误的(空)变量

尝试更改此选项:

$messageip=“用户IP:$IP\n\n”$信息IP

为此:

$messageip=“用户IP:$IP\n\n”$知识产权


非常感谢。它的工作。。。还有一种想法是“如果用户在as路由器下工作,那么it会捕获机器ip或路由器ip吗?”,显然是路由器ip,因为这是他在“外部”网络(即互联网)上的ip。路由器后面的IP地址(NAT)实际上是来自不同范围(192.168…)的本地IP,检索此IP地址毫无意义。对于一个基本的介绍,你可以检查,并为更详细的解释,你可以检查感谢很多!!谢谢你的帮助,没问题。如果答案解决了您的问题,您可以选择接受答案。
<?php
if (isset($_GET['action']) && ($_GET['action'] == 'submit')) {
    $name    = $_POST['name'];
    $message = $_POST['message'];
    $email   = $_POST['email'];

    $ip        = $_SERVER["REMOTE_ADDR"];
    $messageip = "User IP: $ip\n\n" . $messageip;

    $sql   = "SELECT * FROM tbl_user WHERE email = '" . $email . "'";
    $query = mysql_query($sql);
    $count = mysql_num_rows($query);
    if ($count >= 1) {

        echo "User Already in Exists<br/>";
    } else {

        $newUser = "INSERT INTO tbl_user(name,message,email,ip_address) values('$name','$message','$email','$messageip')";
        $query2  = mysql_query($newUser);

        if ($query2) {
            echo "You are now registered<br/>";
        } else {
            echo "Error adding user in database<br/>";
        }
    }
    echo $name . '<br/>';
    echo $message . '<br/>';
    echo $email . '<br/>';
    echo $messageip . '<br/>';
}
?>