phplaravellaravel-5

Without credentials check login redirect home page


controller code

public function login(){  
  if(Auth::attempt([
         'email' => request('email'), 
         'password' => request('password')])){     
    $user = Auth::user();     
    $success['token'] =  $user->createToken('AppName')->accessToken; 
    return response()->json(['success' => $success], $this-> successStatus);    
  } else{     
    return response()->json(['error'=>'Unauthorised'], 401);     
  }  
}

When I am doing login its wrongly redirect home, without check any database registration and you put wrong email and password still redirect home page....so I want to perfect work, what is mistake in code

second problem I set image logo this line but its not display image

<img src="{{ asset('img/Image.jpg') }}">

<link href="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
<script src="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
    <!------ Include the above in your HEAD tag ---------->
    <style type="text/css">
        body {
      margin: 0;
      padding: 0;
      background-image: url("img/back.jpg");
      background-repeat: no-repeat;
      height: 500px;
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover;
      position: relative;

    }
    #login .container #login-row #login-column #login-box {
      margin-top: 150px;
      max-width: 600px;
      height: 320px;
      border: 2px  #9C9C9C;
      border-radius: 15px;
      background-color: white;
    }
    #login .container #login-row #login-column #login-box #login-form {
      padding: 20px;
    }
    #login .container #login-row #login-column #login-box #login-form #register-link {
      margin-top: -85px;
    }
    .btn {
      margin:auto;
      display:block;
      padding: 2% 10%;
    }
    </style>
    <html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
        <head>
            <meta charset="utf-8">
            <meta name="viewport" content="width=device-width, initial-scale=1">

        </head>

    <body>
        <div id="login">
            <div class="container">
                <div id="login-row" class="row justify-content-center align-items-center">


                    <div id="login-column" class="col-md-6">
                        <div id="login-box" class="col-md-12">
                            <form id="login-form" class="form" method="POST" action="{{ route('login') }}">
                                @csrf
                                <h3 class=""><img src="{{ asset('img/Image.jpg') }}">Login</h3>
                                <div class="form-group">
                                    <label for="username" class="font-weight-bold">Email:</label><br>
                                    <input type="text" id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email" placeholder="enter email" autofocus>
                                    @error('email')
                                        <span class="invalid-feedback" role="alert">
                                            <strong>{{ $message }}</strong>
                                        </span>
                                    @enderror
                                </div>
                                <div class="form-group">
                                <label for="password" class="font-weight-bold">{{ __('Password') }}</label>
                                    <input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="current-password" placeholder="enter password">

                                    @error('password')
                                        <span class="invalid-feedback" role="alert">
                                            <strong>{{ $message }}</strong>
                                        </span>
                                    @enderror

                            </div>
                                <div class="form-group">
                                    <button type="submit" name="submit" class="btn btn-default font-weight-bold" value="SIGN IN">{{ __('SIGN IN') }}</button>
                                </div>
                            </form>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </body>
    </html>

<!-- end snippet -->

Solution

  • Controller for the first issue

    public function login() 
    {
        if (Auth::attempt([
           'email' => request('email'),
           'password' => request('password')])) {
            $user = Auth::user();
            $success['token'] = $user->createToken('AppName')->accessToken;  
            return back()->withErrors([
                 'message' => 'Success'
            ])->withInput();
        }
        else
        {
            return back()->withErrors([
                 'message' => 'Unauthorised'
            ])->withInput();
        }
    }
    

    It is for the second issue

    <img src="{{ url('asset/img/Image.jpg') }}">
    

    NOTE : url path start from public/