Laravel订单处理,包括订单处理的每个步骤的不同文件。点击进入下一步有时会刷新页面

时间:2017-03-03 11:27:40

标签: php laravel session switch-statement

因此,在我们的CRM上,我们有一个订单流程,它遵循以下方式: 发起呼叫>间距>订单>输入详细信息>付款。 这些步骤中的每一个都有一个不同的文件,包含PHP,每个文件,当单击下一个按钮时,将更改一个状态变量,该变量在一个switch case语句中在Laravel中切换。

我的问题是,有时当在一个步骤上单击下一个按钮时,它将刷新页面并重新启动订单处理。我们在此过程中使用会话变量非常多,因此我们认为这可能是会话问题。

非常感谢任何想法或意见。

1 个答案:

答案 0 :(得分:0)

在控制器中

public function step(Request $request) {
    $step = 1;

    if ( $request->has('step') && $request->step != '' ) {
        $step = $request->step + 1;
    }

    //do some other stuff
    ...

    //don't do the following 
    return redirect()->back()->with('status', $status); //<-- if the page is refreshed. this is gone. 

    //we need to manually put it in the session 
    session(['status' => $status]);
    return redirect()->back();
}

在视图中

@php $status = session('status') @endphp

@if( 1 == $status ) 
    @include('steps.one')
@elseif( 2 == $status )
    @include('steps.two')
    ...
@endif