Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: IP пользователя
 
 автор: uvajs   (17.09.2010 в 00:24)   письмо автору
 
 

Подскажи пожалуйста, как узнать IP пользователя, которого хочет комментировать статью?

  Ответить  
 
 автор: Стажер   (17.09.2010 в 00:31)   письмо автору
 
   для: uvajs   (17.09.2010 в 00:24)
 

В php есть глобальный массив его иногда называют суперглобальным массивом вот его код:
Проста загоните его в какую та переменную а потом в БД

<?php
$user_ip 
$_SERVER['REMOTE_ADDR'];
?>

  Ответить  
 
 автор: uvajs   (17.09.2010 в 00:34)   письмо автору
 
   для: Стажер   (17.09.2010 в 00:31)
 

>Проста загоните его в какую та переменную а потом в БД

а скажите, в БД в поле будет int или...?

  Ответить  
 
 автор: Стажер   (17.09.2010 в 00:37)   письмо автору
 
   для: uvajs   (17.09.2010 в 00:34)
 

Я вставлю всегда varchar(100)!

  Ответить  
 
 автор: uvajs   (17.09.2010 в 00:40)   письмо автору
 
   для: Стажер   (17.09.2010 в 00:37)
 

>Я вставлю всегда varchar(100)!

Спасибо Вам большое !!!!

  Ответить  
 
 автор: neadekvat   (17.09.2010 в 00:43)   письмо автору
 
   для: Стажер   (17.09.2010 в 00:37)
 

Нифига себе вы айпишник ожидаете.

  Ответить  
 
 автор: Trianon   (17.09.2010 в 01:18)   письмо автору
 
   для: neadekvat   (17.09.2010 в 00:43)
 

сколько там в IPv6 ?

  Ответить  
 
 автор: neadekvat   (17.09.2010 в 01:23)   письмо автору
 
   для: Trianon   (17.09.2010 в 01:18)
 

Судя по нотации, 39 и менее.
Хотя вопрос от вас несколько смущает. Где-то подвох?

  Ответить  
 
 автор: Trianon   (17.09.2010 в 01:26)   письмо автору
 
   для: neadekvat   (17.09.2010 в 01:23)
 

я к тому, что разница-то не на порядок.
Хотя таки да, согласен. Ради эффективных индексов можно было и поджать.

  Ответить  
 
 автор: uvajs   (17.09.2010 в 01:41)   письмо автору
 
   для: Trianon   (17.09.2010 в 01:26)
 

Ребят, все это очень хорошо, но объясните, что все это значит???

  Ответить  
 
 автор: neadekvat   (17.09.2010 в 02:03)   письмо автору
 
   для: uvajs   (17.09.2010 в 01:41)
 

Я ранее ссылку оставил на другую тему. Там написано.

  Ответить  
 
 автор: uvajs   (17.09.2010 в 12:28)   письмо автору
 
   для: neadekvat   (17.09.2010 в 02:03)
 

>Я ранее ссылку оставил на другую тему. Там написано.

ничего там не понятно. есть комментарий на сайте, нужно проверить пользователя на повторные коммент. чтобы пользователь не смог комментировать сразу 2 раза одну статью. как это дело реализовать подскажите пожалуйста

  Ответить  
 
 автор: neadekvat   (17.09.2010 в 17:22)   письмо автору
 
   для: uvajs   (17.09.2010 в 12:28)
 

Сделайте регистрацию и не парьтесь.
А если хотите оставить возможность комментирования без регистрации - то поставьте каптчу, глупые боты уже не пройдут. А от пользователей прятатсья - а вдруг я хочу еще что-то добавить (а редактирования сто процентов нет).

  Ответить  
 
 автор: neadekvat   (17.09.2010 в 01:58)   письмо автору
 
   для: Trianon   (17.09.2010 в 01:26)
 

В принципе, я думаю, зависит от цели хранения ip адреса.
Если поиск строки будет осуществляться по любому другому полю, отличному от поля, в котором хранится ip-адрес, то это будут лишние телодвижения.
Но если поиск ведется по ip-адресу (ну, например, использована функция бана по ip и теперь надо проверить, не забанен ли пользователь (хотя я вообще против идеи бана по ip)), то, как вы уже сказали, для эффективности индексов я бы сделал эти телодвижения.

  Ответить  
 
 автор: neadekvat   (17.09.2010 в 00:43)   письмо автору
 
   для: uvajs   (17.09.2010 в 00:24)
 

http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=61551

  Ответить  
 
 автор: Красная_шляпа   (17.09.2010 в 19:54)   письмо автору
 
   для: uvajs   (17.09.2010 в 00:24)
 



<?php

function get_ip() {
    
$ip = (isset($_SERVER["HTTP_X_FORWARDED_FOR"]) and $_SERVER["HTTP_X_FORWARDED_FOR"] != "") ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
    return (
preg_match("/^[0-9\.]+$/"$ip)) ? $ip "";
}

?>

  Ответить  
 
 автор: Красная_шляпа   (17.09.2010 в 20:06)   письмо автору
 
   для: uvajs   (17.09.2010 в 00:24)
 

да ещё есть функция ip2long можно хранить в бд как int (4 байта) очень экономично получается

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования