[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. nilux

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

    Joined:
    19 Aug 2005
    Messages:
    100
    Likes Received:
    33
    Reputations:
    0
    Pashkela спасибо, запрос http://www.site.com/index.php?id=../../index убил браузер )))) рекурсия блин
     
    #9721 nilux, 23 Apr 2009
    Last edited: 23 Apr 2009
  2. Dimi4

    Dimi4 Чайный пакетик

    Joined:
    19 Mar 2007
    Messages:
    750
    Likes Received:
    1,046
    Reputations:
    291
    Моя ваша непонимать. Моя понимать джокестера. Че вы тут о хсс трёте если тут явно лфи? О_О

    П.С
    :D
     
  3. diznt

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

    Joined:
    31 Jan 2008
    Messages:
    432
    Likes Received:
    164
    Reputations:
    -19
    PHP:
    <form method="post">
    <center>
    <div>text:
    <input type="text" name="text" size="60"/><br />
    <input type="submit" name="button" value="decode"/>
    </div>
    <br />
    <br />
    <br />
    <center>
    <div>md5</div>
    <input type="text" name="md5" size="40"/>
    </center>
    </form>
    <?php
     
    if (isset($_POST['button'])){
         
    $_POST['md5'] = md5($_POST['text']);
     }
    ?>
    вообщем нужно чтобы value у md5 было значение функции md5($_POST['text'])

    как это сделать?
     
  4. diznt

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

    Joined:
    31 Jan 2008
    Messages:
    432
    Likes Received:
    164
    Reputations:
    -19
    открытый текст пхп виден
    так не преобразуеться в функцию вообще (темболее ты забыл закрыть скобку)

    ЗЫ все понял свою ошибку, я открывал как html файл :D
     
    #9724 diznt, 24 Apr 2009
    Last edited: 24 Apr 2009
  5. DTW

    DTW Banned

    Joined:
    11 May 2008
    Messages:
    221
    Likes Received:
    52
    Reputations:
    11
    PHP:

    function path($cat,$link) {
        
    connection();
       static 
    $link="";      
        
       
    $query="SELECT id, name, parent FROM category where id=$cat";
       
    $rezult mysql_query($query);
       if(!
    $rezult) echo mysql_error().exit();
            if(
    mysql_num_rows($rezult) > 0) {
         
    $cat mysql_fetch_array($rezult);
         
          
    $link[] .= "-><a href=theme.php?cat=".$cat['id'].">".$cat['name']. "</a>";
                
           
    path($cat['parent'],$link);    
                 
           
                
          }
           
    krsort($link);
            return 
    $link;
         }

    Вопрос как сделать чтоб не сортировать массив ?

    если не сортирует то выводит так Марка_Х-Машины-Главная..
     
  6. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    2 diznt:

    без кавычек

    2 DTW:

    задай вопрос нормально. Какой параметр в твоём коде, например, есть "Марка_Х" и вообще, ты так и не написал, какая последовательность была бы правильной

    а вообще юзай ASC|DESC еще при SQL запросе
     
    #9726 Pashkela, 24 Apr 2009
    Last edited: 24 Apr 2009
  7. Veteriuz

    Veteriuz New Member

    Joined:
    22 Apr 2009
    Messages:
    13
    Likes Received:
    3
    Reputations:
    0
    я только начинаю изучать язык.
    Вы, как опытные php-шники, наверное уже пробовали не одну прогу, для более удобного/быстрого написания кода. С разными подсветками синтаксиса и т.п.
    Посоветуйте, пожалуйста, с чего бы мне начать? Что поудобней?
     
  8. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    я юзаю PHP Expert Editor
     
  9. art2222

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

    Joined:
    28 Apr 2008
    Messages:
    118
    Likes Received:
    57
    Reputations:
    10
    Eclipse, а лично у меня Zend Studio for Eclipse.
     
  10. sNt

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

    Joined:
    30 Jul 2008
    Messages:
    117
    Likes Received:
    11
    Reputations:
    1
    Есть код

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

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

    Joined:
    30 Jul 2008
    Messages:
    117
    Likes Received:
    11
    Reputations:
    1
    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
    ='[email protected]';
    $pass='1721';

    include(
    "class.mrim.phps");

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

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

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Во-первых, функции надо передавать пакет. Во-вторых, функция вернет массив с данными ТОЛЬКО если этот пакет - пакет юзеринфо

    PHP:
    $tmp=$mra->recevie_packet();
    var_dump($mra->is_user_info($tmp)); 
     
    _________________________
  13. DTW

    DTW Banned

    Joined:
    11 May 2008
    Messages:
    221
    Likes Received:
    52
    Reputations:
    11
    Вопрос а можна вернуть значение без использование

    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 ;
      } 
    Вопрос а как можна вернуть значение без
    использование
    статической переменой :confused:
     
  14. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    DTW Вопрос - а где она используется? И какой смысл был, когда вы ее писали?
     
    _________________________
  15. SQLHACK

    SQLHACK Остались только слоны

    Joined:
    27 Sep 2006
    Messages:
    437
    Likes Received:
    372
    Reputations:
    407
    Собственно надо земенить
    static $arr;
    на
    $arr = array();
    ну или вообще убрать, все и без этого работать будет :cool:
     
    _________________________
  16. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Во первых лучше все объявлять, тогда не будет ворненгов. И еще иногда является защитой от какеров
     
  17. Anderson55

    Anderson55 New Member

    Joined:
    2 Jun 2008
    Messages:
    18
    Likes Received:
    0
    Reputations:
    -10
    а что такое zend studio ?
     
  18. Byrger

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

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    Как проверить есть ли в строке какаето либо слово из массива вне зависимости от регистра букв
    Тоесть надо сделать проверку на Селекты Юнионы и если есть то запустить их вырезание или замену+вызов функции err_log()
     
  19. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    2 Byrger:

    Это анриал, к сожалению, забудь
     
  20. PaCo

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

    Joined:
    6 Feb 2008
    Messages:
    436
    Likes Received:
    138
    Reputations:
    25
    PHP:
    $array_search=array('union','select','group','order','limit');
    $input="1+UnIoN+SeLeCt+1";
    echo 
    str_ireplace($array_search,'тра-та-та',$input,$count);
    if(
    $count>0) {

     
    ну и здеся функция твоя err_log()

    }


     
    #9740 PaCo, 25 Apr 2009
    Last edited: 25 Apr 2009
Thread Status:
Not open for further replies.