Ich möchte eine Reaktivierungs-Account-Option erstellen, so dass Benutzer nach der Deaktivierung ihres Kontos immer auf Reaktivieren klicken und zurückgehen können.Laravel Creating Reactivate Button Fehler
Jetzt ist das Problem, wenn ich auf den Link klicke, der die Controller-Funktion aufrufen sollte, funktioniert es nicht und immer wieder auf die /auth
Seite, egal was ich tue.
Hier ist meine Middleware:
public function handle($request, Closure $next)
{
if (!Auth::check()) {
if ($request->ajax()) {
return response('Unauthorized.', 401);
} else {
return redirect()->guest('/');
}
}
else
{
$user = Auth::user();
if (!$user->activated) {
$activation = action('Auth\[email protected]', ['username' => $user->username]);
Auth::logout();
return redirect()->guest('auth')
->withErrors(array('message' => 'Please activate your account. Re-send your activation by clicking <a href=' . $activation . '>here</a>.'));
}
// the main code starts here
else if (!$user->enabled) {
$reactivation = action('[email protected]');
Auth::logout();
//$reactivation = $user->enabled = 1;
//$user->save();
return redirect('/auth')->withErrors(array('message' => 'Your account has been deactivated. You can reactivate your account by clicking <a href='. $reactivation .'> Here </a>.'))->withInput();
}
$user->runDailyNotifications();
}
return $next($request);
}
}
habe ich postActivate Funktion im Usercontroller, da es eine ähnliche Funktion (die eine ähnliche Funktion hier):
public function postDeactivateUser(Request $request)
{
if ($request->ajax()) {
$user = Auth::user();
User::removeData($user);
$user->enabled = false;
$user->save();
return response()->json(['result' => true, 'msg' => 'Your account has been deactivated.']);
}
}
So dass ich eine ähnliche erstellt habe:
public function postActivateUser(Request $request)
{
$user = Auth::user();
$user->enabled = 1;
$user->save();
return response()->json(['result' => true, 'msg' => 'Your account has been activated.']);
}
und eine Route:
Route::get('auth/activate', '[email protected]');
Ich bin mir nicht sicher, was kann ich es richtig tun, um, vielen Dank für jemand hilft mir.
Hallo! Ich habe die Route in die Datei route.php eingetragen und den UserController in die Funktion geändert, die Sie erwähnt haben, funktioniert aber immer noch nicht (dasselbe Problem wie vorher, keine Fehlermeldungen) – zhiyu
Wenn Sie die 'Auth' Middleware in Ihrem Kernel haben. php das wird nicht funktionieren. – Rodrigo
Leider ist es in Kernel.php, jetzt bin ich mir nicht sicher, was zu tun ist – zhiyu