php保存参数,php超链接传递参数
请求参数有时不仅来自本次请求php保存参数,还需要利用上一次请求php保存参数的信息,由于HTTP协议是无状态的,如果使用上一次请求的输入信息,就需要将其保存下来,而保存自然是以session或cookie的方式实现。Laravel框架的请求类提供了对于请求参数的一次性存储接口,通过该接口可以将请求数据记录下来,用于处理下一次发送的请求,当下一次请求结束时删除保存的数据记录,即将请求参数存储到一次性session中。用到的接口函数是请求类中的flash()、flashOnly()和flashExcept()三个 *** 。这里依然的用户注册为例php保存参数:
$request->flash();
$request->flashOnly('email', 'password');
$request->flashExcept('password');
通过上述请求实例的三个 *** 可以实现请求参数的一次性存储,只是存储的内容有所区别,flash() *** 是将请求的所有参数进行存储,flashOnly() *** 只存储与实参对应的请求参数,flashExcept() *** 存储除了与实参对应的请求参数。下面给出三个函数的源码进一步了解其实现细节。文件Illuminate\Http\Request.php
上面源码显示flash()函数首先获取请求的输入,即“$flash=(!is_null($filter))php保存参数?$this->$filter($keys):$this->input()php保存参数;”,如果输入的第一个参数($filter)为null,则获取请求的所有输入参数,否则调用相应的 *** 获取过滤后的请求输入参数,然后调用session实例的flashInput()函数将输入存储到session中。该函数会将参数存储到session中,并且会在下次请求结束时将内容注销。有时候,需要重定向到其他页面,并将请求输入数据存储到一次性session中,这里用到的是Redirect类的withInput() *** ,具体用法如下:
return redirect('form')->withInput();
return redirect('form')->withInput(Request::input());