请问,为什么我的每一个注册用户的ip地址都显示是0.0.0.0
Fllllll
Fllllll 2017-11-07 16:21:29
0
3
1632

为什么我的每一个注册用户的ip地址都显示是0.0.0.0,可以确定代码是没错的1.png

<?php

if(trim($_POST['password'])!=trim($_POST['firmPassword'])){

   exit("两次输入的密码不一致");

}

$userName=trim($_POST['userName']);

$password=md5(trim($_POST['password']));

$time=time();

$ip=ip2long($_SERVER['REMOTE_ADDR']);

echo $ip;

$conn=mysqli_connect("localhost","root","");

if(mysqli_errno($conn)){

   echo mysqli_error($conn);

   exit;

}

mysqli_set_charset($conn, 'utf8');

mysqli_select_db($conn,'zhuce_php');

$sql = "insert into user(`userName`,`password`,`createtime`,`createip`) values ('" 


. $userName . "','" . $password . "','" . $time . "','" . $ip . "')";

$result=mysqli_query($conn,$sql);

echo '当前用户插入的ID为:'.$conn->insert_id;  

if($result){

  echo "成功<br/>";

}else{

  echo"失败";

}

mysqli_close($conn);


?>


Fllllll
Fllllll

全部回复(2)
Peter_Zhu

如果你是Mac电脑,那么本地主机IP就是0.0.0.0

寻觅 beyond

你先确认一下$_SERVER['REMOTE_ADDR']在你的机器上运行,会输出什么,是127.0.0.1,还是::1,

然后,ip2long使用ip转化为长整型(10位),32位ip(ipV4)转化为整数,转化之后却是一个负数,所以需要用sprintf("%u",$ip)转化为unsigned int 类型,然后,就没有然后了,应该就是这点问题

  • 回复 $_SERVER['REMOTE_ADDR']输出的是::1 你说的后面那些就不懂了
    Fllllll 作者 2017-11-09 14:35:27
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板