How to extract raw form data in Laravel?

In Laravel, you can extract raw form data using several methods depending on your needs. Laravel's Request class provides various methods to access form data in different formats raw strings, arrays, or individual field values.

Using file_get_contents()

The file_get_contents() function with php://input returns the raw POST data as a string. This method captures the exact data sent from the form ?

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;

class TestValidationController extends Controller {
   public function showform() {
      return view('login');
   }
   
   public function validateform(Request $request) {
      $rawData = file_get_contents('php://input');
      echo $rawData;
   }
}
?>
_token=zHuIkXpqcRqvZO4vTgxH0fFk5fCmvqSavrCjHVMi&username=testing&password=abcd

Using getContent() Method

The getContent() method on Laravel's Request class returns the raw request body as a string similar to file_get_contents() but more Laravel-specific ?

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;

class TestValidationController extends Controller {
   public function showform() {
      return view('login');
   }
   
   public function validateform(Request $request) {
      echo $request->getContent();
   }
}
?>
_token=zHuIkXpqcRqvZO4vTgxH0fFk5fCmvqSavrCjHVMi&username=test&password=xya

Using all() Method

The all() method returns all form data as an associative array, making it easier to work with individual fields ?

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;

class TestValidationController extends Controller {
   public function showform() {
      return view('login');
   }
   
   public function validateform(Request $request) {
      $data = $request->all();
      print_r($data);
   }
}
?>
Array (
   [_token] => zHuIkXpqcRqvZO4vTgxH0fFk5fCmvqSavrCjHVMi
   [username] => testing
   [password] => xyz
)

Using get() Method

The get() method allows you to retrieve specific field values by passing the field name as a parameter ?

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;

class TestValidationController extends Controller {
   public function showform() {
      return view('login');
   }
   
   public function validateform(Request $request) {
      echo $username = $request->get('username');
      echo "<br/>";
      echo $password = $request->get('password');
   }
}
?>
testing
sdsads

Method Comparison

Method Returns Use Case
file_get_contents('php://input') Raw string Pure raw data
$request->getContent() Raw string Laravel way for raw data
$request->all() Array All form fields as array
$request->get('field') String Individual field values

Conclusion

Use getContent() for raw request data, all() for complete form arrays, and get() for specific field values. Choose based on whether you need raw strings or parsed form data.

Updated on: 2026-03-15T10:13:01+05:30

7K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements