ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #10191  
Старый 25.04.2009, 00:09
sNt
Участник форума
Регистрация: 30.07.2008
Сообщений: 152
Провел на форуме:
659306

Репутация: 34
Отправить сообщение для sNt с помощью ICQ
По умолчанию

Есть код

PHP код:
<?php
 
function packet() { 
 
$c=1;
    
if(
$c=1) {
return array(
$c);
    }               
    }
    echo 
packet();
?>
При определенных обстоятельствах возвращается массив, и присваивается, на сколько я понял, функции packet(). Вопрос: как вытащить этот return'енный массив из функции?
 
Ответить с цитированием

  #10192  
Старый 25.04.2009, 00:31
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

$array = packet();
 
Ответить с цитированием

  #10193  
Старый 25.04.2009, 00:56
sNt
Участник форума
Регистрация: 30.07.2008
Сообщений: 152
Провел на форуме:
659306

Репутация: 34
Отправить сообщение для sNt с помощью ICQ
По умолчанию

PHP код:
function is_user_info($packet)
    {
        if(!
is_array($packet))
            return 
false;
        if(
$packet[0] != $this->MRIM_CS_USER_INFO)
            return 
false;
        
$p $packet[1];
        
$ret = array();
        
$cnt 0;
        while(
true) {
            list(,
$len) = unpack('L1',$p);
            
$p substr($p,4);
            
$ret[$cnt]['param'] = substr($p,0,$len);
            
$p substr($p,$len);
            list(,
$len) = unpack('L1',$p);
            
$p substr($p,4);
            
$ret[$cnt]['value'] = iconv('UTF-16LE','UTF-8//IGNORE',substr($p,0,$len));
            
$p substr($p,$len);
            
$cnt++;
            if(
strlen($p) == 0)
                break;
        }
        for(
$i 0$i count($ret); $i++) {
            if(
$ret[$i]['param'] == 'MRIM.NICKNAME')
                
$this->nickname $ret[$i]['value'];
            if(
$ret[$i]['param'] == 'client.endpoint') {
                list(
$ip) = explode(':',$ret[$i]['value']);
                
$this->ip trim($ip);
            }
        }
        return 
$ret;
    } 
Это класс. Описание:

PHP код:
mixed    is_user_info(
    array    
$packet            принятый от сервера пакет
)            - проверяетявляется ли принятый пакет личной информацией пользователя
принимает значения
:
false    пакет не содержит ожидаемых данных
array    - ассоциативный массив с полученными от сервера данными ("MESSAGES.TOTAL""MESSAGES.UNREAD""MRIM.NICKNAME" и др.) 
Вот код mra.php
PHP код:
<?php

$login
='anty611@bk.ru';
$pass='1721';

include(
"class.mrim.phps");

$mra = new mrim;
$mra->connect() or die('Ошибка при подключении к серверу');
$mra->login($login$pass) or die('auth');
//$mra->message_auth('anty611@bk.ru', 'pizda');
$mra->recevie_packet()
echo 
$mra->is_user_info();

?>
Я пытаюсь вывести ответ сервера (массив), но не выходит. Перебирал все, что только мог. Про классы читал, но про это не видно ничего...
 
Ответить с цитированием

  #10194  
Старый 25.04.2009, 01:04
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 1304


По умолчанию

Во-первых, функции надо передавать пакет. Во-вторых, функция вернет массив с данными ТОЛЬКО если этот пакет - пакет юзеринфо

PHP код:
$tmp=$mra->recevie_packet();
var_dump($mra->is_user_info($tmp)); 
 
Ответить с цитированием

Вопрос а можна вернуть значение без использование
  #10195  
Старый 25.04.2009, 02:15
DTW
Участник форума
Регистрация: 11.05.2008
Сообщений: 202
Провел на форуме:
420713

Репутация: 104
По умолчанию Вопрос а можна вернуть значение без использование

PHP код:
 function seltopic($topic) {
     static 
$arr;
    
connection();
       
       
    
$query="SELECT theme.post,theme.id,theme.id_page, theme.title,user.name,user.email,
            theme.user_id FROM theme,user where theme.id_page=
$topic and user.id=theme.user_id";
    
$rezult mysql_query($query);
   
    
     if(!
$rezult) echo mysql_error().exit();
     if(
mysql_num_rows($rezult) > )  {
     
$cat mysql_fetch_array($rezult);  
      
$arr[] = $cat;
         
    
$query2="SELECT id_page,post from theme where parent=".$cat['id_page']."";   
    
$rezult2 mysql_query($query2);         
   
    while((
$cat2 mysql_fetch_array($rezult2)) !==false) {
    
        
seltopic($cat2['id_page']) ;
       
       
    }
          
     } 
         return  
$arr ;
  } 
Вопрос а как можна вернуть значение без
использование
статической переменой
 
Ответить с цитированием

  #10196  
Старый 25.04.2009, 11:13
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 1304


По умолчанию

DTW Вопрос - а где она используется? И какой смысл был, когда вы ее писали?
 
Ответить с цитированием

  #10197  
Старый 25.04.2009, 11:37
SQLHACK
Голос разума
Регистрация: 27.09.2006
Сообщений: 529
Провел на форуме:
1607210

Репутация: 1617


Отправить сообщение для SQLHACK с помощью ICQ
По умолчанию

Цитата:
Сообщение от DTW  
PHP код:
 function seltopic($topic) {
     static 
$arr;
    
connection();
       
       
    
$query="SELECT theme.post,theme.id,theme.id_page, theme.title,user.name,user.email,
            theme.user_id FROM theme,user where theme.id_page=
$topic and user.id=theme.user_id";
    
$rezult mysql_query($query);
   
    
     if(!
$rezult) echo mysql_error().exit();
     if(
mysql_num_rows($rezult) > )  {
     
$cat mysql_fetch_array($rezult);  
      
$arr[] = $cat;
         
    
$query2="SELECT id_page,post from theme where parent=".$cat['id_page']."";   
    
$rezult2 mysql_query($query2);         
   
    while((
$cat2 mysql_fetch_array($rezult2)) !==false) {
    
        
seltopic($cat2['id_page']) ;
       
       
    }
          
     } 
         return  
$arr ;
  } 
Вопрос а как можна вернуть значение без
использование
статической переменой
Собственно надо земенить
static $arr;
на
$arr = array();
ну или вообще убрать, все и без этого работать будет
__________________
Бойтесь своих желаний. Они могут исполниться....

...О-о-о-о, ушами не услышать, глазами не понять!
 
Ответить с цитированием

  #10198  
Старый 25.04.2009, 11:49
Chaak
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
Провел на форуме:
5321514

Репутация: 3313


Отправить сообщение для Chaak с помощью ICQ
По умолчанию

Цитата:
Сообщение от SQLHACK  
Собственно надо земенить
static $arr;
на
$arr = array();
ну или вообще убрать, все и без этого работать будет
Во первых лучше все объявлять, тогда не будет ворненгов. И еще иногда является защитой от какеров
 
Ответить с цитированием

  #10199  
Старый 25.04.2009, 12:23
Anderson55
Новичок
Регистрация: 02.06.2008
Сообщений: 20
Провел на форуме:
46963

Репутация: -15
По умолчанию

а что такое zend studio ?
 
Ответить с цитированием

  #10200  
Старый 25.04.2009, 12:27
Byrger
Постоянный
Регистрация: 07.03.2008
Сообщений: 479
Провел на форуме:
791766

Репутация: 61
По умолчанию

Как проверить есть ли в строке какаето либо слово из массива вне зависимости от регистра букв
Тоесть надо сделать проверку на Селекты Юнионы и если есть то запустить их вырезание или замену+вызов функции err_log()
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Delphi, .NET, Asm 5420 17.06.2010 13:33
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Форумы 26 15.02.2005 22:57



Здесь присутствуют: 5 (пользователей: 0 , гостей: 5)
 


Быстрый переход




ANTICHAT.XYZ