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

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

Thread Status:
Not open for further replies.
  1. D Mak

    D Mak Elder - Старейшина

    Joined:
    23 Jun 2007
    Messages:
    136
    Likes Received:
    27
    Reputations:
    0
    у мня бывало так, один раз оказалось что надо слать все хидеры типа keep-alive user-agent (очень удивлен был), еще бывает что форма типа form-urlencoded но это вроде не должно влиять, последний раз я таки не добил в чем трабла, хотя форма реги простейшая
     
  2. D Mak

    D Mak Elder - Старейшина

    Joined:
    23 Jun 2007
    Messages:
    136
    Likes Received:
    27
    Reputations:
    0
    commview возьми с торентов
     
  3. Joker-jar

    Joker-jar Elder - Старейшина

    Joined:
    11 Mar 2007
    Messages:
    581
    Likes Received:
    205
    Reputations:
    37
    При запросе капчи передаешь реферер страницы? Я делал не на курле а на сокетах, все заголовки, пропаленные плагином, которые отправляются при запросе страницы, капчи и сабмите прописывал. Пробуй
     
  4. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    потому что localhost=127.0.0.1

    а getenv ("REMOTE_ADDR"); - это твой IP адрес, или того, кто посмотрит такую страничку, причем внешний.

    Чтобы увидеть разницу - сделай

    PHP:
    echo $ip;
    в обоих случаях, и сразу поймешь
     
  5. Tigger

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

    Joined:
    27 Aug 2007
    Messages:
    936
    Likes Received:
    527
    Reputations:
    204
    PHP:
    <?php 
    $ua 
    'User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Widows NT)';   
    $url 'http://win.mail.ru/cgi-bin/signup';   
    $ch curl_init();   
        
    curl_setopt($chCURLOPT_URL$url); 
        
    curl_setopt($chCURLOPT_REFERER"http://mail.ru/");
        
    curl_setopt($chCURLOPT_HEADER0);   
        
    curl_setopt($chCURLOPT_USERAGENT$ua);   
        
    curl_setopt($chCURLOPT_TIMEOUT10);  
        
    curl_setopt($chCURLOPT_RETURNTRANSFER1);    
           
    $res curl_exec($ch);  
           
    curl_exec($ch);
    preg_match_all('/<td><img src="(.*?)"/'$res$captca);
    $urles 'http://win.mail.ru/cgi-bin/'.$captca[1][0];
    $urlesq '<img src="'.$urles.'">';
    echo 
    $urlesq;
    ?>
    Почему сие чудо не пашет? Пробовал с куками все-ровно никак... Что-нибудь предложите?
    //Не надо умничать, что там 3 картинки - я знаю... Мне бы с одной разобраться))
     
  6. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    а там даже не лазя в сорцы видно, что капча поделена на ТРИ картинки, адреса разные. Так что код не рабочий:)
     
    #10226 Pashkela, 31 May 2009
    Last edited: 31 May 2009
  7. Tigger

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

    Joined:
    27 Aug 2007
    Messages:
    936
    Likes Received:
    527
    Reputations:
    204
    а как тогда будет выглядеть рабочий? о_0

    Пашкела, я же сказал, что не писать этого)))
    Прочитай последнюю строчку... Для вывода других $captca[1][1] и $captca[1][2], ну и что? дело не в этом! Дело в том, что ВМЕСТО всех каптчах он пишет 000 (значит, что не правильно сгенерирована), но если этот же код просто в строке браузера захерачить, то все норм...
     
    #10227 Tigger, 31 May 2009
    Last edited: 31 May 2009
  8. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    Рабочий выглядет вот так!

    [​IMG]
     
    2 people like this.
  9. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Вот код для выдергивания всех трёх кусков (регулярка совсем другая уже):

    PHP:
    <pre>
    <?php  
    $ua 
    'User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Widows NT)';    
    $url 'http://win.mail.ru/cgi-bin/signup';    
    $ch curl_init();    
        
    curl_setopt($chCURLOPT_URL$url);  
        
    curl_setopt($chCURLOPT_REFERER"http://mail.ru/"); 
        
    curl_setopt($chCURLOPT_HEADER0);    
        
    curl_setopt($chCURLOPT_USERAGENT$ua);    
        
    curl_setopt($chCURLOPT_TIMEOUT10);   
        
    curl_setopt($chCURLOPT_RETURNTRANSFER1);     
           
    $res curl_exec($ch);   
           
    curl_exec($ch); 
    preg_match_all('|<td><img src="(.*)".*></td>|'$res$captca); 
    print_r($captca);
    $urles 'http://win.mail.ru/cgi-bin/'.$captca[1][0]; 
    $urlesq '<img src="'.$urles.'">'
    echo 
    $urlesq;
    $urles 'http://win.mail.ru/cgi-bin/'.$captca[1][1]; 
    $urlesq '<img src="'.$urles.'">'
    echo 
    $urlesq;
    $urles 'http://win.mail.ru/cgi-bin/'.$captca[1][2]; 
    $urlesq '<img src="'.$urles.'">'
    echo 
    $urlesq
    ?>
    </pre>
    А почему нули - наверное надо таки куки или рефер подставлять, в общем юзать плагины в FF, чтобы понять, что к чему, видать не все параметры передаются:)))

    Мне просто некогда, бежать надо. Потом приду - мож что и придумаю
     
  10. Winst0n

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

    Joined:
    19 Aug 2008
    Messages:
    92
    Likes Received:
    5
    Reputations:
    0
    как и чем это расшифровать?

    Code:
    "R0lGODlhEAAQAAAAACH5BAEAAAEALAAAAAAQABAAgAAAAAAAAAImDA6hy5rW0HGosffsdTpqvFlg". 
    					"t0hkyZ3Q6qloZ7JimomVEb+uXAAAOw==",
     
  11. wildshaman

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

    Joined:
    16 Apr 2008
    Messages:
    477
    Likes Received:
    483
    Reputations:
    99
    PHP:
    $str 'R0lGODlhEAAQAAAAACH5BAEAAAEALAAAAAAQABAAgAAAAAAAAAImDA6hy5rW0HGosffsdTpqvFlgt0hkyZ3Q6qloZ7JimomVEb+uXAAAOw==';
    echo 
    base64_decode($str);
     
  12. Winst0n

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

    Joined:
    19 Aug 2008
    Messages:
    92
    Likes Received:
    5
    Reputations:
    0
    пробовал... но выдает он ппц...

    Code:
    "R0lGODlhEAAQAAAAACH5BAEAAAEALAAAAAAQABAAgAAAAAAAAA  ImDA6hy5rW0HGosffsdTpqvFlg". "t0hkyZ3Q6qloZ7JimomVEb+uXAAAOw==",
    это
    Code:
    GIF89a!щ,Ђ& ЎЛљЦРqЁ±чмu:jјY`·HdЙќРк©hgІbљ‰•ї®\;
    бред)...
     
  13. wildshaman

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

    Joined:
    16 Apr 2008
    Messages:
    477
    Likes Received:
    483
    Reputations:
    99
    ничего не бред, это точно base64
     
    1 person likes this.
  14. Mixon

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

    Joined:
    12 Mar 2008
    Messages:
    394
    Likes Received:
    119
    Reputations:
    12
    Это GIF картинка зашифрованая!

    PHP:
    <?php
    $str 
    'R0lGODlhEAAQAAAAACH5BAEAAAEALAAAAAAQABAAgAAAAAAAA  AImDA6hy5rW0HGosffsdTpqvFlgt0hkyZ3Q6qloZ7JimomVEb+  uXAAAOw==';
    header ("Content-type: image/gif");
    echo 
    base64_decode($str);
    ?>
    Таким методом впихивают картинки в сам php,для вывода их по определённой ссылке.
    Вот кому интересно о этом... http://forum.xakep.ru/m_1235083/tm.htm
     
    #10234 Mixon, 31 May 2009
    Last edited: 31 May 2009
  15. -Hormold-

    -Hormold- Кто, если не ты?

    Joined:
    29 Sep 2007
    Messages:
    418
    Likes Received:
    290
    Reputations:
    44
    Не могу понять как это сделать....
    Есть большой текст, и в нём есть нужное мне слово.
    Предположим это слово: "Web".
    Нужно сделать на вывод такой текст:
    (10 символов до слова)(слово)(10 символов после слова)
    Естественно без "(" и ")".

    Перепробовал разные функции, не могу понять какая так делает...

    Спасибки ;)
     
    1 person likes this.
  16. wildshaman

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

    Joined:
    16 Apr 2008
    Messages:
    477
    Likes Received:
    483
    Reputations:
    99

    PHP:
    <?
    $str="тут корчое много много текста тутwebтут снова очень очень много текста";
    $what='web';
    echo 
    substr($strstrpos($str$what)-1010)."<br>";
    echo 
    substr($strstrpos($str$what)+strlen($what), 10)."<br>";
    ?>
     
    1 person likes this.
  17. Avastor

    Avastor New Member

    Joined:
    7 Jul 2008
    Messages:
    9
    Likes Received:
    4
    Reputations:
    0
    Привет, у меня есть вопрос. Хотел спросить считаетса ли хорошим стилем программирования большой список аргументов передаваемые в класс при его инициализации?
    Привер:
    PHP:
    <?php
       
    class TSymbol
       
    {
         protected 
    $var1;
         protected 
    $var2;
         
    #  .....
         
    protected $varN;
         function 
    TSymbol($var1="",$var2="",...,$varN="")
         {
           
    $this->var1 $var1;
           
    $this->var2 $var2;
           
    # ......
           
    $this->varN$varN;
         }
       } 
    //TSymbol
    ?>
    # В другом скрипте
    require_once("TSymbol.inc");
    symbol = new TSymbol($new_var1,$new_var2,...,$new_varN);
    Хотел спросить если количество переменны будет к примеру 10, являетса ли это эфективно при передачи такого количества идентификаторов в класс?
     
  18. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    А зачем столько переменных? Можно ведь массив передавать
     
  19. Joker-jar

    Joker-jar Elder - Старейшина

    Joined:
    11 Mar 2007
    Messages:
    581
    Likes Received:
    205
    Reputations:
    37
    krypt3r, не в этом вопрос. Думаю, передавать нужно то, что действительно необходимо при инициализации плюс, если хочется, 1-2 ключевые настройки, остальное в виде свойств.
     
  20. mff

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

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Люди, дайте код простенькой формы обратной связи, нужно срочно!!! Кто первый поможет с сабжем - отдам шестизнак 786577 cl

    Неактуально!!!

    m0Hze, выходи в аську, я стукну ;)
     
    #10240 mff, 2 Jun 2009
    Last edited: 2 Jun 2009
Thread Status:
Not open for further replies.