Помогите с легким скриптом

Discussion in 'PHP' started by Svig, 21 Aug 2011.

  1. Svig

    Svig Banned

    Joined:
    28 Jul 2011
    Messages:
    1
    Likes Received:
    1
    Reputations:
    0
    Не работает скрипт, помогите пожалуйста :(

    Code:
    <?php
    $var="test";
    $var2="123";
    $var3="test";
    
    function exec($url, $fields="", $method="POST")
    {
    $ch = curl_init();  
    curl_setopt($ch, CURLOPT_URL,$url); // set url to post to  
    curl_setopt($ch, CURLOPT_FAILONERROR, 1);  
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable  
    curl_setopt($ch, CURLOPT_TIMEOUT, 20); // times out after 20s  
    curl_setopt($ch, CURLOPT_POST, 1); // set POST method  
    curl_setopt($ch, CURLOPT_POSTFIELDS, "$fields"); // add POST fields  
    $result = curl_exec($ch); // run the whole process  
    curl_close($ch);  
    return $result;
    }
    
    $msg=urlencode($msg);
    $result=$this->exec("http://site.com/index.php", "action=send&text=$var&text2=$var2&text3=$var3&submit=Send");
    
    $result="Сообщение успешно отправлено!";
    echo $result;
    ?>
    
    Мы обращаемся к стороннему сайту site.com, наша задача отправить вот этот запрос к тому сайту: http://site.com/index.php?action=send&text=$var&text2=$var2&text3=$var3&submit=Send

    Но при этом, нам нужно оставаться на нашем сайте и вообще не выводить сайт site.com

    Помогите плиз! В чем моя ошибка?
    Также можете выложить свои варианты.. - Поставлю плюсик, Спасибо :)
     
  2. backd00r

    backd00r Banned

    Joined:
    17 Jan 2010
    Messages:
    6
    Likes Received:
    2
    Reputations:
    0
    Code:
    <?php
    $var="test";
    $var2="123";
    $var3="test";
    
    function exec($url, $fields="", $method="POST")
    {
    $ch = curl_init();  
    curl_setopt($ch, CURLOPT_URL,$url); // set url to post to  
    curl_setopt($ch, CURLOPT_FAILONERROR, 1);  
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable  
    curl_setopt($ch, CURLOPT_TIMEOUT, 20); // times out after 20s  
    curl_setopt($ch, CURLOPT_POST, 1); // set POST method  
    curl_setopt($ch, CURLOPT_POSTFIELDS, "$fields"); // add POST fields  
    $result = curl_exec($ch); // run the whole process  
    curl_close($ch);  
    return $result;
    }
    
    $msg=urlencode($msg);
    $result==exec("http://site.com/index.php", "action=send&text=$var&text2=$var2&text3=$var3&submit=Send");
    
    $result="Сообщение успешно отправлено!";
    echo $result;
    ?>
    По идее $this сдесь не уместно так как здесь нет класса.
    Попробуй вариант выше должно все работать.
    И скажи что выводит,а то у меня сейчас веб-сервера нет под рукой
     
  3. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    Не 2 а одно равно.. Вы присваиваем а не сравниваем.
     
  4. emmy

    emmy Member

    Joined:
    12 Oct 2009
    Messages:
    76
    Likes Received:
    17
    Reputations:
    8
    по условию надо не выводить сайт site.com так что все правильно, это такой метод разработки менять код случаиным образом пока не получится

    в результате $result не задан и вывод ошибок отключен, а выглядит как будто все нормально
     
    1 person likes this.
  5. Чакэ

    Чакэ Elder - Старейшина

    Joined:
    15 Aug 2010
    Messages:
    260
    Likes Received:
    66
    Reputations:
    62
    очевидно что ошибка возникла где-то в мозгу. выдирать один кусок кода и лепить его ко второму, а потом в бежать на форум, где как бы очевидно сидят телепаты, и спрашивать где блеать ошибка. я даже не буду спрашивать откуда тут $this взялся и н**уя третий параметр в функции. разве не видно что перед выводом в переменную result пишется некий текст, который откровенно наёбывает пользователя, так как уже не важно что в него было записано до, в результате видим сцуко, сообщение успешно отправлено. ох и бесят же такие люди..
     
  6. DVMade

    DVMade Banned

    Joined:
    23 Jul 2010
    Messages:
    110
    Likes Received:
    3
    Reputations:
    0
    PHP:
    <?php
    function connect($link$post=null,$cookie=null,$header=null,$referer=null) {

            
    $ch curl_init(); 
            
    curl_setopt($chCURLOPT_URL,$link);
            
    curl_setopt($chCURLOPT_RETURNTRANSFER,1);
            
    curl_setopt($chCURLOPT_TIMEOUT0);
            
    curl_setopt($chCURLOPT_VERBOSE1);
            if(
    $referer)
            {
            
    curl_setopt($chCURLOPT_REFERER$referer);
            }
            @
    curl_setopt($chCURLOPT_FOLLOWLOCATION1);

            
    curl_setopt($chCURLOPT_POST1);
            
    curl_setopt($chCURLOPT_POSTFIELDS$post);
            if(
    $header==null){
            
    curl_setopt($chCURLOPT_HEADER1);
            }
            
    $useragent="Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 ( .NET CLR 3.5.30729; .NET4.0C)";
            
            
    curl_setopt($chCURLOPT_USERAGENT,  $useragent);
            if(
    substr_count($link,"https"))
            {
            
    curl_setopt($chCURLOPT_SSL_VERIFYPEER0);
            
    curl_setopt($chCURLOPT_SSL_VERIFYHOST0);
            }
            if(
    $cookie)
            {
            
    //curl_setopt($ch, CURLOPT_COOKIE, $cookie);
            
    }
            
            
    curl_setopt($chCURLOPT_COOKIEJAR,            "cookie.txt");
            
            
    curl_setopt($chCURLOPT_COOKIEFILE,         "cookie.txt");
            
            
    $otvet curl_exec($ch);
            
    curl_close($ch);

        return 
    $otvet;
    }

    $var="test";
    $var2="123";
    $var3="test";

    $post=array
    (    
    "action"=>"send",
    "text"=>$var,
    "text2"=>$var2,
    "text3"=>$var3,
    "submit"=>"Send"
    );
        
    connect("http://site.com/index.php",http_build_query($post));
        
    ?>
    Вот написал как будет правильно...