У меня есть вход в систему и форма регистрации, которую я хотел бы настроить на той же странице.Публикация данных из двух разных форм в laravel?
Форма входа в систему работает нормально, с фиктивными данными, уже введенными в базу данных, которую я использую.
Проблема у меня в том, что я получаю метод вызывая ошибку (предположительно потому, что у меня есть один и тот же вызов пост функции к двум различным функциям.
В настоящее время в моем файле routes.php У меня есть
// route to process the form
Route::post('/', array('uses' => '[email protected]'));
Route::post('/', array('uses' => '[email protected]'));
И мой файл контроллер выглядит так (извините, это немного долго, я подумал, что было бы лучше, чтобы обеспечить все вместо того, чтобы взять на себя кто-то может понять мой вопрос от всего только моего объяснения)
public function doRegister() {
$v = User::validate(Input::all());
if ($v->passes()) {
User::create(array(
'name'=> Input::get('name'),
'email'=> Input::get('email'),
'password'=> Hash::make(Input::get('password')),
));
return 'Thanks for registering!';
} else {
return Redirect::to('/')->withErrors($v->getMessages());
}
}
public function doLogin()
{
// validate the info, create rules for the inputs
$rules = array(
'email' => 'required|email', // make sure the email is an actual email
'password' => 'required|alphaNum|min:3' // password can only be alphanumeric and has to be greater than 3 characters
);
// run the validation rules on the inputs from the form
$validator = Validator::make(Input::all(), $rules);
// if the validator fails, redirect back to the form
if ($validator->fails()) {
return Redirect::to('/')
->withErrors($validator) // send back all errors to the login form
->withInput(Input::except('password')); // send back the input (not the password) so that we can repopulate the form
} else {
// create our user data for the authentication
$userdata = array(
'email' => Input::get('email'),
'password' => Input::get('password')
);
// attempt to do the login
if (Auth::attempt($userdata)) {
// validation successful!
// redirect them to the secure section or whatever
// return Redirect::to('secure');
// for now we'll just echo success (even though echoing in a controller is bad)
echo 'SUCCESS!';
} else {
// validation not successful, send back to form
return Redirect::to('/');
}
}
}
Насколько я знаю, это связано с тем, что я не устанавливаю, какую функцию использовать правильно для моей регистрационной формы.
Надеюсь, я хорошо справился с объяснением моей проблемы, пожалуйста, любое решение? (Относительно новый для Laravel)
Сценарий никогда не ударит по маршруту регистрации. Он читается сверху сверху и будет отвечать только на 1, а так как URI один и тот же, всегда будет вызываться метод doLogin. Таким образом, нет возможности зарегистрироваться. – jah
@jah есть способ различать два столбца формы внутри одной и той же функции контроллера? – samayres1992