2017-02-12 39 views
0

Wether我提交登录,注册或忘记密码表单我无法检索POST数据。虽然这是我的表单标签:如何在Auth后检索POST数据?

<form class="form-horizontal" role="form" method="POST" action="{{ url('/login') }}"> 

它不会在/login所以我猜它被重定向到当前页面结束。无论如何,我如何检索这些数据?

我的目标是要知道一个人是否已经使用了注册/登录/或忘记了密码的形式,而不管它是失败还是成功。 (他们都在不同的情态动词在同一页上)

编辑:

我的控制器:

<?php 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 
use App\Blog; 
use App\Account; 
use Illuminate\Foundation\Auth; 
use Illuminate\Support\Facades\Input; 

class HomeController extends Controller 
{ 
    /** 
    * Create a new controller instance. 
    * 
    * @return void 
    */ 
    public function __construct() 
    { 
     //$this->middleware('auth'); 
    } 

    /** 
    * Show the application dashboard. 
    * 
    * @return \Illuminate\Http\Response 
    */ 
    public function index(Request $request) 
    { 
     $blogItems = Blog::all(); 
     $onlinePlayers = Account::getOnlinePlayers()->count(); 
     $onlineStaff = Account::getOnlineStaff()->count(); 
     $input = Request('username'); 
     return Auth::routes(); 
    } 
} 

登录表单:

   <form class="form-horizontal" role="form" method="POST" action="{{ url('/login') }}"> 
        {{ csrf_field() }} 

        <div class="form-group{{ $errors->has('username') ? ' has-error' : '' }}"> 
         <label for="username" class="col-md-4 control-label">Username</label> 

         <div class="col-md-6"> 
          <input id="username" type="text" class="form-control" name="username" value="{{ old('username') }}" required autofocus> 

          @if ($errors->has('username')) 
           <span class="help-block"> 
            <strong>{{ $errors->first('username') }}</strong> 
           </span> 
          @endif 
         </div> 
        </div> 

        <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}"> 
         <label for="password" class="col-md-4 control-label">Password</label> 

         <div class="col-md-6"> 
          <input id="password" type="password" class="form-control" name="password" required> 

          @if ($errors->has('password')) 
           <span class="help-block"> 
            <strong>{{ $errors->first('password') }}</strong> 
           </span> 
          @endif 
         </div> 
        </div> 

        <div class="form-group"> 
         <div class="col-md-6 col-md-offset-4"> 
          <div class="checkbox"> 
           <label> 
            <input type="checkbox" name="remember" {{ old('remember') ? 'checked' : '' }}> Remember Me 
           </label> 
          </div> 
         </div> 
        </div> 

        <div class="form-group"> 
         <div class="col-md-8 col-md-offset-4"> 
          <button type="submit" class="btn btn-primary"> 
           Login 
          </button> 

          <a class="btn btn-link" href="{{ url('/password/reset') }}"> 
           Forgot Your Password? 
          </a> 
         </div> 
        </div> 
       </form> 

我的路线:

<?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! 
| 
*/ 

//Auth 
Auth::routes(); 

//Homepage 
Route::get('/', '[email protected]'); 
Route::get('/home', '[email protected]'); 
Route::get('/logout', '\App\Http\Controllers\Auth\[email protected]'); 

LoginController:

<?php 

namespace App\Http\Controllers\Auth; 

use \Auth; 
use App\Http\Controllers\Controller; 
use Illuminate\Foundation\Auth\AuthenticatesUsers; 
use Illuminate\Auth\Authenticatable; 
use Illuminate\Http\Request; 
use App\Account; 

class LoginController extends Controller 
{ 
    /* 
    |-------------------------------------------------------------------------- 
    | Login Controller 
    |-------------------------------------------------------------------------- 
    | 
    | This controller handles authenticating users for the application and 
    | redirecting them to your home screen. The controller uses a trait 
    | to conveniently provide its functionality to your applications. 
    | 
    */ 

    use AuthenticatesUsers; 

    /** 
    * Where to redirect users after login. 
    * 
    * @var string 
    */ 
    protected $redirectTo = '/home'; 

    /** 
    * Create a new controller instance. 
    * 
    * @return void 
    */ 
    public function __construct() 
    { 
     $this->middleware('guest', ['except' => 'logout']); 
    } 

    /** 
    * Override the username method used to validate login 
    * 
    * @return string 
    */ 
    public function username() 
    { 
     return 'username'; 
    } 
} 
+0

什么是你的路由文件为'/登录'路线? – Jerodev

+0

我有'Auth :: routes();'在我的控制器中,它必须在那里定义。 –

+0

我想我们需要看一些更多的代码来掌握你的问题 – dargue3

回答

1

绝对可以。您可以通过以下命令检索登录数据:

如果你的HTML是:

<input type="text" name="username"/><br/> 
<input type="password" name="password"/><br/> 

然后控制器动作中,请使用以下命令:

string username = Request["username"]; 
string password = Request["password"]; 
+0

这不起作用。它说这个常量不存在。当我使用'$ request'而不是值为空时。请求('用户名')也是如此 –