Recents in Beach

login only databse

 const submit = async (e: React.FormEvent) => {

  e.preventDefault();

  setErrors([]);


  try {

    const res = await axios.post("http://localhost:8000/api/login", {

      email,

      password,

    });


    if (res.data.status) {

      setIsAuthenticated(true);

    } else {

      setErrors([res.data.message || "Login failed"]);

    }

  } catch (err) {

    setErrors(["Server error, try again later"]);

    console.error(err);

  }

};





<form onSubmit={submit} className="max-w-md mx-auto mt-10 p-8 bg-white rounded-xl shadow-lg">
        <h1 className="text-xl text-indigo-600 text-center font-bold">Login</h1>
        {errors.length >0 && <div className="text-2xl mb-4 p-3 bg-red-100 text-red-700 rounded">
            <ul className="list-disc pl-5 space-y-1 text-sm">
                {errors.map((error, index)=>
                    <li key={index}>{error}</li>
                )}
            </ul>
        </div>
        }
        <div className="grid gap-2 my-2">
            <label className="text-sm leading-none font-medium select-none peer-disabled:cursor-auto">
                Email: 
            </label>
            <input id="email" name="email" type="email" placeholder="Enter Your Email"  value={email} onChange={(e)=>setEmail(e.target.value)} className="w-full px-3 py-2 mt-2 text-sm leading-none text-gray-800 bg-white border rounded focus:outline-none border-gray-300 shadow"/>
        </div>
        <div className="grid gap-2 my-2">
            <label className="text-sm leading-none font-medium select-none peer-disabled:cursor-auto">
                Password: 
            </label>
            <input id="password" name="password" type="password" placeholder="Enter Your Password" value={password} onChange={(e)=>setPassword(e.target.value)}  className="w-full px-3 py-2 mt-2 text-sm leading-none text-gray-800 bg-white border rounded focus:outline-none border-gray-300 shadow"/>
        </div>
        <button type="submit" className="bg-blue-500 text-white px-4 cursor-pointer py-2 rounded my-4 hover:bg-blue-600">
            Login
        </button>
    </form>

Controller
public function login(Request $request)
{
if (!Auth::attempt($request->only("email","password")))
{
return response()->json(["errors" => ["Invalid Credentials"]]);
}

$user = Auth::user();

$input['name'] = $user->name;
$input['email'] = $user->email;
$input['token'] = $user->createToken("App")->plainTextToken;

return response()->json($input);
}

Post a Comment

0 Comments