Tar*_*fih 16 php laravel laravel-4
当尝试访问此URL"users/login"时,我收到了该错误,这是我的代码:
查看users/login.blade.php:
<head>Sign in : </head>
<body>
{{ HTML::ul($errors->all()) }}
<?php echo Form::open(array('url' => 'users'));
echo '<div class="form-group">';
echo Form::label('username', 'User Name');
echo Form::text('ausername', null, array('class' => 'form-control'));
echo '</div>';
echo '<div class="form-group">';
echo Form::label('Password', 'Password');
echo Form::password('apassword', null, array('class' => 'form-control'));
echo '</div>';
echo Form::submit('Sign in', array('class' => 'btn btn-primary'));
echo Form::close();
?>
</body>
Run Code Online (Sandbox Code Playgroud)
Controller Usercontroller.php
<?php
class UserController extends BaseController {
public function index()
{
$users = User::all();
return View::make('users.index')
->with('users', $users);
}
public function create()
{
return View::make('users.create');
}
public function store()
{
$rules = array(
'username' => 'required|alpha_dash',
'password' => 'required|confirmed',
'name' => 'required|regex:/^[a-zA-Z][a-zA-Z ]*$/',
'email' => 'required|email|unique:users',
'country' => 'required'
);
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails()) {
return Redirect::to('users/create')
->withErrors($validator)
->withInput(Input::except('password'));
} else {
$user = new User;
$user->username = Input::get('username');
$user->password = Hash::make(Input::get('password'));
$user->name = Input::get('name');
$user->email = Input::get('email');
$user->country = Input::get('country');
$user->save();
// redirect
Session::flash('message', 'Successfully created user!');
return Redirect::to('users');
}
}
public function login()
{
$reflector = new ReflectionClass("UserController");
$fn = $reflector->getFileName();
dd($fn);
return View::make('users.login');
}
public function authen()
{
if (Auth::attempt(array('username' => Input::get('ausername'), 'password' => Input::get('apassword'))))
{
return Redirect::intended('users');
}
}
}
Run Code Online (Sandbox Code Playgroud)
和我的routes.php
<?php
Route::resource('users','UserController');
Route::get('users/login', 'UserController@login');
Route::get('/', function()
{
return View::make('hello');
});
Run Code Online (Sandbox Code Playgroud)
这是一个路线问题,谢谢你的帮助
小智 24
我遇到了和你一样的问题.问题最终导致重新排列资源代码,即
Route::get('masterprices/data', 'MasterPriceController@data');
Route::get( 'masterprices/upload', 'MasterPriceController@upload');
Route::post('masterprices/upload', 'MasterPriceController@do_upload');
Route::get('masterprices/{masterprices}/multipledelete', 'MasterPriceController@multipledelete');
Route::resource('masterprices', 'MasterPriceController');
Run Code Online (Sandbox Code Playgroud)
它检查另一个可能的处理程序,如果没有它将到达最后一行,这是处理索引页面的资源.
Jar*_*zyk 12
这个:
Route::resource('users','UserController');
Run Code Online (Sandbox Code Playgroud)
定义以下路线:
| GET|HEAD users | users.index | UsersController@index
| GET|HEAD users/create | users.create | UsersController@create
| POST users | users.store | UsersController@store
| GET|HEAD users/{users} | users.show | UsersController@show
| GET|HEAD users/{users}/edit | users.edit | UsersController@edit
| PUT users/{users} | users.update | UsersController@update
| PATCH users/{users} | | UsersController@update
| DELETE users/{users} | users.destroy | UsersController@destroy
Run Code Online (Sandbox Code Playgroud)
所以URI用户/登录调用users.show路由,这就是问题所在.
解决方案就像Kryten说要完全删除该路由,但我想你仍然想要使用一些资源的路由,比如你的控制器(创建,存储,索引),所以最好使用这个:
Route::resource('users', 'UserController', ['only'=> ['index','create','store']]);
Run Code Online (Sandbox Code Playgroud)