Ich möchte bei jeder erfolgreichen Anmeldung eine Benachrichtigungs-E-Mail senden (nur zum Testen, da ich keine E-Mail mehr für die Registrierung zum Testen der E-Mail-Versendung habe). Ich ändere die Funktion handleUserWasAuthenticated, von der ich annahm, dass diese Funktion aufgerufen wird, wenn ich mich erfolgreich anmelde. Ich kann jedoch keine E-Mail und keinen Benutzernamen aus den Daten des Formulars über die Variablen $ request beziehen. Die $ -Anforderung wird standardmäßig auch an anderen Stellen in der Funktion 'handleUserWasAuthenticated' verwendet, und es gibt keine Warnung für diese Fälle, während $ request nur in meinen hinzugefügten Codes eine Warnung erhält 'Variable $ request scheint nicht initialisiert zu sein'. Wie kann ich die E-Mail-Adresse und den Benutzernamen zum Senden von E-Mails verwenden?
Dies ist die handleUserWasUathenticated Funktion in AuthenticatesUser.php
namespace Illuminate\Foundation\Auth;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Lang;
trait AuthenticatesUsers
{
use RedirectsUsers;
protected function handleUserWasAuthenticated(Request $request, $throttles)
{
//My modification
$data = [
'title' => 'Welcome to Myfirstsite',
'content' => 'You have finished your registration successfully'
];
Mail::send('emails.verification', $data, function($message){
$message
->to($request['email'],$request['name'])
->subject('Verification email from Myfirstsite');
});
//Original part
if ($throttles) {
$this->clearLoginAttempts($request);
}
if (method_exists($this, 'authenticated')) {
return $this->authenticated($request, Auth::guard($this->getGuard())->user());
}
return redirect()->intended($this->redirectPath());
}
}
'verwenden Illuminate \ Http \ anfordern;' in 'AuthenticatesUser ist .php standardmäßig. –