如何在 Laravel 中提取原始表单数据?
laravelphpserver side programming更新于 2025/4/29 22:22:17
为了演示上述内容,我们将使用下面的表单。它有用户名和密码字段。让我们尝试使用下面显示的方法获取原始表单数据 -

示例 1
使用 file_get_contents()
file_get_contents() 方法是内置的 PHP 函数,它将文件内容返回为字符串格式。现在要获取表单的原始数据,您可以将输入作为 php://input 提供给 file_get_contents
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class testvalidationController extends Controller { public function showform() { return view('login'); } public function validateform(Request $request) { $test = file_get_contents('php://input'); echo $test; } }
输出
上述代码的输出为 −
_token=zHuIkXpqcRqvZO4vTgxH0fFk5fCmvqSavrCjHVMi&username=testing&password=abcd
示例 2
使用 getContent() 方法。
getContent() 可用于 Request 类,它将以字符串格式返回表单数据。
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Input; class testvalidationController extends Controller { public function showform() { return view('login'); } public function validateform(Request $request) { echo Request::createFromGlobals()->getContent(); } }
输出
上述代码的输出为 −
_token=zHuIkXpqcRqvZO4vTgxH0fFk5fCmvqSavrCjHVMi&username=test&password=xya
示例 3
在 Request 类上使用 all() 方法
all() 方法将返回数组中的所有表单数据。
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Input; class testvalidationController extends Controller { public function showform() { return view('login'); } public function validateform(Request $request) { $data = Request::createFromGlobals()->all(); print_r($data); } }
输出
上述代码的输出是 −
Array ( [_token] => zHuIkXpqcRqvZO4vTgxH0fFk5fCmvqSavrCjHVMi [username] => testing [password] => xyz )
示例 4
使用 get() 方法
您还可以使用 Request 类提供的 get() 方法。您需要传递需要读取值的字段名称。
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Input; class testvalidationController extends Controller { public function showform() { return view('login'); } public function validateform(Request $request) { echo $username = Request::createFromGlobals()->get('username'); echo "<br/>"; echo $password = Request::createFromGlobals()->get('password'); } }
输出
上述代码的输出是 −
testing sdsads

