2010-12-02 35 views
1

Ma situation suit:mise à jour une valeur de champ dans un formulaire en utilisant libcurl

première fois la forme ressemble ci-dessous:

première = yes fileupload = fichier

car après la première fois, Je voudrais changer premier = pas

Mais quand je fais comme ci-dessous, il continue d'ajouter d'abord = oui non non non non .....

curl_formadd(&formpost, &lastptr, CURLFORM_COPYNAME, "first", CURLFORM_COPYCONTENTS, "yes", 
CURLFORM_END) 

==>

curl_formadd(&formpost, &lastptr, CURLFORM_COPYNAME, "first", CURLFORM_COPYCONTENTS, "no", 
CURLFORM_END) 

TIA

Répondre

1

Sémantique de curl_formadd est d'ajouter une section à un multipart/formdata HTTP POST. Chaque fois que cette API est invoquée, lastptr est mis à jour pour pointer vers la fin du formulaire. Et l'invocation subséquente y ajoute les données.

Je crains que vous ayez à recommencer le formulaire pour le définir à une nouvelle valeur. Vous pouvez utiliser curl_formfree() pour nettoyer votre formulaire avant de le reconstruire.