Details of the form are stored in the database, but will automatically exit the laravel 5.3 system

I created a FORM to add an employee using laravel 5.3. when I fill in the details and submit the form, all data is inserted into the database. but after saving, log out automatically. I can not find a solution for this problem. Please help me fix this problem. this is the result of ajax call

form-validation.js

submitHandler: function(form) {

    var loading_el = $('#AddEmp');
    setLoader(loading_el, true);
    var userLevelId = $('#AddUserLevel').find('option:selected').attr('data-id');
    var policyId = $('#AddPolicies').find('option:selected').attr('data-id');

    $.ajax({
            url:'/addEmployee',
            dataType: "json",
            type: 'POST',
            data: {
                    email: $("#AddEmail").val(),
                    password: $("#AddEmpPassword").val(),
                    confirmPassword: $("#AddEmpConfirmPassword").val(),
                    EmpNo01: $("#AddEmpNo01").val(),
                    EmpNo02: $("#AddEmpNo02").val(),
                    UserLevel:userLevelId ,                 
                    Designation:$("#Designation").val(),    
                    Policies: policyId,      
                    FirstName: $("#AddFname").val(),
                    LastName: $("#AddLname").val(),
                    telephone: $("#AddTp").val(),
                    Mobile: $("#AddMno").val(),
                    JoinDate: $("#AddJoinDate").val(),
                    dob: $("#Adddob").val()

                },

web.php

   Route::group(['middleware'=>['admin']],function(){ // start admin routes
    Route::post('/addEmployee','web\EmployeeController@AddEmployeeDetails');
   }

EmployeeController.php

class EmployeeController extends Controller{

private $Employee;
private $policies;
private $Role;
private $Users;
private $EmployeeLeavePolicy;

public function __construct(EmployeeRepository $Employee ,LeavePolicyRepository $policies, RoleRepository $Role, UserRepository $Users,EmployeeLeavePolicyRepository $EmployeeLeavePolicy)
{
    $this->Employee = $Employee;
    $this->policies = $policies;
    $this->Role = $Role;
    $this->Users = $Users;
    $this->EmployeeLeavePolicy = $EmployeeLeavePolicy;

}

public function AddEmployeeDetails(addEmployeeRequest $request)
{
    try
    {
       $dataUser=[    //this data save in users table
            'name'=>$request['FirstName'],
            'email'=>$request['email'],
            'user_type'=>$request['UserLevel'],
            'password' => Hash::make($request['password']),

        ];

         $responseUser=$this->Users->create($dataUser);   //this is working one
        $res=$responseUser->id;

        if($responseUser)
        {
            $dataEmployee=[
                       'email'=>$request['email'],
                       'company_id'=>1,
                       'userId'=>$res,
                       'user_level'=>$request['UserLevel'],
                       'designation'=>$request['Designation'],
                       'empNo1'=>$request['EmpNo01'],
                       'empNo2'=>$request['EmpNo02'],
                       'password' => Hash::make($request['password']),
                       'first_name'=>$request['FirstName'],
                       'last_name'=>$request['LastName'],
                       'telephone'=>$request['telephone'],
                       'mobile'=>$request['Mobile'],
                       'join_date'=>$request['JoinDate'],
                       'dob'=>$request['dob'],
                       'status'=>1,
                ];

            $responseEmployee=$this->Employee->create($dataEmployee);

            if($responseEmployee)
            {
                $employeeId=$responseEmployee->id;  //get employee id
                $leaveId=$request['Policies'];      //get leave policy id

                $dataEmpLeavePolicy=[
                    'employee_Id'=>$employeeId,
                    'leave_policy_id'=>$leaveId,
                ];

                $responseLeavePolicy=$this->EmployeeLeavePolicy->create($dataEmpLeavePolicy);


            }

        Config::post('messages.ADD_USER_SUCCESS')];
            return ['success'=>'true','message'=> 'Data Added'];
        }
        else
        {
            return ['success'=>'false', 'error'=>Config::get('messages.ADD_USER_ERROR')];
        }
    }
    catch (Exception $ex)
    {
        return ['success'=>'false', 'error'=>  $ex->getMessage()];
    }

Employee.php

  class Employee extends Model{

         protected $fillable=[
                              'userId',
                              'company_id',
                              'empNo1',
                              'empNo2',
                              'user_level',       
                              'designation',        
                              'first_name',
                              'last_name',
                              'email',
                              'password',
                              'telephone',
                              'mobile',
                              'join_date',
                              'dob',
                              'status'
                           ];


     }
+4
source share
1 answer

It is strange that it registers you, but instead of returning the array for success / failure (since you are making an AJAX call), return the response using json instead.

return response()->json(['success'=>'true','message'=> 'Data Added']);

+1
source

Source: https://habr.com/ru/post/1665494/


All Articles