Меняю вопрос
Я делаю активацию аккаунта по телефону, я реализовал отправку кода подтверждения, никак не могу реализовать саму активацию после регистрации.
Делаю саму регистрацию, если прошло всё нормально, то отправляется код и выводится страница для его ввода
public function postRegister() {
......................................................................................................
// Сама регистрация с уже проверенными данными
$user = new User();
$user->fill($date);
$userId = $user->register();
// Вывод информационного сообщения об успешности регистрации
return View::make('users/activ');
}
сама форма ввода
{{ Form::open(array('url' => action('UsersController@postActiv'), 'method' => 'post', 'role' => 'form', 'class' => 'form-horizontal')) }}
<div class="form-group">
<label for="activationCode" class="col-sm-2 control-label">Код активации</label>
<div class="col-sm-5">
{{ Form::text('activationCode', null, array('class' => 'form-control')) }}
</div>
</div>
<div class="form-group">
<div class="col-sm-2"> </div>
<div class="col-sm-5">
<button type="submit" class="btn btn-primary">Активировать</button>
</div>
</div>
{{ Form::close() }}
а дальше начинается то, что я никак не могу реализовать. Начиная с первой строки, а точнее получение записи этого пользователя
public function postActiv($userId) {
//Получаем данные о пользователе
$u = User::find($userId);
//Получаем данные из форма
$сform = Input::get('activationCode');
//Проверяем совпадает ли код у пользователя и код из формы
if ($u == $сform){
Auth::user();
}
$maseg = 'Вы ввели неверный код активации';
return Redirect::back()->withAlert($maseg);
}
ну и User.php
public function activate() {
// Если пользователь уже активирован, не будем делать никаких
// проверок и вернем false
if ($this->isActive) {
return false;
}
$сform = $this->сform;
// Если коды не совпадают, то также ввернем false
if ($сform != $this->activationCode) {
return false;
}
// Обнулим код, изменим флаг isActive и сохраним
$this->activationCode = '';
$this->isActive = true;
$this->save();
// И запишем информацию в лог, просто, чтобы была :)
Log::info("User [{$this->email}] successfully activated");
return true;
}