2010-03-17 5 views
1

어떻게하면 텍스트 영역 양식을 게시 할 수 있습니까? 이 바로 작동합니다cURL을 사용하여 텍스트 영역 게시하기

<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); 

하지만 어떤 이유로 게시 아니에요 ...

+0

은 텍스트 영역을 제외한 모든 다른 필드입니까? – wnoveno

+0

나는 확실히 모른다. – Homework

+0

토큰을 게시 했습니까? –

답변

0
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

는 curl_exec를 잊으셨습니까?

curl_exec($ch); 
+0

아니, 나는 그 모든 것을 가지고있다. 내가 잘못했는지 확인하기 위해 게시판을 게시했습니다. – Homework

0

여기서 $ msg는 어디에서 오는가? 귀하의 텍스트 영역은 name = "message"이고 $ msg를 $ _POST [message]로 변경하십시오.

+0

$ msg는 "테스트"입니다. 상단의 변수입니다. – Homework