등록된 각 사용자의 IP 주소가 0.0.0.0으로 표시되는 이유는 무엇입니까? 코드가 올바른지 확인할 수 있습니다
<?php
if(trim($_POST['password'])!= Trim( $_POST['firmPassword'])){
exit("두 번 입력한 비밀번호가 일치하지 않습니다.");
}
$userName=trim($_POST['userName']);
$password= md5(trimm($_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 . "','" . $ip . "')";
$result=mysqli_query($conn,$sql) ;
echo '현재 사용자가 삽입한 ID는 다음과 같습니다.'.$conn->insert_id;
if($result){
?>
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형으로 변환해야 합니다. , 더 이상 문제가 없습니다.