My username can be registered and it is stored in my database, but later it cannot be logged in Users who had been logged in before cannot edit their data either. I have tried everything, visited many forums and watched many videos, please help The last video I saw was one in which the user could simply change his password, I tried to do it and I couldn't either, if you could help me so that I could edit all his data
CODES: WEB.PHP:
class, 'index', 'middleware' => ['auth']])->name('home')
->middleware('auth');
// Route::view('/', 'home')->name('home');
Route::get('/usuarios', [App\Http\Controllers\UsuariosController::class, 'index']);
Route::get('/pinturas', [App\Http\Controllers\PinturasController::class, 'index']);
Route::get('/pintores', [App\Http\Controllers\PintoresController::class, 'index']);
Route::get('/admin', [App\Http\Controllers\AdminController::class, 'index'])
->middleware('auth', 'auth.admin')
->name('admin.index');
Route::get('/registerAdmin', [App\Http\Controllers\Auth\RegisterController::class, 'create'])->name('register.index');
Route::get('/registerAdmin', [App\Http\Controllers\Auth\RegisterController::class, 'store'])->name('register.store');
// REGISTRO DESDE FORMULARIO DE USUARIOS
Route::get('/registrarse', [App\Http\Controllers\Auth\RegisterController::class, 'index'])->name('register.index');
Route::post('/registrarse', [App\Http\Controllers\Auth\RegisterController::class, 'store'])->name('register.store');
Route::get('/login', [App\Http\Controllers\Auth\LoginController::class, 'create'])->name('login.index');
Route::post('/login', [App\Http\Controllers\Auth\LoginController::class, 'store'])->name('login.store');
Route::get('/logout', [App\Http\Controllers\Auth\LoginController::class, 'destroy'])
->middleware('auth')
->name('login.destroy');
Route::group(['prefix' => 'perfil', 'as' => 'perfil', 'middleware' => ['auth']], function () {
Route::get('/', function () {
return view('perfil');
});
Route::get('/', 'App\Http\Controllers\PerfilController@index');
Route::resource('usuarios', 'App\Http\Controllers\UsuariosController');
// Route::get('NewPassword',[App\Http\Controllers\PerfilController::class,'NewPassword'])->name('NewPassword')->middleware('auth');
// Route::post('/change/password',[App\Http\Controllers\PerfilController::class,'changePassword'])->name('changePassword');
// Route::get('/eliminar', function ($id){
// Usuario::findOrFail($id)->delete();
// return redirect('/home');
// });
});
Route::post('editar/Perfil', 'App\Http\Controllers\PerfilController@changePassword')->name('editar.Perfil');
Route::post('eliminar/Perfil', 'App\Http\Controllers\PerfilController@destroy')->name('eliminar.Perfil');
Route::get('/perfilArtista', [App\Http\Controllers\PerfilArtistaController::class, 'index'])->name('perfil.Artista');
// Route::resource('obras',[App\Http\Controllers\ObrasController::class, 'index']);
// AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIINNNNNNNNNNNNNNNNNNNNNNNNNNN
Route::group(['prefix' => 'admin', 'as' => 'admin', 'middleware' => ['auth']], function () {
Route::get('/', function () {
return view('admin');
});
Route::get('/usuarios', 'App\Http\Controllers\UsuariosController@index');
Route::post('/usuarios/editar', 'App\Http\Controllers\UsuariosController@editarUsuario');
Route::resource('usuarios', 'App\Http\Controllers\UsuariosController');
Route::get('/pinturas', 'App\Http\Controllers\PinturasController@index');
Route::post('/pinturas/editar', 'App\Http\Controllers\PinturasController@editarPintura');
Route::resource('pinturas', 'App\Http\Controllers\PinturasController');
Route::get('/pintores', 'App\Http\Controllers\PintoresController@index');
Route::post('/pintores/editar', 'App\Http\Controllers\PintoresController@editarPintor');
Route::resource('pintores', 'App\Http\Controllers\PintoresController');
});
Route::get('/', [App\Http\Controllers\ObrasController::class, 'obrasList'])->name('obras.list');
Route::get('cart', [App\Http\Controllers\CartController::class, 'cartList'])->name('cart.list');
Route::post('cart', [App\Http\Controllers\CartController::class, 'addToCart'])->name('cart.store');
Route::post('update-cart', [App\Http\Controllers\CartController::class, 'updateCart'])->name('cart.update');
Route::post('remove', [App\Http\Controllers\CartController::class, 'removeCart'])->name('cart.remove');
Route::post('clear', [App\Http\Controllers\CartController::class, 'clearAllCart'])->name('cart.clear');
Auth::routes();
// Auth::routes();
LOGIN CONTROLLER:
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Auth;
use App\Usuario;
class LoginController extends Controller
{
/*
|--------------------------------------------------------------------------
| Login Controller
|--------------------------------------------------------------------------
|
| This controller handles authenticating users for the application and
| redirecting them to your home screen. The controller uses a trait
| to conveniently provide its functionality to your applications.
|
*/
use AuthenticatesUsers;
public function create()
{
return view('auth.login');
}
public function store()
{
if (auth()->attempt(request(['email', 'password'])) == false) {
return back()->withErrors([
'message' => 'El email o la contraseña es incorrecto, por favor intentalo de nuevo'
]);
} else {
return redirect()->to('home');
}
}
public function destroy()
{
auth()->logout();
return redirect()->to('login');
}
}
LOGIN VIEW:
CHANI Login
@yield('css')
{{-- {{ route('login.store') }} --}}
PROFILECONTROLLER:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Usuario;
use Auth;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\DB;
class PerfilController extends Controller
{
public function index()
{
return view('perfil');
}
public function changePassword(Request $request)
{
$usuario = Auth::user();
$usuarioId = $usuario->id;
$usuarioNombre = $usuario->Nombre;
// $usuarioApellido = $usuario->Apellido;
$usuarioEmail = $usuario->Email;
$usuarioPassword = $usuario->password;
if ($request->passwordActual != "") {
$passwordNueva = $request->passwordNueva;
$passwordConfirm = $request->passwordConfirm;
$nombre = $request->nombre;;
if (Hash::check($request->passwordActual, $usuarioPassword)) {
if($passwordNueva == $passwordConfirm){
if(strlen($passwordNueva)>=7){
$usuario->password = Hash::make($request->password);
$bbdd = DB::table('usuarios')
->where('id',$usuario->id)
->update(['password' => $usuario->password],['name' => $usuario->name],);
return redirect()->back()->with('La contraseña se actualizo correctamente');
}else{
return redirect()->back()->with('La contraseña debe ser mayor a 7 caracteres');
}
}
}
}
}
public function destroy($id)
{
$usuario = Auth::user();
$usuario = Usuario::find($id);
$usuario->delete();
return back()->with("El ususario se elimino correctamente");
}
}
USER PROFILE VIEW:
<!DOCTYPE html>
<html lang="en">
<head>
<script src="https://kit.fontawesome.com/b41989f790.js" crossorigin="anonymous"></script>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link href="{{asset('/startbootstrap-sb-admin-2-gh-pages/vendor/fontawesome-free/css/all.min.css')}}"
rel="stylesheet" type="text/css">
<link
href="{{asset('/startbootstrap-sb-admin-2-gh-pages/https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i')}}"
rel="stylesheet">
<!-- Custom styles for this template-->
<link href="{{asset('/startbootstrap-sb-admin-2-gh-pages/css/sb-admin-2.min.css')}}" rel="stylesheet">
<link href="{{asset('https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css')}}" rel="stylesheet "
integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3 " crossorigin="anonymous ">
<link rel="" href="{{asset('/resources/js/bootstrap.js')}}">
<link href="{{ asset('/css/perfil.css') }}" rel="stylesheet" type="text/css" />
{{--
<link rel="stylesheet" href="path/to/font-awesome/css/font-awesome.min.css"> --}}
{{--
<link href="{{asset('/startbootstrap-sb-admin-2-gh-pages/vendor/fontawesome-free/css/all.min.css')}}"
rel="stylesheet" type="text/css"> --}}
{{--
<link href="{{asset('/startbootstrap-sb-admin-2-gh-pages/css/sb-admin-2.min.css')}}" rel="stylesheet"> --}}
<title>Mi Perfil</title>
</head>
<header>
<nav class="navbar navbar-expand-lg navbar-light bg-light border-bottom">
<a class="navbar-brand" href="/home">
<img src="\css\img\chani.png" width="110" height="50" alt="">
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent"
aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="/home">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Something else here</a>
</div>
</li>
</ul>
<div class="derechita">
<ul class="navbar-nav mr-auto">
@if(auth()->check())
<div class="btn-group">
<button type="button" class="btn btn-lg iconosNav">
<i class="fa-solid fa-cart-shopping " style="color: #1cc88a; font-size:25px;"></i>
</button>
<a href="{{'/perfil'}}">
{{-- <button class="btn btn-sm" type="button" style="color: rgb(255, 255, 255); background-color: #1cc88a; display: inline-block;
width: auto;
vertical-align: middle;">
<p style="margin-top:12px;">Bienvenido <b> {{auth()->user()->nombre}}</b></p>
</button> --}}
<button type="button" class="btn btn-lg iconosNav">
<i class="fa-solid fa-user " style="color: #1cc88a; font-size:25px;"></i>
</button>
</a>
@if (auth()->user()->role == 'admin')
<a href="{{'/admin'}}">
<button type="button" class="btn btn-lg iconosNav">
<i class="fa-solid fa-user-gear " style="color: #1cc88a; font-size:25px;"></i>
</button>
</a>
@elseif (auth()->user()->role == 'artista')
<a href="{{'/perfilArtista'}}">
<button type="button" class="btn btn-lg iconosNav">
<i class="fa-solid fa-paintbrush " style="color: #1cc88a; font-size:25px;"></i>
</button>
</a>
@endif
@else
<a href="{{ route('login.index') }}">
<button class="btn btn-outline-success mr-2 my-2 my-sm-0" type="submit"> Registrate o
Inicia
Sesión</button>
</a>
@endif
<form class="form-inline my-2 my-lg-0 ml-2">
<input class="form-control mr-sm-2" style="box-shadow: none;
border:1px solid #ced4da;" type="search" placeholder="Buscar" aria-label="Search">
<button class="btn btn-outline-success my-2 my-sm-0" type="submit"
style="box-shadow: none;background-color: #1cc88a; color:white; border:0px solid">Buscar</button>
</form>
</ul>
</div>
</div>
</nav>
</header>
<body>
<div class="d-flex justify-content-center">
<div class="container rounded bg-white mb-5">
<div class="row">
<div class="col-md-3 border-right">
<form>
@csrf
<div class="d-flex flex-column align-items-center text-center p-3 py-5"><img
class="rounded-circle mt-5" width="150px" {{-- PONER FOTO --}}
src="https://st3.depositphotos.com/15648834/17930/v/600/depositphotos_179308454-stock-illustration-unknown-person-silhouette-glasses-profile.jpg"><span
class="font-weight-bold">{{Auth::user()->nombre}}</span><span
class="text-black-50">{{Auth::user()->email}}</span><span> </span></div>
</form>
</div>
<div class="col-md-5 border-right">
<form action="{{ route('editar.Perfil') }}" method="post">
@csrf
<div class="p-3 py-3">
<div class="d-flex justify-content-between align-items-center">
{{-- <h4 class="text-right">Bienvenido {{Auth::user()->nombre}}</h4> --}}
<h4 class="text-right h3">Mi Perfil</h4>
</div>
<div class="row mt-1">
<div class="col-md-6"><label class="labels">Nombre</label>
<input type="text" class="form-control " placeholder="{{Auth::user()->nombre}}"
name="nombre" value="">
</div>
<div class="col-md-6"><label class="labels">Apellido</label>
<input type="text" class="form-control" name="apellido" value=""
placeholder="Apellido">
</div>
</div>
<div class="row mt-1">
<div class="col-md-12 mt-1"><label class="labels">Correo Electrónico</label>
<input type="email" class="form-control" name="email"
placeholder="{{Auth::user()->email}}" value="">
</div>
<div class="col-md-12 mt-1"><label class="labels">Numero de telefono</label><input
type="text" class="form-control" name="telefono"
placeholder="Número de teléfono" value=""></div>
<div class="col-md-12 mt-1"><label class="labels">Contraseña Actual</label><input
type="password" class="form-control" name="passwordActual"
placeholder="Contraseña Actual" value=""></div>
<div class="col-md-12 mt-1"><label class="labels">Nueva Contraseña</label><input
type="password" class="form-control" name="passwordNueva"
placeholder="Escribe tu nueva contraseña" value=""></div>
<div class="col-md-12 mt-1"><label class="labels">Confirmar Nueva
Contraseña</label><input type="password" class="form-control" name="passwordConfirm"
placeholder="Confirma tu nueva contraseña" value=""></div>
<div class="col-md-12 mt-1"><label class="labels">Nacionalidad</label><input type="text"
class="form-control" name="nacionalidad" placeholder="Nacionalidad" value="">
</div>
<div class="col-md-12 mt-1"><label class="labels">Rol</label><input type="text"
class="form-control" name="nacionalidad" placeholder="{{Auth::user()->role}}" value="">
</div>
{{-- <div class="col-md-12"><label class="labels">Address Line 1</label><input
type="text" class="form-control" placeholder="enter address line 1" value="">
</div>
<div class="col-md-12"><label class="labels">Address Line 2</label><input type="text"
class="form-control" placeholder="enter address line 2" value=""></div>
<div class="col-md-12"><label class="labels">Postcode</label><input type="text"
class="form-control" placeholder="enter address line 2" value=""></div>
<div class="col-md-12"><label class="labels">State</label><input type="text"
class="form-control" placeholder="enter address line 2" value=""></div>
<div class="col-md-12"><label class="labels">Area</label><input type="text"
class="form-control" placeholder="enter address line 2" value=""></div>
<div class="col-md-12"><label class="labels">Email ID</label><input type="text"
class="form-control" placeholder="enter email id" value=""></div>
<div class="col-md-12"><label class="labels">Education</label><input type="text"
class="form-control" placeholder="education" value=""></div> --}}
</div>
<div class="mt-4 text-center"><button type="submit" class="btn btn-primary profile-button"
style="background-color: #1cc88a; color:white;">Guardar Cambios</button></div>
<a href="{{ asset('/logout') }}">
<div class="mt-3 text-center"><button class="btn btn-primary profile-button"
type="button" style="background-color: #5d5d5d; color:white;"> Cerrar Sesión </button></div>
</a>
</div>
</form>
<form action="{{ route('eliminar.Perfil')}}" method="post">
<div class="mt-1 text-center"><button class="btn btn-primary profile-button"
type="submit"
style="background-color: #ff3737; color:white;"> Elminar
Cuenta </button></div>
</form>
</div>
</div>
</div>
</body>
</html>
