我的 Laravel 登录名上周有效,但现在没有了(使用 Laravel 生成的标准登录名)。我没有收到错误消息(密码错误、异常等)。每次我按“登录”时,它都会重新加载页面。我已将重定向设置为/member。有谁知道如何解决这个问题?
这里是一些文件:
路线.php:
/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/
if(env("APP_ENV") == "prod"){
Route::get('/', function() {
return view("pages.demo");
});
} else {
Route::get('/', 'PagesController@index');
Route::group(['middleware' => ['loggedin']], function(){
Route::get('member/', function(){
return redirect('member/dashboard');
});
Route::get('member/dashboard', 'PagesController@dashboard');
Route::get('member/tree', 'TreeController@displayTree');
Route::get('member/statistics', 'PagesController@statistics');
Route::get('member/link', 'PagesController@link');
Route::get('member/advertising-tools', 'PagesController@advertising');
});
Route::get('/click/{idhash}', 'ClickController@clickHandler');
//Route::get('/login', 'PagesController@login');
//Route::get('/register', 'PagesController@register');
Route::auth();
}
登录.blade.php:
<div>
<h1>
<span class="navy">ReferralTree</span>
<br/>
Login
</h1>
</div>
<br/>
<div class="col-md-8 col-md-offset-2">
<div class="panel panel-default">
<div class="panel-body">
<form class="form-horizontal" role="form" method="POST" action="{{ url('/login') }}">
{!! csrf_field() !!}
<div class="form-group{{ $errors->has('user_email') ? ' has-error' : '' }}">
<label class="col-md-4 control-label">E-Mail Address</label>
<div class="col-md-6">
<input type="user_email" class="form-control" name="user_email"
value="{{ old('user_email') }}">
@if ($errors->has('user_email'))
<span class="help-block">
<strong>{{ $errors->first('user_email') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group{{ $errors->has('user_password') ? ' has-error' : '' }}">
<label class="col-md-4 control-label">Password</label>
<div class="col-md-6">
<input type="password" class="form-control" name="user_password">
@if ($errors->has('user_password'))
<span class="help-block">
<strong>{{ $errors->first('user_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"> Remember Me
</label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-md-6 col-md-offset-4">
<button type="submit" class="btn btn-primary">
<i class="fa fa-btn fa-sign-in"></i>Login
</button>
<a class="btn btn-link" href="{{ url('/password/reset') }}">Forgot Your
Password?</a>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
AuthController.php:
<?php
namespace App\Http\Controllers\Auth;
use App\User;
use Validator;
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;
/**
* Where to redirect users after login / registration.
*
* @var string
*/
protected $redirectTo = '/member';
/**
* Create a new authentication controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware($this->guestMiddleware(), ['except' => 'logout']);
}
/**
* 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, [
'user_firstname' => 'required|max:255',
'user_lastname' => 'required|max:255',
'user_email' => 'required|email|max:255|unique:users',
'password' => 'required|min:6|confirmed',
]);
}
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return User
*/
protected function create(array $data)
{
$cookie = request()->cookie('referrer');
if($cookie != null) {
$user_click_id = request()->cookie('referrer');
} else {
$user_click_id = 0;
}
$user_create = User::create([
'user_firstname' => $data['user_firstname'],
'user_lastname' => $data['user_lastname'],
'user_email' => $data['user_email'],
'user_password' => bcrypt($data['password']),
'user_country' => $data['user_country'],
'user_city' => $data['user_city'],
'user_streetname' => $data['user_streetname'],
'user_zipcode' => $data['user_zipcode'],
'user_dob' => $data['user_dob'],
'user_click_id' => $user_click_id,
'user_registerip' => $_SERVER['REMOTE_ADDR']
]);
$user_create->user_id_hash = md5($user_create->user_id);
$user_create->save();
return $user_create;
}
public function postLogin(Request $request)
{
$this->validate($request, [
'user_email' => 'required|email', 'user_password' => 'required',
]);
$credentials = $request->only('user_email', 'user_password');
if ($this->auth->attempt($credentials, $request->has('remember'))) {
return redirect()->intended($this->redirectPath());
}
return redirect($this->loginPath())
->withInput($request->only('user_email', 'remember'))
->withErrors([
'user_email' => $this->getFailedLoginMessage(),
]);
}
}
如果您需要更多信息,我会在此处发布。
php artisan 路线:列表
+--------+----------+--------------------------+------+-----------------------------------------------------------------+---------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+----------+--------------------------+------+-----------------------------------------------------------------+---------------+
| | GET|HEAD | / | | App\Http\Controllers\PagesController@index | web |
| | GET|HEAD | click/{idhash} | | App\Http\Controllers\ClickController@clickHandler | web |
| | GET|HEAD | login | | App\Http\Controllers\Auth\AuthController@showLoginForm | web,web,guest |
| | POST | login | | App\Http\Controllers\Auth\AuthController@login | web,web,guest |
| | GET|HEAD | logout | | App\Http\Controllers\Auth\AuthController@logout | web,web |
| | GET|HEAD | member | | Closure | web,loggedin |
| | GET|HEAD | member/advertising-tools | | App\Http\Controllers\PagesController@advertising | web,loggedin |
| | GET|HEAD | member/dashboard | | App\Http\Controllers\PagesController@dashboard | web,loggedin |
| | GET|HEAD | member/link | | App\Http\Controllers\PagesController@link | web,loggedin |
| | GET|HEAD | member/statistics | | App\Http\Controllers\PagesController@statistics | web,loggedin |
| | GET|HEAD | member/tree | | App\Http\Controllers\TreeController@displayTree | web,loggedin |
| | POST | password/email | | App\Http\Controllers\Auth\PasswordController@sendResetLinkEmail | web,web,guest |
| | POST | password/reset | | App\Http\Controllers\Auth\PasswordController@reset | web,web,guest |
| | GET|HEAD | password/reset/{token?} | | App\Http\Controllers\Auth\PasswordController@showResetForm | web,web,guest |
| | GET|HEAD | register | | App\Http\Controllers\Auth\AuthController@showRegistrationForm | web,web,guest |
| | POST | register | | App\Http\Controllers\Auth\AuthController@register | web,web,guest |
+--------+----------+--------------------------+------+-----------------------------------------------------------------+---------------+
最佳答案
结合您的一些回答和评论,我找到了答案!
我添加了
使用 Illuminate\Http\Request;
到 AuthController
我还在 EloquentUserProvider 中将“password”重命名为“user_password”
然后我编辑了路线:
Route::get('/login', 'PagesController@login');
Route::post('/login', 'Auth\AuthController@postLogin');
关于php - Laravel 5.2 登录不起作用,没有重定向也没有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37610374/
我好像记得Lua有类似Ruby的method_missing的东西。还是我记错了? 最佳答案 表的metatable的__index和__newindex可以用于与Ruby的method_missing相同的效果。 关于ruby-难道Lua没有和Ruby的method_missing相媲美的东西吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7732154/
我有一个奇怪的问题:我在rvm上安装了rubyonrails。一切正常,我可以创建项目。但是在我输入“railsnew”时重新启动后,我有“程序'rails'当前未安装。”。SystemUbuntu12.04ruby-v"1.9.3p194"gemlistactionmailer(3.2.5)actionpack(3.2.5)activemodel(3.2.5)activerecord(3.2.5)activeresource(3.2.5)activesupport(3.2.5)arel(3.0.2)builder(3.0.0)bundler(1.1.4)coffee-rails(
我想在一个没有Sass引擎的类中使用Sass颜色函数。我已经在项目中使用了sassgem,所以我认为搭载会像以下一样简单:classRectangleincludeSass::Script::FunctionsdefcolorSass::Script::Color.new([0x82,0x39,0x06])enddefrender#hamlengineexecutedwithcontextofself#sothatwithintemlateicouldcall#%stop{offset:'0%',stop:{color:lighten(color)}}endend更新:参见上面的#re
如果您尝试在Ruby中的nil对象上调用方法,则会出现NoMethodError异常并显示消息:"undefinedmethod‘...’fornil:NilClass"然而,有一个tryRails中的方法,如果它被发送到一个nil对象,它只返回nil:require'rubygems'require'active_support/all'nil.try(:nonexisting_method)#noNoMethodErrorexceptionanymore那么try如何在内部工作以防止该异常? 最佳答案 像Ruby中的所有其他对象
大家好!我想知道Ruby中未使用语法ClassName.method_name调用的方法是如何工作的。我头脑中的一些是puts、print、gets、chomp。可以在不使用点运算符的情况下调用这些方法。为什么是这样?他们来自哪里?我怎样才能看到这些方法的完整列表? 最佳答案 Kernel中的所有方法都可用于Object类的所有对象或从Object派生的任何类。您可以使用Kernel.instance_methods列出它们。 关于没有类的Ruby方法?,我们在StackOverflow
我真的为这个而疯狂。我一直在搜索答案并尝试我找到的所有内容,包括相关问题和stackoverflow上的答案,但仍然无法正常工作。我正在使用嵌套资源,但无法使表单正常工作。我总是遇到错误,例如没有路线匹配[PUT]"/galleries/1/photos"表格在这里:/galleries/1/photos/1/edit路线.rbresources:galleriesdoresources:photosendresources:galleriesresources:photos照片Controller.rbdefnew@gallery=Gallery.find(params[:galle
我在Rails应用程序中使用CarrierWave/Fog将视频上传到AmazonS3。有没有办法判断上传的进度,让我可以显示上传进度如何? 最佳答案 CarrierWave和Fog本身没有这种功能;你需要一个前端uploader来显示进度。当我不得不解决这个问题时,我使用了jQueryfileupload因为我的堆栈中已经有jQuery。甚至还有apostonCarrierWaveintegration因此您只需按照那里的说明操作即可获得适用于您的应用的进度条。 关于ruby-on-r
如何在Ruby中获取BasicObject实例的类名?例如,假设我有这个:classMyObjectSystem我怎样才能使这段代码成功?编辑:我发现Object的实例方法class被定义为returnrb_class_real(CLASS_OF(obj));。有什么方法可以从Ruby中使用它? 最佳答案 我花了一些时间研究irb并想出了这个:classBasicObjectdefclassklass=class这将为任何从BasicObject继承的对象提供一个#class您可以调用的方法。编辑评论中要求的进一步解释:假设你有对象
我在非Rails项目中使用ActiveRecord。在Rails中,我可以这样做:config.time_zone='EasternTime(US&Canada)'config.active_record.default_timezone='EasternTime(US&Canada)'但如果我不使用rails,我该如何设置时区? 最佳答案 ActiveRecord::Base.default_timezone='EasternTime(US&Canada)' 关于ruby-没有轨道的A
在我让另一个人重做我的前端UI之前,我的Rails应用程序运行平稳。我已经尝试解决此错误3天了。这是错误:Nosuchfileordirectory-identifyExtractedsource(aroundline#59):575859606162@post=Post.find(params[:id])authorize@postif@post.update_attributes(post_params)flash[:notice]="Postwasupdated."redirect_to[@topic,@post]else{"utf8"=>"✓","_method"=>"patc