2017-10-05 4 views
0

Je suis novice à laravel, j'ai plusieurs doutes ici pour demander. C'est comme quand je fais une connexion et un enregistrement de base en utilisant Auth Class qui est fourni par défaut par Laravel 5.1, cela me donne 404 Erreur non trouvée.Laravel 5.1 Authentification de base

Voici ma structure de répertoire:

resources/views/auth/register.blade.php 
resources/views/auth/login.blade.php 

Je suivais Laravel 5.1 doc officiel, pour obtenir cela. Lorsque j'appuie sur le bouton Soumettre sous forme de registre, cela me renvoie 404 erreur non trouvée.

register.blade.php

<!-- resources/views/auth/register.blade.php --> 

<form method="POST" action="/auth/register"> 
    {!! csrf_field() !!} 

    <div> 
     Name 
     <input type="text" name="name" value="{{ old('name') }}"> 
    </div> 

    <div> 
     Email 
     <input type="email" name="email" value="{{ old('email') }}"> 
    </div> 

    <div> 
     Password 
     <input type="password" name="password"> 
    </div> 

    <div> 
     Confirm Password 
     <input type="password" name="password_confirmation"> 
    </div> 

    <div> 
     <button type="submit">Register</button> 
    </div> 
</form> 

J'ai ma classe auth comme:

app/Http/Controllers/Auth/AuthController.php 
app/Http/Controllers/Auth/PasswordController.php 

Mes itinéraires de base:

// Authentication routes... 
Route::get('auth/login', 'Auth\[email protected]'); 
Route::post('auth/login', 'Auth\[email protected]'); 
Route::get('auth/logout', 'Auth\[email protected]'); 

// Registration routes... 
Route::get('auth/register', 'Auth\[email protected]'); 
Route::post('auth/register', 'Auth\[email protected]'); 


Route::controllers([ 
    'password' => 'Auth\PasswordController', 
]); 

encore il me jette 404 not found erreur . Une solution Qu'est-ce qui me manque? Aussi les routes montre [email protected], dois-je créer manuellement la fonction de getRegister, comme je ne pouvais pas trouver.? Je suis nouveau à Laravel

mon AuthController.php ressemble aussi

<?php 

namespace App\Http\Controllers\Auth; 

use App\User; 
use Validator; 
use App\Http\Requests; 
use Illuminate\Http\Request; 
use App\Http\Controllers\Controller; 
use Illuminate\Foundation\Auth\ThrottlesLogins; 
use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers; 

class AuthController extends Controller 
{ 
    /* 
    |-------------------------------------------------------------------------- 
    | Registration & Login Controller 
    |-------------------------------------------------------------------------- 
    | 
    | This controller handles the registration of new users, as well as the 
    | authentication of existing users. By default, this controller uses 
    | a simple trait to add these behaviors. Why don't you explore it? 
    | 
    */ 

    use AuthenticatesAndRegistersUsers, ThrottlesLogins; 
    protected $redirectPath = '/dashboard'; 
    protected $loginPath = '/login'; 
    /** 
    * Create a new authentication controller instance. 
    * 
    * @return void 
    */ 
    public function __construct() 
    { 
     $this->middleware('guest', ['except' => 'getLogout']); 
    } 

    /** 
    * Get a validator for an incoming registration request. 
    * 
    * @param array $data 
    * @return \Illuminate\Contracts\Validation\Validator 
    */ 
    protected function validator(array $data) 
    { 
     return Validator::make($data, [ 
      'name' => 'required|max:255', 
      'email' => 'required|email|max:255|unique:users', 
      'password' => 'required|confirmed|min:6', 
     ]); 
    } 

    /** 
    * Create a new user instance after a valid registration. 
    * 
    * @param array $data 
    * @return User 
    */ 
    protected function create(array $data) 
    { 
     return User::create([ 
      'name' => $data['name'], 
      'email' => $data['email'], 
      'password' => bcrypt($data['password']), 
     ]); 
    } 
} 
+0

lorsque l'erreur vient exactement? Si vous soumettez le formulaire? –

Répondre

1

Je ne sais pas, mais je suppose que le problème vient de votre attribut d'action sous forme. N'utilisez jamais l'url lisse dans l'action de forme dans laravel.
Essayez d'utiliser

<form method="POST" action="{{ url('/auth/login') }}"> 


Vous pouvez aussi créer vos formulaires ainsi: (Vous devez ajouter la dépendance dans votre composer.json, recherche dans Google sur les formulaires Laravel)

{!! Form::open(array('url' => 'http://other.domain.com')) !!} 
    <input type="text" name="test" value="something" /> 
    <button type="submit">Submit</button> 
{!! Form::close() !!} 
+0

Comme si je le fais alors il redirige vers la même page sans faire d'insertion en db –