点击页面获取用户ip

时间:2016-06-13 11:46:45

标签: php

我正在尝试在打开某个页面时获取用户的IP地址。 我希望这个ip邮寄给我或存储在数据库中。

目前我有这个,但它不起作用。

<?php
$to = "flash1996mph@hotmail.com";
$subject = "test";
$ip = $_SERVER['REMOTE_ADDR'];
$txt = "Hello world!";

header ('mail($to,$subject,$txt,$ip);')
?>

我不知道这是对还是错,我只是一个新人尝试..这是我心中想到的第一个。

感谢所有帮助。

提前致谢,

-Kev

编辑:

<?php
$to = "flash1996mph@hotmail.com";
$subject = "test";
$ip = $_SERVER['REMOTE_ADDR'];
$txt = "Hello world!";

 mail($to,$subject,$txt,$ip); 
?>

现在有了它,它仍然无法正常工作。 每当我删除“ip”变量时它都有效。当我不这样做时它不发送。

2 个答案:

答案 0 :(得分:4)

我认为您完全取得了用户的IP地址,但您调用邮件功能的方式完全错误。

执行任务的更好方法是创建一个函数并在需要时传递用户的IP地址:

创建一个名为ng-change的文件,并在其中写下以下代码。

functions.php

现在,从您的PHP页面调用类似

的函数
function fetch_user_IP($ip_address)
{

    $to = 'your-email@address.com';
    $subject = 'IP Address for the User';
    $message = 'Hi,<b/>Here is the IP Address: '.$ip_address.'<br/>Thanks';
    $headers = 'From: webmaster@example.com' . "\r\n" .
        'Reply-To: webmaster@example.com' . "\r\n" .


    mail($to, $subject, $message, $headers);

    //Insert the IP to Database
    //Write your DB query here
}

答案 1 :(得分:2)

您不应该将标题内的邮件发送更改为此,第四个参数也是标题:

$txt = "Hello your ip is ".$ip;


 mail($to,$subject,$txt);