如何在Laravel中提取原始表单数据?


为了演示上述内容,我们将使用以下表单,它包含用户名和密码字段。让我们尝试使用以下方法获取原始表单数据:


示例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

更新于:2022年8月30日

6000+ 次浏览

启动您的职业生涯

通过完成课程获得认证

开始学习
广告