Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
делаю подтверждение регистрации...
роуты
Route::post('/verify/', 'Auth\AuthController@verificationAccount');
Route::get('/verify/{code}', 'Auth\AuthController@activateAccount');
форма проверки
@extends('global');
@section('content')
<p>Необходимо подтверждение email'a...</p>
{!! Form::open(array('url' => 'http://domain.tdl/verify/' ,'method' => 'post', 'class' => 'form-horizontal')) !!}
{!! Form::text('activation_code',NULL,array('class' => 'input-medium')) !!}
{!! Form::submit('Активировать',array('class' => 'btn btn-success')) !!}
{!! Form::close() !!}
@stop
контроллеры
public function verificationAccount($code, User $user)
{
$code=Input::get('activation_code');
if ($user->accountIsActive($code)) {
Session::flash('message', 'Success, your account has been activated.');
return redirect('/');
}
else
{
Session::flash('message', 'Your account couldn\'t be activated, please try again');
return redirect('/');
}
}
public function activateAccount($code, User $user)
{
if ($user->accountIsActive($code)) {
Session::flash('message', 'Success, your account has been activated.');
return redirect('/');
}
else
{
Session::flash('message', 'Your account couldn\'t be activated, please try again');
return redirect('/');
}
}
Второй роут и соотвественно функция отрабатывают нормально - проверка проходит штатно.
Если я пытаюсь код отправить через форму? то вылазит ошибка, что мол
ErrorException in AuthController.php line 111:
Argument 2 passed to App\Http\Controllers\Auth\AuthController::verificationAccount() must be an instance of App\User, none given
Как (через форму?) user передавать функции.
Заранее спасибо.
Изменено indarium (25.07.2015 19:38:47)
Не в сети
я не совсем понял откуда в verificationAccount взялся User - его нету в параметрах маршрута. если это попытка использовать внедрение зависимостей, то параметры с внедрением должны идти до параметром маршрута. кроме того в verificationAccount откуда-то взялся 'code' - его в параметрах маршрута тоже нет, но пхп на него не ругается видимо потому что нотисы отключены в error_reporting и он приходит просто null, зато он ругается на второй параметр потому что он должен быть User а null - не User.
Не в сети
я не совсем понял откуда в verificationAccount взялся User - его нету в параметрах маршрута. если это попытка использовать внедрение зависимостей, то параметры с внедрением должны идти до параметром маршрута. кроме того в verificationAccount откуда-то взялся 'code' - его в параметрах маршрута тоже нет, но пхп на него не ругается видимо потому что нотисы отключены в error_reporting и он приходит просто null, зато он ругается на второй параметр потому что он должен быть User а null - не User.
Ну, в activateAccount User'a тоже нету в параметрах маршрута:) Code передается post запросом, поэтому в маршруте его нет.
А вообще, это сборная солянка из 1,
2 и 3, потому что толковой верификации я найти не смог.
Не в сети
Страницы 1