// gets the user IP Address
$user_ip=$_SERVER['REMOTE_ADDR'];
if (empty($user_ip)) {
// ...
} else {
$id3 = $row['id'];
$titlesong = $row['title'];
$check_ip = mysqli_query($conn, "select userip from pageview where page='$titlesong' and userip='$user_ip'");
if (mysqli_num_rows($check_ip)>=1) {
// ...
} else {
$insertview = mysqli_query($conn,"insert into pageview values('$id3','$titlesong','$user_ip','$year','$month','$day')");
}
// some data...
}
Я сделал этот код, чтобы получить просмотры страниц вставлены в базу данных, но я получаю некоторые пустые IP-адреса, я использовалif (empty($user_ip))
, чтобы не вставлять, что просмотра в базе данных, но это не работает, вы можете указать мне в правильном направлении?
Вы также можете включить
$user_ip == ''
:Вы должны определенно искать лучшую проверку формата IP, но минимальный для IPv4 может быть:
if (strlen ($user_ip)) )
из-за подсчета не менее 4 чисел одна цифра и 3 точки.
Читать на W3Schools FILTER_VALIDATE_IP
Дополнительные параметры можно найти на PHP Docs FILTER_VALIDATE_IP