middleware('guest'); } public function create() { return view('auth.register'); } public function store(Request $request) { $request->validate([ 'nama' => 'required|string|max:255', 'username' => 'required|string|max:255|unique:users', 'email' => 'required|string|email|max:255|unique:users', 'password' => 'required|string|min:8|confirmed', 'nomor_telp' => 'required|string|max:20', 'alamat' => 'required|string|max:191', ]); try { $user = User::create([ 'nama' => $request->nama, 'username' => $request->username, 'email' => $request->email, 'password' => Hash::make($request->password), 'nomor_telp' => $request->nomor_telp, 'alamat' => $request->alamat, 'role' => 'customer', 'verification_token' => Str::random(64), 'is_verified' => 0 ]); // Log untuk debug Log::info('User registered successfully', [ 'user_id' => $user->id, 'email' => $user->email, 'verification_token' => $user->verification_token ]); // Kirim email verifikasi $verificationUrl = route('verification.verify', ['token' => $user->verification_token]); Log::info('Generated verification URL', [ 'url' => $verificationUrl, 'token' => $user->verification_token ]); Mail::send('emails.verify', ['url' => $verificationUrl], function($message) use ($user) { $message->to($user->email); $message->subject('Verifikasi Email'); }); Log::info('Verification email sent', [ 'user_id' => $user->id, 'email' => $user->email, 'verification_url' => $verificationUrl ]); return redirect()->route('login')->with('success', 'Registrasi berhasil! Silakan cek email Anda untuk verifikasi.'); } catch (\Exception $e) { Log::error('Registration failed', [ 'error' => $e->getMessage(), 'trace' => $e->getTraceAsString() ]); return back()->withErrors(['error' => 'Terjadi kesalahan saat registrasi. Silakan coba lagi.']); } } }