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

Форум MySQL

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

 

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

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

тема: INET_NTOA
 
 автор: Nazar   (01.05.2009 в 20:47)   письмо автору
 
 

Помогите пожалуйста новичку найти ошибку
Код:

 
# Генерируем случайное число и шифруем его 
        $hash = md5(generateCode(10)); 
# Переводим IP в строку 
 $insip = ", user_ip=INET_ATON('".$_SERVER['REMOTE_ADDR']."')"; 
        
         
        # Записываем в БД новый хеш авторизации и IP 
        mysql_query("UPDATE users SET user_hash='".$hash."' ".$insip." WHERE user_id='".$data['user_id']."'");} 
         
        # Ставим куки 
        setcookie("id", $data['user_id'], time()+60*60*24*30,"/barter/"); 
        setcookie("hash", $hash, time()+60*60*24*30,"/barter/"); 
         
        # Переадресовываем браузер на страницу проверки нашего скрипта 
        header("Location: check.php"); exit(); 


После чего мы пытаемся вытащить из базы user_ip как указано в следующем коде:


if (isset($_COOKIE['id']) and isset($_COOKIE['hash'])) 
{    
    $query = mysql_query("SELECT user_hash,user_id,INET_NTOA(user_ip) FROM users WHERE user_id = '".intval($_COOKIE['id'])."' LIMIT 1"); 
    $userdata = mysql_fetch_assoc($query);  

    if(($userdata['user_hash'] !== $_COOKIE['hash']) or ($userdata['user_id'] !== $_COOKIE['id']) and (($userdata['user_ip'] !== $_SERVER['REMOTE_ADDR'])  or ($data['user_ip'] == "0"))) 
    { 
        setcookie("id", "", time() - 3600*24*30*12,"/barter/"); 
        setcookie("hash", "", time() - 3600*24*30*12, "/barter/"); 
        print "Хм, что-то не получилось"; 
    } 
    else 
    { 
       echo "ip".$userdata['user_ip']."!";


    } 



Hе возвращает IP адресс
Где моя ошибка?

  Ответить  
 
 автор: Trianon   (01.05.2009 в 21:00)   письмо автору
 
   для: Nazar   (01.05.2009 в 20:47)
 

Отсутствует элемент $userdata['user_ip']

Вообще-то ему лучше бы назначить алиас в запросе:
SELECT user_hash,user_id,INET_NTOA(user_ip) AS ui FROM ...
и обращаться как $userdata['ui']

  Ответить  
 
 автор: Nazar   (01.05.2009 в 22:11)   письмо автору
 
   для: Trianon   (01.05.2009 в 21:00)
 

Огромное спасибо за вашу помощь!

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

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