Php 无法在Laravel中登录
我已经创建了一个消息传递应用程序。主页包含两个表单。一个用于注册,一个用于登录。两种表单都有不同的相应处理路径。在localhost上,一切正常。用户可以注册,然后登录 今天我在网络服务器上上传了文件。现在它开始显示令牌不匹配错误。我找了很多,但没能解决这个问题 下面是有两种形式的视图(名为login.blade.php)Php 无法在Laravel中登录,php,forms,laravel-4,Php,Forms,Laravel 4,我已经创建了一个消息传递应用程序。主页包含两个表单。一个用于注册,一个用于登录。两种表单都有不同的相应处理路径。在localhost上,一切正常。用户可以注册,然后登录 今天我在网络服务器上上传了文件。现在它开始显示令牌不匹配错误。我找了很多,但没能解决这个问题 下面是有两种形式的视图(名为login.blade.php) <div id="header"> <center> <div id='loginform'>
<div id="header">
<center>
<div id='loginform'>
{{ Form::open(array('url' => 'login')) }}
<div id='login_inputs_div'>
{{ Form::text('email', Input::old('email'), array('placeholder'=>'Email', 'class'=>'inputs')) }}
{{ Form::password('password', array('placeholder'=>'Password', 'class'=>'inputs')) }}
{{ Form::submit('Log In', array('class'=>'submit')) }}
</div>
<div id='error_wrapper'>
<div id='email_error'>{{ $errors->first('email') }}</div>
<div id='password_error'>{{ $errors->first('password') }}</div>
<div class='clear'></div>
</div>
{{ Form::close() }}
</div>
</center>
</div>
<div id="body">
<div id='registration_alert_div'>
<center>
@if(Session::has('registration'))
<div id="registration_alert">
{{ Session::get('registration') }}
</div>
@endif
</center>
</div>
<div id="regform">
{{ Form::open(array('url' => 'login/register')) }}
<center><h1>Register To Make Friends</h1></center>
{{ Form::text('name', Input::old('name'), array('id'=>'name', 'placeholder'=>'Name', 'class'=>'reginputs')) }}
<span>{{ $errors->first('name') }}</span>
{{ Form::text('username', Input::old('username'), array('id'=>'username', 'placeholder'=>'Username', 'class'=>'reginputs')) }}
<span>{{ $errors->first('username') }}</span>
{{ Form::password('Password', array('id'=>'password', 'placeholder'=>'Password', 'class'=>'reginputs')) }}
<span>{{ $errors->first('Password') }}</span>
{{ Form::text('Email', Input::old('Email'), array('id'=>'email', 'placeholder'=>'Email', 'class'=>'reginputs')) }}
<span>{{ $errors->first('Email') }}</span>
{{ Form::text('ConfirmEmail', Input::old('ConfirmEmail'), array('id'=>'cemail', 'placeholder'=>'Confirm Your Email', 'class'=>'reginputs')) }}
<span>{{ $errors->first('ConfirmEmail') }}</span>
<center>{{ Form::submit('Register', array('class'=>'submit', 'id'=>'rsubmit')) }}</center>
{{ Form::close() }}
</div>
<div class='clear'></div>
</div>
我检查了源代码,令牌作为一个输入字段显示,带有一些值。为什么不匹配?Laravel可能无法在Web服务器中保留会话,每次启动新会话时,它都会创建一个新令牌,这导致最后一个令牌与当前令牌不匹配。一些可能的解决办法: 1) 检查您的Web服务器是否可以写入
app/storage
,而不仅仅是app/storage/session
,因为该文件夹中的其他文件可能存在问题
2) 例如,将会话驱动程序从文件更改为数据库(您必须创建会话表)
//Route for forms display| showLogin method displays the view(login.route.php)
Route::get('login', array('uses' => 'HomeController@showLogin'));
//Route for processing login form
Route::post('login', array('before'=>'csrf', 'uses' => 'HomeController@doLogin'));
//route for processing registration form
Route::post('login/register', array('before'=> 'csrf', 'uses' => 'HomeController@register'));