2016-05-22 10 views
17

मैं लार्वेल पर अपने होम पेज पर सफलता संदेश प्राप्त करने का प्रयास कर रहा हूं।लैरवेल 5.2 सफलता संदेश के साथ रीडायरेक्ट

return redirect()->back()->withSuccess('IT WORKS!'); 

किसी कारण से परिवर्तनीय $ सफलता को इस कोड को चलाने के बाद कोई मूल्य नहीं मिलता है।

कोड मैं उत्तराधिकारी संदेश प्रदर्शित करने के लिए उपयोग कर रहा हूँ:

@if (!empty($success)) 
    <h1>{{$success}}</h1> 
@endif 

मैं इस तरह routes.php में वेब मिडलवेयर समूह के लिए घर और समाचार पत्र के पेज को शामिल किया है:

Route::group(['middleware' => 'web'], function() { 
    Route::auth(); 

    Route::get('/', function() { 
     return view('home'); 
    }); 

    Route::post('/newsletter/subscribe','[email protected]'); 
}); 

क्या किसी को कोई विचार है कि यह क्यों काम नहीं कर रहा है?

उत्तर

40

आपको routes.php से web मिडलवेयर को हटा देना चाहिए। web जोड़ना मैन्युअल रूप से session and request related problems in Laravel 5.2.27 and higher का कारण बनता है।

यदि यह मदद नहीं की (अब भी, routes.php वेब मिडलवेयर बिना रखने के लिए), तुम कोशिश कर सकते थोड़ा अलग दृष्टिकोण:

return redirect()->back()->with('message', 'IT WORKS!'); 

संदेश प्रदर्शित यदि वह मौजूद है:

@if(session()->has('message')) 
    <div class="alert alert-success"> 
     {{ session()->get('message') }} 
    </div> 
@endif 
+0

यह जानने के लिए अच्छा है कि इसकी आवश्यकता नहीं है। लेकिन 'रूट :: समूह ([' 'मिडलवेयर' => 'वेब'] को हटाने के बाद, फ़ंक्शन() {'मेरे मार्ग.एफ़.पी. से '$ सफलता' चर अभी भी खाली प्रतीत होता है, जो ऐसा प्रतीत नहीं होता है समस्या यहाँ। – klokklok

+0

कृपया अद्यतन उत्तर की जांच करें। –

+0

या तो काम नहीं करता है यह संदेश को खोने के लिए प्रतीत नहीं होता है, यह खाली रहता है। – klokklok

4

आप कर सकते हैं इसका उपयोग करें:

return redirect()->back()->withSuccess('IT WORKS!'); 

और इसे अपने दृश्य में उपयोग करें:

@if(session('success')) 
    <h1>{{session('success')}}</h1> 
@endif 
संबंधित मुद्दे