搜尋

首頁  >  問答  >  主體

請問,為什麼我的每個註冊用戶的ip位址都顯示是0.0.0.0

為什麼我的每個註冊用戶的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);


?>


#
FllllllFllllll2615 天前1634

全部回覆(3)我來回復

  • 天蓬老师

    天蓬老师2017-11-11 22:40:30

    如果你是Mac電腦,那麼本地主機IP就是0.0.0.0

    #

    回覆
    0
  • 寻觅 beyond

    寻觅 beyond2017-11-09 13:24:33

    你先確認一下$_SERVER['REMOTE_ADDR']在你的機器上運行,會輸出什麼,是127.0.0.1,還是::1,

    然後,ip2long使用ip轉換為長整型(10位元),32位元ip(ipV4)轉換成整數,轉換之後卻是負數,所以需要用sprintf("%u",$ip)轉換成unsigned int 型,然後,就沒有然後了,應該就是這點問題

    回覆
    0
  • Fllllll

    $_SERVER['REMOTE_ADDR']輸出的是::1 你說的後面那些就不懂了

    Fllllll · 2017-11-09 14:35:27
  • 取消回覆