为了账号安全,请及时绑定邮箱和手机立即绑定

将数据从视图传递给控制器​​,其中数据来自另一个控制器

将数据从视图传递给控制器​​,其中数据来自另一个控制器

PHP
元芳怎么了 2021-11-26 16:33:57
所以,我有 2 个视图和 2 个控制器。第一个视图,我们称之为“A”,包含在注册帐户时获取所有用户信息的表单。提交后,第一个控制器,我们称之为“X”将把这些信息输入作为数组捕获,然后返回我的第二个视图,让我们通过这些数组将其称为“B”。最后这个 B 将向用户展示已经输入的内容,作为评论。所以这就像:视图 A => 控制器 X => 视图 B => 控制器 Y => 数据库A 视图:很抱歉向您展示那些没有代码的图像,但我相信,您只需查看我的 X 控制器即可了解结构。X 控制器:public function storeRegister(Request $request){       $validator = Validator::make($request->all(), [        'name' => ['required', 'string', 'max:255', 'regex:/^[a-zA-Z ]+$/'],        'gender' => ['required', 'string'],        'birth_place' => ['required', 'string', Rule::notIn(['', '0'])],        'birth_date' => ['required', 'date', 'date_format:Y-m-d', 'after:1900-01-01', 'before:today'],        'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],        'phone_number' => ['required', 'string', 'min:9', 'max:15', 'regex:/^[0-9]+$/', 'unique:users'],        'address_province' => ['required', 'string', Rule::notIn(['', '0'])],        'address_regency' => ['required', 'string', Rule::notIn(['', '0'])],        'address_district' => ['required', 'string', Rule::notIn(['', '0'])],        'specify_address' => ['required', 'string', 'max:75'],        'package_plan' => ['required', 'string'],    ]);    if($validator->fails()) {        return back()->withErrors($validator)->withInput();    }    else {        $user = new User();        $user->package_plan = $request->get('package_plan');        $user->name = $request->get('name');        $user->gender = $request->get('gender');        $user->birth_place = DB::table('provinces')        ->where('id', $request['birth_place'])->pluck('name');        $user->birth_date = $request->get('birth_date');        $user->address_province = DB::table('provinces')        return view('layouts.pages.review')->with('data', $data);    }}如您所见,我将 $data 传递给我的 B 视图。在我的 B 视图中,用户可以看到前一个表单中的所有值,所以如果有错别字或类似的东西,他们可以返回并在提交到数据库之前修复它。
查看完整描述

1 回答

?
暮色呼如

TA贡献1853条经验 获得超9个赞

您需要进行隐藏输入才能将数据传递给您的控制器


<div id="review" class="form-wrapper text-center">

    <div class="form-group-reg">

        .....

        <p>Tempat Lahir : <span id="birth_place-rev">{{$data['birth_place']}}</span></p>

        <input type="hidden" name="birth_place" value="{{$data['birth_place']}}">

        .....

    </div>

</div>

您应该对 Controllyer Y 上的隐藏输入应用验证检查,以防它们被修改。


查看完整回答
反对 回复 2021-11-26
  • 1 回答
  • 0 关注
  • 170 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信