Laravel : 如何在 blade 中将变量从一页发送到另一页
Laravel : How to send variable from one page to another in blade
我正在构建一个 laravel 应用程序,从第一页开始,我想以某种形式向第二页发送一个变量或值。我该怎么做?
假设在我的第一页中有几个按钮,因此当用户单击任何一个按钮时,他将被重定向到另一个页面,他必须在该页面上提交表单。
在第一页,当他 select 一个按钮时,他会自动 select 一个 course_id ,这也将在第二页表单中提交。但是如何从第一页按钮发送 course_id?
<li> <a href="{{route('registration')}}">A</a> </li>
<li> <a href="{{route('registration')}}" >B</a> </li>
当用户点击按钮时,第二页会出现..我要提交一个表单,其中 course_id 来自第一页意味着 <a>
标签
这是我的表单演示:
{!! Form::open(array('route' => 'postRegistration','class'=>'form-horizontal','method'=>'POST')) !!}
{!! Form::token(); !!}
{!! csrf_field() ; !!}
<div class="form-group">
<label class="sr-only" for="form-first-name">Name</label>
<input type="text" name="name" placeholder="Name..." class="form-first-name form-control" id="form-first-name">
</div>
<div class="form-group">
<label class="sr-only" for="form-email">Email</label>
<input type="text" name="email" placeholder="Email..." class="form-email form-control" id="form-email">
</div>
<div class="form-group">
<label class="sr-only" for="form-last-name">Address</label>
<textarea rows="4" style="height:100px;" name="address" placeholder="Address..." class="form-last-name form-control" id="form-last-name"></textarea>
</div>
<button type="submit" class="btn">Submit</button>
{!! Form::close() !!}
在我的数据库中,我必须提交上述字段以及数据库中的 course_id。
在 Laravel 中如何操作?
有什么建议或解决办法吗?
根据我的说法,您正在寻找一种网络应用程序,当用户提交表单时,页面会打开并显示注册用户的详细信息。
这可以在 Laravel 中完成,如下所示:
routes.php
// For submitting form on this route
Route::post('users/register', 'UsersController@create')->name('users.register');
// For showing user's profile via user's id
Route::get('users/{id}/profile', 'UsersController@show')->name('users.profile');
UsersController.php
class UsersController {
public function create() {
$inputs = request()->all();
// Use Eloquent to save user info to DB and fetch insert id from DB...
return redirect()->route('users.profile', array('id' => $insert_id));
// Will open registered user profile page
}
public function show($id) {
$user = User::find($id);
if(!$user) {
abort('404');
}
return view('users/profile', compact('user'));
// At the users/profile.php page you can use $user variable to populate user's info
}
}
路由方法在Blade中使用路由传递数据
{{ route('users.profile', array('id' => $user->id)) }}
如需更多帮助,see this >>
希望对您有所帮助!
所以你想创建包含多个课程 link 的页面,每个 link 重定向到注册页面,其中包含要在注册表中使用的课程 ID。
您的 href link 应该如下所示
{!! link_to_route('registration',
$title = 'Course 1', $parameters = ['1'], $attributes =
['class'=>'btn btn-success']) !!}
路由文件 web.php
Route::get('/registration/{course_id}','
CourseRegistration@showForm')->name('registration');
课程控制器课程控制器
public function showForm($course_id){
return view('registration')->with('courseid',$course_id);
}
现在您可以访问带有 $courseid 的课程 ID。如果你想在表单中传递它,请创建一个带有数据的隐藏或输入标签。
您可以将变量作为路由参数发送。为此,请像这样更改您的 <a>
标签。
<li> <a href="{{route('registration', ['course_id' => 'A'])}}">A</a> </li>
<li> <a href="{{route('registration', ['course_id' => 'B'])}}">B</a> </li>
然后你需要允许你的registration
路由接受参数。假设你的路线是这样的
Route::get('/registration', [
'as' => 'registration', 'uses' => 'SomeController@method'
]);
改为
Route::get('/registration/{course_id}', [
'as' => 'registration', 'uses' => 'SomeController@method'
]);
现在您必须将此参数添加到您的 SomeController@method
public method($course_id){ ... }
现在将此 $course_id
传递到您的表单视图。要将此变量与您的其他字段一起提交,您可以将其添加为隐藏输入字段。
<div class="form-group">
<input type="hidden" name="course_id" value="{{ $course_id }}">
</div>
我正在构建一个 laravel 应用程序,从第一页开始,我想以某种形式向第二页发送一个变量或值。我该怎么做? 假设在我的第一页中有几个按钮,因此当用户单击任何一个按钮时,他将被重定向到另一个页面,他必须在该页面上提交表单。 在第一页,当他 select 一个按钮时,他会自动 select 一个 course_id ,这也将在第二页表单中提交。但是如何从第一页按钮发送 course_id?
<li> <a href="{{route('registration')}}">A</a> </li>
<li> <a href="{{route('registration')}}" >B</a> </li>
当用户点击按钮时,第二页会出现..我要提交一个表单,其中 course_id 来自第一页意味着 <a>
标签
这是我的表单演示:
{!! Form::open(array('route' => 'postRegistration','class'=>'form-horizontal','method'=>'POST')) !!}
{!! Form::token(); !!}
{!! csrf_field() ; !!}
<div class="form-group">
<label class="sr-only" for="form-first-name">Name</label>
<input type="text" name="name" placeholder="Name..." class="form-first-name form-control" id="form-first-name">
</div>
<div class="form-group">
<label class="sr-only" for="form-email">Email</label>
<input type="text" name="email" placeholder="Email..." class="form-email form-control" id="form-email">
</div>
<div class="form-group">
<label class="sr-only" for="form-last-name">Address</label>
<textarea rows="4" style="height:100px;" name="address" placeholder="Address..." class="form-last-name form-control" id="form-last-name"></textarea>
</div>
<button type="submit" class="btn">Submit</button>
{!! Form::close() !!}
在我的数据库中,我必须提交上述字段以及数据库中的 course_id。 在 Laravel 中如何操作?
有什么建议或解决办法吗?
根据我的说法,您正在寻找一种网络应用程序,当用户提交表单时,页面会打开并显示注册用户的详细信息。 这可以在 Laravel 中完成,如下所示:
routes.php
// For submitting form on this route
Route::post('users/register', 'UsersController@create')->name('users.register');
// For showing user's profile via user's id
Route::get('users/{id}/profile', 'UsersController@show')->name('users.profile');
UsersController.php
class UsersController {
public function create() {
$inputs = request()->all();
// Use Eloquent to save user info to DB and fetch insert id from DB...
return redirect()->route('users.profile', array('id' => $insert_id));
// Will open registered user profile page
}
public function show($id) {
$user = User::find($id);
if(!$user) {
abort('404');
}
return view('users/profile', compact('user'));
// At the users/profile.php page you can use $user variable to populate user's info
}
}
路由方法在Blade中使用路由传递数据
{{ route('users.profile', array('id' => $user->id)) }}
如需更多帮助,see this >>
希望对您有所帮助!
所以你想创建包含多个课程 link 的页面,每个 link 重定向到注册页面,其中包含要在注册表中使用的课程 ID。
您的 href link 应该如下所示
{!! link_to_route('registration',
$title = 'Course 1', $parameters = ['1'], $attributes =
['class'=>'btn btn-success']) !!}
路由文件 web.php
Route::get('/registration/{course_id}','
CourseRegistration@showForm')->name('registration');
课程控制器课程控制器
public function showForm($course_id){
return view('registration')->with('courseid',$course_id);
}
现在您可以访问带有 $courseid 的课程 ID。如果你想在表单中传递它,请创建一个带有数据的隐藏或输入标签。
您可以将变量作为路由参数发送。为此,请像这样更改您的 <a>
标签。
<li> <a href="{{route('registration', ['course_id' => 'A'])}}">A</a> </li>
<li> <a href="{{route('registration', ['course_id' => 'B'])}}">B</a> </li>
然后你需要允许你的registration
路由接受参数。假设你的路线是这样的
Route::get('/registration', [
'as' => 'registration', 'uses' => 'SomeController@method'
]);
改为
Route::get('/registration/{course_id}', [
'as' => 'registration', 'uses' => 'SomeController@method'
]);
现在您必须将此参数添加到您的 SomeController@method
public method($course_id){ ... }
现在将此 $course_id
传递到您的表单视图。要将此变量与您的其他字段一起提交,您可以将其添加为隐藏输入字段。
<div class="form-group">
<input type="hidden" name="course_id" value="{{ $course_id }}">
</div>