2017-03-03 12 views
0

因此,在我們的CRM中,我們有一個訂單流程,它沿着以下線路: 啓動呼叫>音高>訂單>輸入詳細信息>付款。 這些步驟中的每一個都有一個不同的文件,它包含PHP,每個文件,當單擊下一個按鈕時,將更改狀態變量,該變量在Laravel中通過switch case語句切換。Laravel訂單流程,包含訂單流程的每個步驟的不同文件。點擊進入下一步有時會刷新頁面

我的問題是,有時當單步下一個按鈕被點擊時,它會刷新頁面並重新啓動訂單流程。在這個過程中,我們會使用會話變量,所以我們認爲這可能是一個會話問題。

任何想法或輸入將不勝感激。

+0

難以在不代碼。我想看看你如何與session進行轉換,以查看是否有錯誤。 – EddyTheDove

+0

由於開發人員的快速轉向,代碼有很多不同的貢獻者,所以公平的警告,這是一個混亂。你想看哪部分代碼?我可以告訴你開關盒? –

+1

操縱會話並轉換到下一步的部分。 – EddyTheDove

回答

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