Добавление ip в базу

Discussion in 'PHP' started by maked0n, 16 Nov 2010.

  1. maked0n

    maked0n New Member

    Joined:
    14 Sep 2010
    Messages:
    144
    Likes Received:
    3
    Reputations:
    0
    Подскажите как сделать:
    при загрузке страницы index.php ip зашедшего добавляется в базу mySQL в таблицу ip.
    Как добавить данные в таблицу - я знаю. Вопрос в том, как получить ip пользователя и забузолить его в переменную $ip?
     
  2. DiffiT

    DiffiT Member

    Joined:
    15 Dec 2009
    Messages:
    195
    Likes Received:
    12
    Reputations:
    3
    $ip = $_SERVER['REMOTE_ADDR'];

    зы: название темы неадекватно
     
    1 person likes this.
  3. Чакэ

    Чакэ Elder - Старейшина

    Joined:
    15 Aug 2010
    Messages:
    260
    Likes Received:
    66
    Reputations:
    62
    что есть забузолить ?
     
  4. DiffiT

    DiffiT Member

    Joined:
    15 Dec 2009
    Messages:
    195
    Likes Received:
    12
    Reputations:
    3
    Забузолить в переменную - присвоить
    (© словарь программиста)
     
  5. Чакэ

    Чакэ Elder - Старейшина

    Joined:
    15 Aug 2010
    Messages:
    260
    Likes Received:
    66
    Reputations:
    62
    спасибо, учту :)
     
  6. Фараон

    Фараон коКотэ Of Antichat

    Joined:
    7 Nov 2010
    Messages:
    153
    Likes Received:
    105
    Reputations:
    83
    Создаем таблицу в БД:
    PHP:
    CREATE TABLE ``IP` (
    `ID` INT NOT NULL AUTO_INCREMENT ,
    `IP` varchar(25) NOT NULL ,
    PRIMARY KEY ( 
    `ID` ) 
    ) ENGINE = MYISAM ;


    И PHP файл который будет заносить IP в БД:
    PHP:
    <?
    include(
    "config.php");
    $ip $_SERVER['REMOTE_ADDR'];
    $query "insert into IP(IP) values ('$ip')";
    $res mysql_query($query);
    if(
    $res)
    {
    echo 
    "Ваш IP адрес успешно добавлен в БД!";
    }
    else
    {
    echo 
    "IP не добавлен!";
    }
    ?>
    При заходе на этот PHP документ в БД будет добавляться IP.
     
    1 person likes this.
  7. maked0n

    maked0n New Member

    Joined:
    14 Sep 2010
    Messages:
    144
    Likes Received:
    3
    Reputations:
    0
    Всем спасибо!
    а как надо?) я же заношу ip в базу) ну я просто не мог придумать как назвать тему)
     
    #7 maked0n, 16 Nov 2010
    Last edited: 16 Nov 2010
  8. Чакэ

    Чакэ Elder - Старейшина

    Joined:
    15 Aug 2010
    Messages:
    260
    Likes Received:
    66
    Reputations:
    62
    PHP:
    <?php  include("config.php");  mysql_query("insert into `ip` set `ip`='{$_SERVER['REMOTE_ADDR']}'") or die ('ololo '.mysql_error());
    echo 
    'trololo OK';  ?>
     
    1 person likes this.
  9. mrxh8

    mrxh8 New Member

    Joined:
    16 Apr 2009
    Messages:
    69
    Likes Received:
    4
    Reputations:
    0
    также можно ip в базе хранить как int(10), вместо VARCHAR(15):
    при добавлении INET_ATON($ip), а при извлечении INET_NTOA(ip)
     
    1 person likes this.
  10. Mystery

    Mystery Member

    Joined:
    16 Nov 2010
    Messages:
    32
    Likes Received:
    5
    Reputations:
    0
    +1 к Inet_Aton (быстрее поиск по базе происходить будет)

    можно ещё User Agent клиента сохранять, смотря для каких целей ты этим занялся
     
  11. maked0n

    maked0n New Member

    Joined:
    14 Sep 2010
    Messages:
    144
    Likes Received:
    3
    Reputations:
    0
    <?php
    $ip = $_SERVER['REMOTE_ADDR'];
    $date = date("G:i d-m-y");
    $db = mysql_connect("localhost", "root");
    $query = "INSERT INTO users(ip, date) VALUES('$ip', '$date')";
    $result = mysql_query($query);
    if($result == 'true')
    {
    echo "succeed";
    }
    ?>

    не пашет, succed не выводится( в чем прикол?
     
  12. mrxh8

    mrxh8 New Member

    Joined:
    16 Apr 2009
    Messages:
    69
    Likes Received:
    4
    Reputations:
    0
    да и размер хранимых данных в 4 раза меньше
     
  13. mrxh8

    mrxh8 New Member

    Joined:
    16 Apr 2009
    Messages:
    69
    Likes Received:
    4
    Reputations:
    0
    сделай
    echo mysql_error();
    и посмотри в чем дело
     
    1 person likes this.
  14. Mystery

    Mystery Member

    Joined:
    16 Nov 2010
    Messages:
    32
    Likes Received:
    5
    Reputations:
    0

    покажи
    show create table users; (mysql запрос)
    может быть нессответствие типов при инсерте в базу
     
    1 person likes this.
  15. DeepBlue7

    DeepBlue7 Elder - Старейшина

    Joined:
    2 Jan 2009
    Messages:
    359
    Likes Received:
    50
    Reputations:
    12
    Делай так :

    Code:
    if($result)
    
    Ты указываеш true не как лог. значение :/ если уж так, то
    Code:
    if($result==true)
     
    #15 DeepBlue7, 16 Nov 2010
    Last edited: 16 Nov 2010
    1 person likes this.
  16. maked0n

    maked0n New Member

    Joined:
    14 Sep 2010
    Messages:
    144
    Likes Received:
    3
    Reputations:
    0
    mysql_error() - No database selected
    не выбрана база? как это?
     
  17. mrxh8

    mrxh8 New Member

    Joined:
    16 Apr 2009
    Messages:
    69
    Likes Received:
    4
    Reputations:
    0
    mysql_select_db()
     
  18. DeepBlue7

    DeepBlue7 Elder - Старейшина

    Joined:
    2 Jan 2009
    Messages:
    359
    Likes Received:
    50
    Reputations:
    12
    $connect = mysql_connect("localhost","root","12123");
    mysql_select_db("база",$connect);

    база - та база данных, где находятся твои таблицы.
     
    1 person likes this.
  19. mrxh8

    mrxh8 New Member

    Joined:
    16 Apr 2009
    Messages:
    69
    Likes Received:
    4
    Reputations:
    0
    PHP:
    <?php
    $ip 
    $_SERVER['REMOTE_ADDR'];
    $date date("G:i d-m-y");
    if(
    mysql_connect("localhost""root"))
    {
       if(
    mysql_select_db('ip'))    // имя базы
       
    {
          
    $qery"INSERT INTO users(ip, date) VALUES('".$ip."', '".$date."')";
          if(
    mysql_query($query))
             echo 
    'OK!';
          else echo 
    mysql_error();
       }
       else echo 
    mysql_error();
    }
    else echo 
    mysql_error();
    ?>
    вот, так что б красиво *** было))
    мож где опечатался, не проверял

    //Gifts: здесь не матерятся
     
    #19 mrxh8, 16 Nov 2010
    Last edited by a moderator: 16 Nov 2010
  20. DeepBlue7

    DeepBlue7 Elder - Старейшина

    Joined:
    2 Jan 2009
    Messages:
    359
    Likes Received:
    50
    Reputations:
    12
    Опечатался...

    Code:
    $qery= "INSERT INTO users(ip, date) VALUES('".$ip."', '".$date."')";
          if(mysql_query($query))
             echo 'OK!';
          else echo mysql_error();
       }
    И не пойму, нах столько эльсов ? )