首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“找不到类'App\Controllers\controller‘”

“找不到类'App\Controllers\controller‘”
EN

Stack Overflow用户
提问于 2019-05-01 11:50:16
回答 4查看 3.7K关注 0票数 1

我是新手,在这里我试图使我自己的登录和注册表,用户可以登录和注册,我的注册表很好,它收集的数据和存储在数据库中,但每当我尝试登录使用相同的数据它给我这个error.Any帮助将不胜感激,我已经尝试了许多方法,但失败了。谢谢……

错误:找不到类‘App\controller\controller’

我的HTML:

代码语言:javascript
复制
@extends("layouts.master")

@section('title')
My page
@endsection

@section('content')
<div class="row">
<div class="col-md-6">
<h3>Sign-Up</h3>
<form action="{{route('signup')}}" method="post">

<div class="form-group">
<label for="email">Your email</label>
<input class="form-control" type="text" name="email" id="email">
</div>

<div class="form-group">
<label for="first_name">First Name</label>
<input class="form-control" type="text" name="first_name" id="first_name">
</div>

<div class="form-group">
<label for="password">Password</label>
<input class="form-control"  type="password" name="password" id="password">
</div>

<button type="sumbit" class="btn btn-primary">sumbit</button>
<input type="hidden" name="_token" value="{{ Session::token() }}">

</form>
</div>

<div class="col-md-6">
<h3>Login </h3>
<form action="{{route('signin')}}" method="post">

<div class="form-group">
<label for="email">Your email</label>
<input class="form-control" type="text" name="email" id="email">
</div>

<div class="form-group">
<label for="password">Password</label>
<input class="form-control"  type="password" name="password" id="password">
</div>

<button type="sumbit" class="btn btn-primary">sumbit</button>
<input type="hidden" name="_token" value="{{ Session::token() }}">

</form>
</div>
</div>
@endsection

控制器:

代码语言:javascript
复制
<?php
namespace App\Controllers;

use App\Http\Requests;
use App\User;
use App\UserTypes;

use Auth;
use Hashids;
use Redirect;
use Request;
use Hash;



class UserController extends controller
{
    public function getdashboard()
    {
        return view('dashboard');
    }

    public function postSignUp(Request $request)
    {
        $email = $request['email'];
        $first_name = $request['first_name'];
        $password = bcrypt($request['password']);


        $user = new User();
        $user->email = $email;
        $user->first_name = $first_name;
        $user->password = $password;

        $user->save();
        return redirect()->route('dashboard');
    }
    public function postSignIn(Request $request)
    {
        if(Auth::attempt([ 'email' => $request['email'],'password' => $request['password']])){
            return redirect()->route('dashboard');
        }
        return redirect()->back();
    }
}

路由:

代码语言:javascript
复制
<?php

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

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


Route::post('/signup',[
    'uses'=>'UserController@postSignUp',
    'as'=>'signup'

]);


Route::post('/signin',[
    'uses'=>'UserController@postSignIn',
    'as'=>'signin'

]);

Route::get('/dashboard',[
    'uses'=>'UserController@getdashboard',
    'as'=>'dashboard'

]);


Auth::routes();

Route::get('/home', 'HomeController@index')->name('home');
EN

回答 4

Stack Overflow用户

发布于 2019-05-01 11:59:42

您的名称空间不适合访问Controllers文件夹,控制器文件上代码的第一行发生了更改:

代码语言:javascript
复制
namespace App\Controllers;

代码语言:javascript
复制
namespace App\Http\Controllers;

如果出现此错误(Cannot use object of type Illuminate\Support\Facades\Request as array),请同时更改此部分:

代码语言:javascript
复制
use Request;  to  use Illuminate\Http\Request;

代码语言:javascript
复制
$email = $request['email'];
$first_name = $request['first_name'];
$password = bcrypt($request['password']);

代码语言:javascript
复制
$email = $request->email;
 $first_name = $request->first_name;
 $password = bcrypt($request->password);
票数 3
EN

Stack Overflow用户

发布于 2019-05-01 12:26:16

默认情况下,laravel将控制器放在

代码语言:javascript
复制
app\Http\Controllers

因此,请用namespace App\Http\Controllers;替换namespace App\Controllers;

编辑:

获取request变量,如下所示:

代码语言:javascript
复制
 $email = $request->input('email');
 $first_name = $request->input('first_name');
 //similar way for other inputs
票数 0
EN

Stack Overflow用户

发布于 2019-05-01 12:38:29

$request是一个对象,因此您可以使用->获取属性。如下所示更改您的控制器代码:

代码语言:javascript
复制
<?php
namespace App\Http\Controllers; // HERE

use Illuminate\Http\Request; // FOR YOUR COMMENT
use App\Http\Requests;
use App\User;
use App\UserTypes;

use Auth;
use Hashids;
use Redirect;
use Request;
use Hash;



class UserController extends controller
{
    public function getdashboard()
    {
        return view('dashboard');
    }

    public function postSignUp(Request $request)
    {
        $email = $request->email;// HERE
        $first_name = $request->first_name;// HERE
        $password = bcrypt($request->password);// HERE


        $user = new User();
        $user->email = $email;
        $user->first_name = $first_name;
        $user->password = $password;

        $user->save();
        return redirect()->route('dashboard');
    }
    public function postSignIn(Request $request)
    {
        if(Auth::attempt([ 'email' => $request->email,'password' => $request->password])){// HERE
            return redirect()->route('dashboard');
        }
        return redirect()->back();
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55931405

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档