2015-08-27 2 views
1

Я пробовал много, поисковая система даже не помогала с laracast.com/discuss, но не могла решить проблему. почему сеансовая вспышка не работает? пожалуйста, бросьте свое предложение. Вот мой код all_controll.phpКласс «App Http Controllers Flash» не найден в Laravel 5.1

<?php 

namespace App\Http\Controllers; 
use DB; 
use App\Quotation; 
use App\Model\students; 
use Illuminate\Http\Request; 
//use Auth; 
use Illuminate\Support\Facades\Auth; 
use App\Http\Requests; 
use App\Http\Controllers\Session; 
use App\Http\Controllers\Controller; 
use Illuminate\Support\Facades\Input; 
use Illuminate\Support\Facades\Redirect; 


class all_control extends Controller 
{ 
    public function index() 
    { 
     return view('index'); 
    } 
    public function insert_students(Request $request) 
    { 
     $std = new students(); 
     $std->name = $request->input('name'); 
     $std->email = $request->input('email'); 
     $std->save(); 
     return redirect('/index'); 
    } 
    public function getform() 
    { 
     return view('form'); 
    } 
    public function postform() 
    { 
     $roll = Input::get('roll'); 
     $ct_number = Input::get('ct'); 
     DB::table('test')->insert(array(
      'name' => $roll, 
      'age' => $ct_number 
     )); 
     Flash :: Session ("key", 
      "You have done successfully!!!!"); 
     //Session::flash('message','You have done successfully!!!!'); 
     return Redirect::route('getform'); 
     //return redirect('/index'); 
    } 
} 

и мой код form.blade.php приводится ниже

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <title>Title</title> 
     <meta charset="UTF-8"> 
     <meta name=description content=""> 
     <meta name="viewport" content="width=device-width, initial-scale=1.0"> 

     <!-- Bootstrap CSS --> 
     <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" media="screen"> 
    </head> 
    <body> 
    <div class="container"> 
     <h1>Form</h1> 
     <h3> 
      <?php 
      if(Session::has('key')){ 
       echo Session::get('key'); 
      } 
      ?> 
     </h3> 

     <form action="{{ URL::route('postform') }}" method="post" role="form"> 
      <input type="hidden" name="_token" value="{{ csrf_token() }}"> 
      <legend>Form Title</legend> 

      <div class="form-group"> 
       <label for="">name</label> 
       <input type="text" class="form-control" name="roll" id="roll" placeholder="Input..."> 
      </div> 

      <div class="form-group"> 
       <label for="">Marks of Physisc CT</label> 
       <input type="number" class="form-control" name="ct" id="ct" placeholder="Input..."> 
      </div> 

      <button type="submit" class="btn btn-primary">Hit the Button</button> 
     </form> 
    </div> 


    </body> 
</html> 
+0

Вспышка :: Сессия («ключ», «Вы сделали успешно !!!!»); что вы пытаетесь здесь на самом деле? –

ответ

3

Вы можете использовать встроенный в redirect()helper which will flash the data к сессии с помощью ->with().

public function postform(Request $request) 
    { 
     $roll = $request->roll; 
     $ct_number = $request->ct; 
     DB::table('test')->insert([ 
      'name' => $roll, 
      'age' => $ct_number 
     ]); 
     return redirect('index')->with('key', 'You have done successfully'); 
    } 

Sidenote:

Вводят Request в ваш метод и использовать его вместо Input. Input использовался в laravel 4, в то время как инъекция класса Request является рекомендуемым способом в laravel 5.1

2

У меня также возникла проблема с вами.

Мое решение состоит в том, чтобы включить use Flash; сверху контроллера, который вы хотели использовать плагин Laracasts Flash.

Надеюсь, это поможет.

+1

Спасибо. Это помогло мне. – Leonardo

0

return redirect() -> route ('posts.index') -> with ('success_msg', 'Post deleted successfully');

Здесь Success_msg используется для отображения msg на перенаправленной странице.

Смежные вопросы