【发布时间】:2016-01-09 02:59:59
【问题描述】:
用户在我的网站上注册帐户后,在他们登录后,在我的用户表中设置“非活动”状态,发送激活电子邮件,并限制某些功能,直到他们通过单击电子邮件。我已经完成了所有这些工作,但在使用重定向闪烁数据时遇到了问题。会话运行良好,我可以成功输入值。但是,如果我刷新数据,它似乎没有设置。如果我在我的主页模板中dd(Session::all()) 闪存阵列是完全空的:
array:4 [
"_token" => "..."
"_previous" => array:1 [...]
"flash" => array:2 [
"old" => []
"new" => []
]
"login_..." => 1
]
routes.php
Route::get('activate/{code}', 'ActivateController@getActivate')
->where('code', '[0-9a-f]{64}');
激活控制器.php
<?php
namespace App\Http\Controllers;
use DB;
use Auth;
use App\User;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class ActivateController extends Controller
{
public function __construct()
{
$this->middleware('auth');
}
public function getActivate(Request $request, $code)
{
$user = User::where('activation_code', $code)->where('status', 'inactive')->first();
if ($user && $user->id == Auth::user()->id && $user->update(['status' => 'active'])) {
$message = 'Account activated successfully.';
} elseif ($user) {
$message = 'Invalid activation token.';
} else {
$message = 'Activation code not found or user is already activated.';
}
return redirect('home')->with('msg', $message);
}
}
如果有人可以帮助我,我将不胜感激。如果有任何其他信息有帮助,请告诉我,我会提供。
【问题讨论】:
标签: php laravel session laravel-5.1