Размещение формы textarea с помощью cURL - PullRequest
1 голос
/ 17 марта 2010

Как бы я разместил форму textarea?

<form method="post" action="/user/test/shoutbox/add" id="shoutPost" class="clearit">
<input name="formtoken" type="hidden" value="852f8fde54190fa5f9aa47172d492f829c1b"/>
<input type="hidden" name="backto" value="/user/test/shoutbox" />
<textarea id="shoutmsg" name="message"></textarea>
<input type="submit" name="submit" class="confirmButton" value="Post" id="sbPost"  />

Это должно сработать, верно?

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_POST, 1);
$postfields .= "&message=".$msg;
$postfields .= "&submit=sbPost";
curl_setopt($ch, CURLOPT_POSTFIELDS,$postfields);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
$page = curl_exec($ch);

но почему-то не публикуется ...

Ответы [ 3 ]

0 голосов
/ 17 марта 2010

Откуда приходит $ msg? ваша текстовая область имеет имя = "сообщение", попробуйте изменить $ msg на $ _POST ['message']

0 голосов
/ 19 марта 2010
    curl_setopt($ch, CURLOPT_REFERER,"URLHERE");
    curl_setopt($ch, CURLOPT_URL,"URLHERE");
    curl_setopt($ch, CURLOPT_POST, 0);
    $page = curl_exec($ch);

    $formtoken = explode('name="formtoken" type="hidden" value="',$page);
    $formtoken = explode('"/> ',$formtoken[1]);
    $formtoken = $formtoken[0];

    $backto = explode('type="hidden" name="backto" value="',$page);
    $backto = explode('" />',$backto[1]);
    $backto = $backto[0];

    curl_setopt($ch, CURLOPT_COOKIEFILE, "/tmp/cookiejar-$randnum");
    curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
    curl_setopt($ch, CURLOPT_URL,"URLHERE");
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($ch, CURLOPT_POST, 1);
    $postfields = "formtoken=".$formtoken;
    $postfields .= "&backto=".$backto;
    $postfields .= "&message=".$msg;
    $postfields .= "&submit=Post";
    curl_setopt($ch, CURLOPT_POSTFIELDS,$postfields);
    $page = curl_exec($ch);
0 голосов
/ 17 марта 2010

Забыли curl_exec?

curl_exec($ch);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...