yii2 htpp client form data

To send form data using the Yii2 HTTP client, you can follow these steps:

  1. Create an instance of the yii\httpclient\Client class.
  2. Use the createRequest() method to create a new HTTP request object.
  3. Set the necessary request parameters, such as the URL and request method.
  4. Use the setData() method to set the form data. This method takes an associative array where the keys represent the form field names and the values represent the form field values.
  5. Call the send() method on the request object to send the request.
  6. Handle the response as needed.

Here's an example code snippet that demonstrates sending form data using the Yii2 HTTP client:

use yii\httpclient\Client;

// Create a new HTTP client instance
$client = new Client();

// Create a new request object
$request = $client->createRequest()
    ->setMethod('POST')
    ->setUrl('http://example.com/form-endpoint')
    ->setData([
        'name' => 'John Doe',
        'email' => '[email protected]',
        'message' => 'Hello, World!',
    ]);

// Send the request
$response = $request->send();

// Handle the response
if ($response->isOk) {
    // Request was successful
    echo $response->content;
} else {
    // Request failed
    echo 'Error: ' . $response->statusCode;
}

In this example, we create a new HTTP client instance and then create a new request object using the createRequest() method. We set the request method to 'POST' and the URL to the endpoint where the form data should be sent.

Next, we use the setData() method to set the form data as an associative array. In this case, we have three form fields: 'name', 'email', and 'message'.

Finally, we call the send() method on the request object to send the request. The response is then stored in the $response variable, and we can handle it accordingly. In this example, we check if the response is successful ($response->isOk) and display the response content if it is, or display an error message if it's not.

That's it! You have now sent form data using the Yii2 HTTP client.