Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在Laravel中使用请求和响应_Php_Laravel_Laravel 4_Laravel Routing_Http Redirect - Fatal编程技术网

Php 在Laravel中使用请求和响应

Php 在Laravel中使用请求和响应,php,laravel,laravel-4,laravel-routing,http-redirect,Php,Laravel,Laravel 4,Laravel Routing,Http Redirect,这是我的表格 {{ Form::open(array('url' => 'register', 'class' => 'form-signin')) }} // form username , password .. fields here {{ Form::close() }} Route::post('register', 'RegisterController@registeruser'); public function registeruser() {

这是我的表格

{{ Form::open(array('url' => 'register', 'class' => 'form-signin')) }}

// form username , password .. fields here
{{ Form::close() }}
Route::post('register', 'RegisterController@registeruser');
public function registeruser()
    {

    //validation

  return Redirect::to('/')->withErrors($validator); // main

    }
并且路线是

{{ Form::open(array('url' => 'register', 'class' => 'form-signin')) }}

// form username , password .. fields here
{{ Form::close() }}
Route::post('register', 'RegisterController@registeruser');
public function registeruser()
    {

    //validation

  return Redirect::to('/')->withErrors($validator); // main

    }
并且控制器是

{{ Form::open(array('url' => 'register', 'class' => 'form-signin')) }}

// form username , password .. fields here
{{ Form::close() }}
Route::post('register', 'RegisterController@registeruser');
public function registeruser()
    {

    //validation

  return Redirect::to('/')->withErrors($validator); // main

    }
因为,我被重定向,所以我不会在表单中填写任何字段

我知道我应该为此使用请求和响应

我尝试了下面的回答,即使这是一个可怕的尝试

return Response::view('home')->header('utf-8', $messages);
但是,在执行上述操作时,即使页面重新加载,表单中填写的值也会消失。如果没有值消失,我如何通过错误


是否有办法填写表单中输入的字段?

您需要使用
->withInput()


您需要在input()中使用
->

您可以使用Input::flash()

然后,在处理重定向的控制器方法中,可以使用input::old()访问旧输入。使用Input::all()将仅返回当前请求的数据

您还可以在返回行上使用->withInput()链接方法

在此处阅读更多信息

您可以使用Input::flash()

然后,在处理重定向的控制器方法中,可以使用input::old()访问旧输入。使用Input::all()将仅返回当前请求的数据

您还可以在返回行上使用->withInput()链接方法


请在此处阅读更多信息

假设您有如下验证:

$validation = Validator::make($input, $rules);
然后你需要这样做:

if( $validation->fails() )
{
    return Redirect::back()->withInput()->withErrors($validator->messages());
}

请注意,
Redirect::back()
,它允许您返回表单,并使用用户输入自动填充表单

假设您有如下验证:

$validation = Validator::make($input, $rules);
然后你需要这样做:

if( $validation->fails() )
{
    return Redirect::back()->withInput()->withErrors($validator->messages());
}

请注意,
Redirect::back()
,它允许您返回表单并使用用户输入自动填写表单

谢谢。同时我使用$input=input::all();和var_dump($input);它显示了数组(0),而表单值消失了。我如何解决这个问题?您需要使用
Input::old()
来获取它们使用的旧值。如果我将旧值作为数组获取,我如何获取特定变量,即该变量的firstname,我尝试了echo$Input->('firstname');但我以错误结束我认为你可以做
Input::old('firstname')
?太棒了,接受你的答案!!要在userfield中显示,我正在使用isset display Input::old('firstname')在php中进行检查,否则为空,但这是一个好的过程吗?谢谢。同时我使用$input=input::all();和var_dump($input);它显示了数组(0),而表单值消失了。我如何解决这个问题?您需要使用
Input::old()
来获取它们使用的旧值。如果我将旧值作为数组获取,我如何获取特定变量,即该变量的firstname,我尝试了echo$Input->('firstname');但我以错误结束我认为你可以做
Input::old('firstname')
?太棒了,接受你的答案!!要在userfield中显示,我正在使用isset display Input::old('firstname')在php中进行检查,否则会像那样为空,但这是一个好的过程吗?谢谢,它允许我返回表单,但输入值消失了,我使用的是Shift Exchange建议的Input:old(),谢谢你不需要使用Input::old如果你的路线被声明为资源,Laravel会帮你做的。Glupponi:我怎样才能将路线声明为资源?看看这里:谢谢,它允许我返回表单,但是输入值消失了,我使用的是Input:old(),正如Shift Exchange建议的那样,谢谢你不需要使用Input::old如果你的路线被声明为资源,Laravel会帮你做的。Glupponi:我怎样才能将路线声明为资源?请看这里: