2010-03-17 8 views
1

Comment procéder pour publier un formulaire de zone de texte?Affichage d'un formulaire de zone de texte avec 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" /> 

Cela devrait fonctionner à droite?

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

mais il ne l'affichage pour une raison quelconque ...

+0

sont tous les autres champs affichant à l'exception de la zone de texte? – wnoveno

+0

Je ne suis pas tout à fait sûr. – Homework

+0

Avez-vous publié le jeton? –

Répondre

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

Mot curl_exec?

curl_exec($ch); 
+0

Non, j'ai tout ça. Je viens de poster les postfields pour voir si je le faisais mal. – Homework

0

D'où vient le $ msg? votre zone de texte a name = "message", essayez de changer $ msg à $ _POST ['message']

+0

$ msg est juste "TEST". C'est une variable au sommet. – Homework