Second Commit
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 

128 行
3.8 KiB

  1. <?php
  2. namespace App\Http\Controllers\Auth;
  3. use App\Http\Controllers\Controller;
  4. use App\Providers\RouteServiceProvider;
  5. use App\Models\UserAccount;
  6. use App\Models\accessLogs;
  7. use Illuminate\Foundation\Auth\RegistersUsers;
  8. use Illuminate\Support\Facades\Hash;
  9. use Illuminate\Support\Facades\Validator;
  10. use Illuminate\Http\Request;
  11. class RegisterController extends Controller
  12. {
  13. /*
  14. |--------------------------------------------------------------------------
  15. | Register Controller
  16. |--------------------------------------------------------------------------
  17. |
  18. | This controller handles the registration of new users as well as their
  19. | validation and creation. By default this controller uses a trait to
  20. | provide this functionality without requiring any additional code.
  21. |
  22. */
  23. use RegistersUsers;
  24. /**
  25. * Where to redirect users after registration.
  26. *
  27. * @var string
  28. */
  29. protected $redirectTo = RouteServiceProvider::HOME;
  30. /**
  31. * Create a new controller instance.
  32. *
  33. * @return void
  34. */
  35. public function __construct()
  36. {
  37. $this->middleware('guest');
  38. }
  39. /**
  40. * Get a validator for an incoming registration request.
  41. *
  42. * @param array $data
  43. * @return \Illuminate\Contracts\Validation\Validator
  44. */
  45. protected function validator(array $data)
  46. {
  47. return Validator::make($data, [
  48. 'name' => ['required', 'string', 'max:255'],
  49. 'tanggal_lahir' => ['required', 'date:DD-MM-YYYY'],
  50. 'tempat_lahir' => ['required', 'string', 'max:255'],
  51. 'email' => ['required', 'string', 'email', 'max:255', 'unique:user_accounts'],
  52. 'handphone' => ['required', 'string', 'max:255'],
  53. 'jenis_kelamin' => ['required', 'string', 'max:255'],
  54. 'agama' => ['required', 'string', 'max:255'],
  55. 'password' => ['required', 'string', 'min:8', 'confirmed'],
  56. 'user_role' => ['required', 'string', 'max:255'],
  57. ]);
  58. }
  59. /**
  60. * Create a new user instance after a valid registration.
  61. *
  62. * @param array $data
  63. * @return \App\Models\UserAccount
  64. */
  65. protected function create(array $data)
  66. {
  67. return UserAccount::create([
  68. 'name' => $data['name'],
  69. 'tanggal_lahir' => $data['tanggal_lahir'],
  70. 'tempat_lahir' => $data['tempat_lahir'],
  71. 'email' => $data['email'],
  72. 'handphone' => $data['handphone'],
  73. 'jenis_kelamin' => $data['jenis_kelamin'],
  74. 'agama' => $data ['agama'],
  75. 'password' => Hash::make($data['password']),
  76. 'user_role' => $data['user_role'],
  77. ]);
  78. }
  79. public function userRegister(Request $request){
  80. $user = $request->validate([
  81. 'name' => ['required', 'string', 'max:255'],
  82. 'tanggal_lahir' => ['required', 'date:DD-MM-YYYY'],
  83. 'tempat_lahir' => ['required', 'string', 'max:255'],
  84. 'email' => ['required', 'string', 'email', 'max:255', 'unique:user_accounts'],
  85. 'handphone' => ['required', 'string', 'max:255'],
  86. 'jenis_kelamin' => ['required', 'string', 'max:255'],
  87. 'agama' => ['required', 'string', 'max:255'],
  88. 'password' => ['required', 'string', 'min:8', 'confirmed'],
  89. 'user_role' => ['required', 'string', 'max:255'],
  90. ]);
  91. $ipadd = accessLogs::get('mac_address');
  92. $mac = explode(" ", $ipadd);
  93. $mac_address = $mac[0];
  94. $ipaddress = $request->ip();
  95. $user ['mac_address'] = $ipadd;
  96. $user ['password'] = Hash::make($request->password);
  97. UserAccount::create($user);
  98. return redirect()->route('login');
  99. }
  100. }