Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
Register Error
permisi gan, saya mau tanya. saya bikin registrasi pake
php artisan make:auth
tp knapa jadi error begini ya
Type error: Argument 1 passed to Illuminate\Auth\SessionGuard::login() must implement interface Illuminate\Contracts\Auth\Authenticatable, null given, called in D:\laragon\www\undangandari\app\Http\Controllers\Auth\RegisterController.php on line 84
kalo saya hapus code ini
$this->guard()->login($user);
di registercontroller, baru berfungsi
tp saya butuh kode itu, supaya setelah register langsung kondisi login
========================== registerController.php
<?php
namespace App\Http\Controllers\Auth;
use App\User;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Validator;
use Illuminate\Foundation\Auth\RegistersUsers;
use Illuminate\Http\Request;
use Illuminate\Auth\Events\Registered;
use Illuminate\Support\Facades\Mail;
use App\Mail\userRegistered;
class RegisterController extends Controller
{
/*
|--------------------------------------------------------------------------
| Register Controller
|--------------------------------------------------------------------------
|
| This controller handles the registration of new users as well as their
| validation and creation. By default this controller uses a trait to
| provide this functionality without requiring any additional code.
|
*/
use RegistersUsers;
/**
* Where to redirect users after registration.
*
* @var string
*/
// protected $redirectTo = '/dashboard';
public function redirectTo()
{
if ($this->request->has('previous')) {
$this->redirectTo = $this->request->get('previous');
}
return $this->redirectTo ?? '/dashboard';
}
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct(Request $request)
{
$this->middleware('guest');
$this->request = $request;
}
/**
* Get a validator for an incoming registration request.
*
* @param array $data
* @return \Illuminate\Contracts\Validation\Validator
*/
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:users',
'password' => 'required|string|min:6|confirmed',
]);
}
/**
* Handle a registration request for the application.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function register(Request $request)
{
$this->validator($request->all())->validate();
event(new Registered($user = $this->create($request->all())));
$this->guard()->login($user); //ini kalo di hapus bisa
return redirect($this->redirectPath());
}
// return $this->registered($request, $user)
// ?: redirect('/login')->with('warning', 'cek email');
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return \App\User
*/
protected function create(array $data)
{
$user = User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
'token'=> str_random(20)
]);
//email verifikasi
Mail::to($user->email)->send(new userRegistered($user));
}
//verifikasi token
public function verify_register($token, $id)
{
$user = User::find($id);
if ($user->token != $token) {
return redirect('login')->with('warning', 'token ga cocok');
}
$user->status=1;
$user->save();
// $this->guard()->login($user);
return redirect('dashboard')->with('success', 'selamat datang');
}
}
terima kasih
0
1 Jawaban:
Jawaban Terpilih
ternyata caranya tinggal tambahin
return $user;
di create()
0