Неустранимая ошибка: Class 'App \ Http \ Controllers \ Input' не найден при отправке формы

Я пытаюсь отправить электронное письмо, заполненное формой из приложения Laravel.

Когда вы нажмете кнопку «Отправить», это приведет к ошибке выше:

Неустранимая ошибка: Class 'App \ Http \ Controllers \ Input' не найден

Не знаю, почему, как я этого не знаю, и не знал, что мне нужен контроллер ввода, или что бы я в него вложил.

Ниже приведено содержимое контроллера:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; class contact extends Controller { // This function will show the view public function showForm() { return view('pages.contact'); } public function handleFormPost() { $input = Input::only('name', 'email', 'msg'); $validator = Validator::make($input, array( 'name' => 'required', 'email' => 'required|email', 'msg' => 'required', ) ); if ($validator->fails()) { return Redirect::to('contact')->with('errors', $validator->messages()); } else { // the validation has not failed, it has passed // Send the email with the contactemail view, the user input Mail::send('contactemail', $input, function($message) { $message->from('idocompscihw@gmail.com', 'Your Name'); $message->to('idocompscihw@gmail.com'); }); // Specify a route to go to after the message is sent to provide the user feedback return Redirect::to('thanks'); } } } 

Ниже приведен обзор форума (на основе бутстрапа):

 <div class="container"> <h1>A basic contact form</h1> <form id="contact" method="post" class="form" role="form"> @if(Session::has('errors')) <div class="alert alert-warning"> @foreach(Session::get('errors')->all() as $error_message) <p>{{ $error_message }}</p> @endforeach </div> @endif <div class="row"> <div class="col-xs-6 col-md-6 form-group"> <input type="hidden" name="_token" value="{{ csrf_token() }}"> <input class="form-control" id="name" name="name" placeholder="Name" type="text"autofocus=""> </div> <div class="col-xs-6 col-md-6 form-group"> <input class="form-control" id="email" name="email" placeholder="Email" type="text"> </div> </div> <textarea class="form-control" id="message" name="msg" placeholder="Message" rows="5"></textarea> <br> <div class="row"> <div class="col-xs-12 col-md-12 form-group"> <button class="btn btn-primary pull-right" type="submit">Submit</button> </div> </div> </form> </div> 

Solutions Collecting From Web of "Неустранимая ошибка: Class 'App \ Http \ Controllers \ Input' не найден при отправке формы"

Вход :: заменяется Request ::. Вместо

 $input = Input::only('name', 'email', 'msg'); 

использовать это:

 $input = Request::only('name', 'email', 'msg'); 

И если вы получите ошибку, то о «не следует использовать статически» просто добавьте это в начало файла

 use Request; 

Если у вас уже есть эта строка:

 use Illuminate\Http\Request; 

удалите его, потому что у вас не может быть двух классов с одинаковым именем в одном файле

Используется в контроллерах contact.php-

 use Illuminate\Support\Facades\Input; 

ваша ошибка будет исправлена. Благодарю.

 public function handleFormPost(Request $request) { $name = $request->get('name'); $email = $request->get('email'); $msg = $request->get('msg'); } 

ИЛИ

 public function handleFormPost(Request $request) { $input = $request->all(); } 

вы не используете ввод, попробуйте это:

 use Input; 

Поместите его после объявления пространства имен, подобного этому

 <?php namespace App\Http\Controllers; use Input; ... ?>