3 / 3 / 2
Регистрация: 17.11.2014
Сообщений: 92
1

Получить от переменной, содержащей IP-адрес, только данные до второй точки

24.10.2015, 13:44. Показов 517. Ответов 4
Метки нет (Все метки)

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    function get_logs_voted_data(){
        global $wpdb;
        
        $user_ip = ip2long( $_SERVER['REMOTE_ADDR'] );
        $AND = $wpdb->prepare('AND ip = %d', $user_ip );
        
        // нужно проверять пользователя и IP отдельно! А то если пользователь не залогинен у него id 0 и он будет совпадать со всеми другими незалогиненными пользователями
        if( $user_id = get_current_user_id() ){
            $AND = $wpdb->prepare('AND userid = %d', $user_id ); // только для пользователей, IP не учитывается, т.е. если вы голосовали как посетитель, а потом залогинились, то можено будет голосовать еще раз
            //$AND = $wpdb->prepare('AND (userid = %d OR ip = %d)', $user_id, $user_ip );   
        }
        
        
        // Ищем пользвоателя или IP в базе
        $sql = $wpdb->prepare("SELECT * FROM $wpdb->democracy_log WHERE qid = %d $AND", $this->id );
        $res = $wpdb->get_results( $sql );
        if( $res ) $res = array_shift( $res );
        
        return $res;
Данный код ищет совпадение на имя пользователя и на ip в базе и возвращает результат. Код работает.
Как мне его дополнить, чтобы он мне искал не только весь ip, но еще и первые две части ip (24.323.21.12) ?
Я понял как все это устроено (я не новичок), но не могу понять, как мне получить только первую часть ip пользователя (до второй точки) ?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.10.2015, 13:44
Ответы с готовыми решениями:

Вычислить адрес верхушки стека, адрес следующей команды, адрес переменной, адрес которой содержится в BX
Помогите решить следующие задачи: 1.Вычислить адрес верхушки стэка. 2.Вычислить адрес следующей...

Получить адрес переменной, и сохранить в виде строки
Как получить адреc переменной, и записать этот адрес в другую переменную в виде строки std::string?

Как получить адрес переменной типа unsigned char?
Всем привет! Как получить адрес переменной типа unsigned char? Всё ерунда получается #include...

Вывод персональной странице пользователя содержащей только анкетные данные пользователя
Php скрипт на основе temple.hph

4
502 bad gateway
Эксперт PHP
4634 / 3769 / 1571
Регистрация: 24.04.2014
Сообщений: 11,060
24.10.2015, 14:53 2
PHP
1
2
3
4
5
$ip_parts = explode('.', $ip);
if (count($ip_parts) == 4) {
    unset($ip_parts[2], $ip_parts[3]);
    $ip_first_half = implode('.', $ip_parts);
}
0
Эксперт PHP
934 / 692 / 235
Регистрация: 01.02.2015
Сообщений: 1,848
24.10.2015, 15:24 3
еще парочка вариантов
PHP
1
2
3
4
5
6
7
8
9
10
11
$ip = '24.323.21.12';
list($van, $two) = explode('.', $ip);
$result = $van . '.' . $two;
 
var_dump($result );
 
$result = implode('.', array_chunk(explode('.', $ip), 2)[0]);
var_dump($result );
 
$result = substr($ip, 0, strpos($ip, '.', strpos($ip, '.')+1));
var_dump($result );
1
3 / 3 / 2
Регистрация: 17.11.2014
Сообщений: 92
24.10.2015, 15:31  [ТС] 4
Цитата Сообщение от Poznakomlus Посмотреть сообщение
$result = implode('.', array_chunk(explode('.', $ip), 2)[0]);
var_dump($result );
Тоесть $result будет нужной, первой частью ip ?
0
Эксперт PHP
934 / 692 / 235
Регистрация: 01.02.2015
Сообщений: 1,848
24.10.2015, 16:03 5
Цитата Сообщение от fenster Посмотреть сообщение
Тоесть $result будет нужной, первой частью ip
да, начиная с версии 5.4 http://sandbox.onlinephpfuncti... 4be5bd0aa9
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.10.2015, 16:03
Помогаю со студенческими работами здесь

Движок Awesomium. Как получить в переменной новый адрес при переходе
Здравствуйте уважаемые форумчане! Помогите пожалуйста с решением проблемы! Для приложения...

Подскажите, как получить данные всех массивов только по имени или только по фамилии?
Есть 3 массива, допустим "фамилия", "имя" , "отчество" . В каждом пусть будет по 4 значения. ...

Принимать данные только со второй клавиатуры
Здравствуйте, увлекаюсь программированием на python3 и в голову закралась идея создать одну...

Как отправить данные на устройства, зная только его мак адрес?
Как нибудь можно отправить данные на устройства зная только его мак адрес. Ведь динамический ip...

Данные числа x, y являются координатами точки, лежащей во второй координатной четверти
Проверить истинность высказывания: " Данные числа x, y являются координатами точки, лежащей во...

Как отфильтровать вывод результата выполнения команды ipconfig, чтобы получить только IP-адрес?
Доброго времени суток, не подскажите, какой фильтр нужно использовались, чтобы отобразить только IP...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru