Warum wird die IP-Adresse jedes meiner registrierten Benutzer als 0.0.0.0 angezeigt? Ich kann sicher sein, dass der Code korrekt ist
<?php
if(trim($_POST['password'])!= trim( $_POST['firmPassword'])){
exit("Die zweimal eingegebenen Passwörter sind inkonsistent");
}
$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 ') $ userName . "','" $time . ;
echo 'Die vom aktuellen Benutzer eingegebene ID ist:'.$conn->insert_id
if($result){
echo "Successful<br/>";
?>
如果你是Mac电脑,那么本地主机IP就是0.0.0.0
你先确认一下$_SERVER['REMOTE_ADDR']在你的机器上运行,会输出什么,是127.0.0.1,还是::1,
然后,ip2long使用ip转化为长整型(10位),32位ip(ipV4)转化为整数,转化之后却是一个负数,所以需要用sprintf("%u",$ip)转化为unsigned int 类型,然后,就没有然后了,应该就是这点问题