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

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

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

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

    Joined:
    11 Dec 2005
    Messages:
    85
    Likes Received:
    58
    Reputations:
    -2
    function cuter($str,$deter)
    {
    return substr($str,0,strpos($str,$deter));
    }
    echo cuter("[email protected]","@");
     
  2. sNt

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

    Joined:
    30 Jul 2008
    Messages:
    117
    Likes Received:
    11
    Reputations:
    1
    thx ))
     
  3. George767

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

    Joined:
    10 Jan 2006
    Messages:
    129
    Likes Received:
    25
    Reputations:
    -1
    Есть скрипт, в один из массивов которого вносятся данные следующим образом:

    $sz = array("10 0", "20 0", "30 10", "30 20", "20 30", "10 30", "0 20", "0 10", "10 0");

    тоесть оба числовых значения в одной записи разделены пробелом всего-лишь.

    Так как я беру эти значения из бд, нужно внести данные в массив как-то по-другому. Перепробывал массу вариаций присваивания, но ничего не выходит - например во время цикла выборки значений из бд присваивал так: $sz[]=$xx;

    Подскажите в чем дело пожалуйста, как внести данные вида array("10 0", "20 0", "30 10", "30 20", "20 30", "10 30", "0 20", "0 10", "10 0") в этот массив во время выборки их из бд.
     
  4. REBUUS

    REBUUS Active Member

    Joined:
    6 Apr 2009
    Messages:
    314
    Likes Received:
    111
    Reputations:
    9
    не понял в чем вопрос, и проблему тоже, вроде в массиве все в SRING сохраняет и ему все равно пробел там или число.
    как я понял ты берешь из БД две значения обединяешь их пробелом и заносишь в ону ячейку массива , тогда делай та

    $str=$bd1.' '.$bd2;

    а потом это значение заноси в массив
     
    #10064 REBUUS, 21 May 2009
    Last edited: 21 May 2009
  5. George767

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

    Joined:
    10 Jan 2006
    Messages:
    129
    Likes Received:
    25
    Reputations:
    -1
    Как объеденить это понятно. Вопрос в том, как внести в массив.
     
  6. REBUUS

    REBUUS Active Member

    Joined:
    6 Apr 2009
    Messages:
    314
    Likes Received:
    111
    Reputations:
    9
    $mas[$i]=$str;
    вот так, в i-тую ячейку массива будет заноситься $str
     
  7. #Wolf#

    #Wolf# Elder - Старейшина

    Joined:
    26 Mar 2008
    Messages:
    375
    Likes Received:
    166
    Reputations:
    16
    есть ли бдля воблы модули "соединения" с другими движками (типа единой авторизации).
    если нету то для каких форумов/движков есть?
    на данный момент задача : dle+vbulletin
     
  8. b!atnoy

    b!atnoy .::The Mafia::.

    Joined:
    1 Jan 2008
    Messages:
    96
    Likes Received:
    87
    Reputations:
    3
    http://dlepro.ru/mod/520-modul-dle-7.5-vbulletin-3.8.1-integracija-v.-1.1.html
     
    2 people like this.
  9. Byrger

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

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    Как написать парсер тем из раздела форума?
    Допустим надо вывисти 5 последних тем с форума
    (надо только заголовки тем парсить )
    Форум "Булка 3.8.1"
     
  10. Alekzzzander

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

    Joined:
    5 Sep 2007
    Messages:
    278
    Likes Received:
    36
    Reputations:
    0
    Видел статью в интернете на английском? может кто сможет рассказать по русски разницу между echo, print, print_r ???
     
  11. b!atnoy

    b!atnoy .::The Mafia::.

    Joined:
    1 Jan 2008
    Messages:
    96
    Likes Received:
    87
    Reputations:
    3
    В функции echo можно передать несколько аргументов через запятую!1
    Пример:
    PHP:
    echo 'x','z,'n'; 
    А функия print может принять только один аргумент!11

    Функция print при вызове возвращает значение,а echo ничего не возвращает!
     
    2 people like this.
  12. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    print - выводит строку
    print_r - вывод переменную в удобочитаемом виде (например целый массив)
     
  13. wildshaman

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

    Joined:
    16 Apr 2008
    Messages:
    477
    Likes Received:
    483
    Reputations:
    99
    http://habrahabr.ru/blogs/php/22951/
     
  14. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    1. echo не возвращает никаких значений, в отличие от print.
    2. По первой причине echo нельзя использовать в сложных выражениях типа
    PHP:
    $b ? print "true" : print "false";
    При попытке заюзать в данном случае echo
    PHP:
    $b ? echo "true" : echo "false";
    получите ошибку PHP Parse error: syntax error, unexpected T_ECHO in ...
    Но можно переписать код так
    PHP:
    echo $b "true" "false";
    3. print принимает лишь один аргумент, а echo - несколько, разделенных запятой.
    Вывод: что хотите, то и юзайте. Результат один

    print_r это немного из другой оперы
     
    #10074 krypt3r, 21 May 2009
    Last edited: 21 May 2009
    3 people like this.
  15. zannussi

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

    Joined:
    22 May 2008
    Messages:
    2
    Likes Received:
    18
    Reputations:
    2
    И все же...

    Ребята, вопрос не простой!
    Есть 2 сайта: мой и чужей (последний с авторизацией). Каким образом через мой сайт отправить пост запрос на чужей, чтоб потом получить полностью страницу с того сайта?
    1)Гет запросы режутся:
    тоже самае что и
    при правильных логин:пасс
    2)В случае с пост:
    PHP:
    <?
    $file=file_get_contents('http://site.com/login.asp?name=name&pass=pass');

    echo 
    "
    <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"
       \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
    <html>
    <head>
    <title>Тест коннекта</title>
    </head>
    <body>
    "
    ?>
    <? echo "<H3>$file</H3>";
    echo'</body> </html> '; 
    ?>
    возвращает страницу, но на ней не произошла авторизация (пробывал на вконтакте, там хотя бы возвращает false или true)

    3)Аналогично
    PHP:
    <?php
        $auth_data 
    "name=name&pass=pass";
        
    $auth_data_len strlen($auth_data);

        
    $header "POST http://site.com/login.asp HTTP/1.0\r\n";
        
    $header .= "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*\r\n";
        
    $header .= "Referer: http://site.com\r\n";
        
    $header .= "Accept-Language: uk\r\n";
        
    $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
        
    $header .= "Proxy-Connection: Keep-Alive\r\n";
        
    $header .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\r\n";
        
    $header .= "Host: site.com\r\n";
        
    $header .= "Content-Length: ".$auth_data_len."\r\n";
        
    $header .= "Pragma: no-cache\r\n\r\n";
        
    $header .= $auth_data;

        
    $sckt fsockopen("site.com",80);
        
    fputs($sckt,$header);

        while(!
    feof($sckt))
        {
            
    $serv_answer fgets($sckt,2048);
            echo  
    $serv_answer;
        }
    ?>
    Каким образом произвести авторизацию на том сайте через мой. Способы выше не проходят?
     
  16. Ru}{eeZ

    Ru}{eeZ Elder - Старейшина

    Joined:
    19 Feb 2008
    Messages:
    454
    Likes Received:
    73
    Reputations:
    -5
    Подключи курл и отправляй запросы типа:

    PHP:
    <?php
    $curl 
    curl_init();
    curl_setopt($curl,CURLOPT_URL,'http://site');
    curl_setopt($curl,CURLOPT_POST,1);
    curl_setopt($curl,CURLOPT_POSTFIELDS,'name=admin&name=admin');
    curl_setopt($curl,CURLOPT_HEADER,1);
    curl_exec($curl);
    curl_close($curl);
    ?>
     
  17. Велемир

    Joined:
    19 Jun 2006
    Messages:
    1,123
    Likes Received:
    96
    Reputations:
    -25
    Люди,помогите,пожалуйста.Опять проблемы с CURLом(точнее,не совсем с ним).

    Задача: Прогнать толпу мыльников,выставляя чтение писем по 200 штук на страницу.
    Проблема: Не отправляются значения методом пост по неизвестной мне причине.


    Вот скрипт:

    PHP:

    <?php

    $ch 
    curl_init();

    $url "http://win.mail.ru/cgi-bin/auth";

    $url1 "http://win.mail.ru/cgi-bin/editprofile";

    $url2 "http://win.mail.ru/cgi-bin/modifyprofile";

    $req "Login=welya.icq&Domain=mail.ru&Password=ko4ka&page=&submit=Войти";

    $req1 "MessagesPerPage=100";


    $ua "IE 6.0";

    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_USERAGENT,$ua);
    curl_setopt($ch,CURLOPT_COOKIEFILE,"./cookie");
    curl_setopt($ch,CURLOPT_COOKIEJAR,"./cookie");
    curl_setopt($ch,CURLOPT_POST,1);
    curl_setopt($ch,CURLOPT_POSTFIELDS,$req);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);

    $res curl_exec($ch);

    curl_close($ch);


    /* ///////////////////////////////////////////////////////////// */

    $ch curl_init();

    curl_setopt($ch,CURLOPT_URL,$url1);
    curl_setopt($ch,CURLOPT_USERAGENT,$ua);
    curl_setopt($ch,CURLOPT_POST,1);
    curl_setopt($ch,CURLOPT_POSTFIELDs,$req1);
    curl_setopt($ch,CURLOPT_COOKIEFILE,"./cookie");
    curl_setopt($ch,CURLOPT_COOKIEJAR,"./cookie");
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);

    $res curl_exec($ch);

    echo 
    $res;

    curl_close($ch);



    /* ///////////////////////////////////////////////////////////// */

     
    По всякому пробовал.Сначала посылал запрос на editprofile,одновременно с этим отправляя пару имя=значение MessagesPerPage=200,а потом уже запрос с сабмитом.Тоже не выходило.Заметил,что при обновлении страницы генерируется какое-то рандомное число,но на переход оно не влияет.И,как всегда,вопрос: Передаётся ли идентификатор сессии вместе с COOKIEFILE и COOKIEJAR ? Спасибо.
     
    #10077 Велемир, 21 May 2009
    Last edited: 21 May 2009
  18. Велемир

    Joined:
    19 Jun 2006
    Messages:
    1,123
    Likes Received:
    96
    Reputations:
    -25
    Его к инклуду,а твой - к XSS :):):).
     
  19. D Mak

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

    Joined:
    23 Jun 2007
    Messages:
    136
    Likes Received:
    27
    Reputations:
    0
    Велемир
    1. нету такого юзер агента как IE 6.0
    2. делай все сразу в одной $ch без его закрытия
    3. с помощью плагина HttpFox для фф отскань все заголовки при подобной операции и сравни
     
  20. Ponchik

    Ponchik Хлебо-булочное изделие

    Joined:
    30 Aug 2005
    Messages:
    687
    Likes Received:
    807
    Reputations:
    311
    Велемир, знаеш чё могу посоветовать... Юзай pro.mail.ru тама по аяксу хоть все письма получай
     
Thread Status:
Not open for further replies.