title: How to send XML and other post parameters via cURL in PHP
body: <p>I've used code below to send XML to my REST API. $xml_string_data contains proper XML, and it is passed well to mypi.php:</p>
  
  <pre><code>    //set POST variables
      $url = 'http://www.server.cu/mypi.php'; 
      $fields = array(
                  'data'=&gt;urlencode($xml_string_data)
              );
  
      //url-ify the data for the POST
      $fields_string = "";
      foreach($fields as $key=&gt;$value) 
      { 
        $fields_string .= $key.'='.$value.'&amp;'; 
      }
      rtrim($fields_string,'&amp;');
  
      echo $fields_string;
  
      //open connection
      $ch = curl_init();
  
      curl_setopt($ch,CURLOPT_URL,$url);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
      curl_setopt($ch,CURLOPT_POST,count($fields));
      curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
      curl_setopt($ch,CURLOPT_HTTPHEADER,array (
          "Expect: "
      ));
  
      //execute post
      $result = @curl_exec($ch);
  </code></pre>
  
  <p>But when I've added other field:</p>
  
  <pre><code>    $fields = array(
        'method' =&gt; "methodGoPay",
        'data'=&gt;urlencode($xml_string_data)
      );
  </code></pre>
  
  <p>It stopped to work. On the mypi.php I don't recieve any more POST parameters at all!</p>
  
  <p>Could you you please tell me what to do to send XML and other post parameters in one cURL request?</p>
  
  <p>Please don't suggest using any libraries, I wan't to acomplish it in plain PHP.</p>