php,curl,curl_exec()

i'm stuck to try handle a random name and value of form html to post data through curl.
here my code.

function grapvalue($html){

//parse content to grap name and value random

}

$opt = array(
         CURLOPT_AUTOREFERER => true,
         CURLOPT_RETURNTRANSFER => true,
         CURLOPT_COOKIEFILE => 'cookie.txt',
         CURLOPT_COOKIEJAR => 'cookie.txt'
         CURLOPT_POST => true,
         CURLOPT_POSTFIELDS => grapvalue($html)
       )

$init = curl_init("site.com")
curl_setopt_array($init,$opt)
$html = curl_exec($init)

I have to execute the function curl_exec () twice, first I have to execute the curl_exec function to retrieve the html to get the names and random values​​, then send the data. how do I resolve this?

Here is the full solution:

//First, we make a request to grab the variables
function grapvalue(){

$opt = array(
     CURLOPT_AUTOREFERER => true,
     CURLOPT_RETURNTRANSFER => true,
     CURLOPT_COOKIEFILE => 'cookie.txt',
     CURLOPT_COOKIEJAR => 'cookie.txt'
   );

$init = curl_init("site.com");
curl_setopt_array($init,$opt);
$html = curl_exec($init);

//parse content to grap name and value random

}

//Than, just call grapvalue() without any parameters
$opt = array(
     CURLOPT_AUTOREFERER => true,
     CURLOPT_RETURNTRANSFER => true,
     CURLOPT_COOKIEFILE => 'cookie.txt',
     CURLOPT_COOKIEJAR => 'cookie.txt'
     CURLOPT_POST => true,
     CURLOPT_POSTFIELDS => grapvalue()
   );

$init = curl_init("site.com");
curl_setopt_array($init,$opt);
$html = curl_exec($init);

Tip: you may prefer using CURLOPT_COOKIE rather than CURLOPT_COOKIEFILE and CURLOPT_COOKIEJAR.

Why you don't create a function cURL(), call the function, get the $html and call again with the post values?