致命错误:类';AppHttpControllersInput';发送表单时找不到


Fatal error: Class 'AppHttpControllersInput' not found when sending a form

我正试图从Laravel应用程序发送一封充满表格的电子邮件。

当你点击提交时,它会抛出上面的错误:

致命错误:找不到类"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');
         }
     }
 }

以下是论坛的视图(基于bootstrap):

<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>

在您的联系人中使用此功能。php控制器-

use Illuminate'Support'Facades'Input;

您的错误将得到修复。谢谢

输入::替换为请求:。代替

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

使用这个:

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

如果你得到了关于"不应该静态使用"的错误,只需将其添加到文件的顶部

use Request;

如果你已经有这条线:

use Illuminate'Http'Request;

删除它,因为在一个文件

中不能有两个同名的类
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;
...
?>