{"id":298,"date":"2024-03-17T22:21:47","date_gmt":"2024-03-18T01:21:47","guid":{"rendered":"https:\/\/ventiladorcito.com\/blog\/?p=298"},"modified":"2024-03-17T22:21:47","modified_gmt":"2024-03-18T01:21:47","slug":"mascotas-perdidas-py-parte-iv","status":"publish","type":"post","link":"https:\/\/ventiladorcito.com\/blog\/2024\/03\/mascotas-perdidas-py-parte-iv\/","title":{"rendered":"Mascotas Perdidas Py &#8211; Parte IV"},"content":{"rendered":"\n<p class=\"has-medium-font-size\"><strong>28 de noviembre<\/strong><\/p>\n\n\n\n<p>Vaya que me tom\u00e9 un tiempo para continuar!<\/p>\n\n\n\n<p>Pero al mal paso darle prisa.<\/p>\n\n\n\n<p>Teniamos pendiente para este post:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>actualizaremos este formulario de login<\/li>\n\n\n\n<li>crearemos un formulario de registro<\/li>\n\n\n\n<li>tambien comprobaremos el envio de email al crear una cuenta <\/li>\n<\/ul>\n\n\n\n<p class=\"has-medium-font-size\">Actualizar el formulario de Login<\/p>\n\n\n\n<p>De momento el formulario no hace nada, asi que vamos a darle un poco de vida<\/p>\n\n\n\n<p>Debemos setear lo snombre de variable  para nuestros campos de email y password, quedar\u00eda como algo as\u00ed:<\/p>\n\n\n\n<pre title=\"Form de Login\" class=\"wp-block-code\"><code lang=\"markup\" class=\"language-markup line-numbers\">&lt;form method=\"POST\" action=\"{{route('login')}}\">\n                @csrf\n                {{-- &lt;img class=\"mb-4\" src=\"https:\/\/getbootstrap.com\/docs\/5.3\/assets\/brand\/bootstrap-logo.svg\" alt=\"\" width=\"72\" height=\"57\"> --}}\n                &lt;h1 class=\"h3 mb-3 fw-normal\">Iniciar Sesion&lt;\/h1>\n                &lt;div class=\"form-floating\">\n                    &lt;input type=\"email\" class=\"form-control\" id=\"floatingInput\" placeholder=\"name@example.com\" value=\"{{old('email')}}\" name=\"email\">\n                    &lt;label for=\"floatingInput\">Email address&lt;\/label>\n                &lt;\/div>\n                &lt;div class=\"form-floating\">\n                    &lt;input type=\"password\" class=\"form-control\" id=\"floatingPassword\" placeholder=\"Password\" name=\"password\">\n                    &lt;label for=\"floatingPassword\">Password&lt;\/label>\n                &lt;\/div>\n\n                &lt;div class=\"checkbox mb-3\">\n                    &lt;label>\n                        &lt;input type=\"checkbox\" value=\"remember-me\"> Remember me\n                    &lt;\/label>\n                &lt;\/div>\n                &lt;button class=\"w-100 btn btn-lg btn-primary\" type=\"submit\">Sign in&lt;\/button>\n                &lt;p class=\"mt-5 mb-3 text-muted\">&amp;copy; 2017\u20132022&lt;\/p>\n            &lt;\/form><\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Luego a nuestro archivo de rutas le agregamos algunas rutas m\u00e1s <\/p>\n\n\n\n<pre title=\"routes\/web.php\" class=\"wp-block-code\"><code lang=\"php\" class=\"language-php line-numbers\">&lt;?php\nuse App\\Http\\Controllers\\Auth\\LoginController;\n\nRoute::get('\/login', [LoginController::class, 'create'])\n    ->middleware(['guest:'.config('fortify.guard')])\n    ->name('login');\n\n\nRoute::post('\/login', [LoginController::class, 'store'])\n    ->middleware(\n        array_filter(\n            [\n                'guest:'.config('fortify.guard'),\n                $limiter ? 'throttle:'.$limiter : null,\n            ]\n        )\n    );\n\nRoute::post('\/logout', [LoginController::class, 'destroy'])\n        ->name('logout');\n\nRoute::get('\/home',function(){\n    echo 'Hola esto es home';\n    echo \"&lt;form method='post' action='\".route('logout').\"'>&lt;input type='submit' value='Salir'>\".csrf_field() .\"&lt;\/form>\";\n\n});<\/code><\/pre>\n\n\n\n<p>con esto tendremos las rutas para login, logout y un formulario para probar el logout<\/p>\n\n\n\n<p>Tambi\u00e9n debemos crear nuestro LoginController dentro de la carpeta Auth, esto para el caso que quisi\u00e9ramos reemplazar o aumentar la l\u00f3gica dentro del login y logout que ya maneja Fortify por nosotros.<\/p>\n\n\n\n<pre title=\"Auth\/LoginController.php\" class=\"wp-block-code\"><code lang=\"php\" class=\"language-php line-numbers\">&lt;?php\n\nnamespace App\\Http\\Controllers\\Auth;\nuse Laravel\\Fortify\\Http\\Controllers\\AuthenticatedSessionController;\nuse Laravel\\Fortify\\Http\\Requests\\LoginRequest;\nuse Illuminate\\Http\\Request;\nuse Laravel\\Fortify\\Contracts\\LoginViewResponse;\nuse Laravel\\Fortify\\Contracts\\LogoutResponse;\n\nclass LoginController extends AuthenticatedSessionController{\n\n    public function store(LoginRequest $request){\n        \/\/ dd($request);\n        return parent::store($request);\n        \/\/ $this->store($request);\n    }\n\n    \/**\n     * Show the login view.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Laravel\\Fortify\\Contracts\\LoginViewResponse\n     *\/\n    public function create(Request $request): LoginViewResponse\n    {\n        return parent::create($request);\n    }\n\n    \/**\n     * Destroy an authenticated session.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Laravel\\Fortify\\Contracts\\LogoutResponse\n     *\/\n    public function destroy(Request $request): LogoutResponse\n    {\n        return parent::destroy($request);\n    }\n}<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p>Por ahora entonces tenemos funcionando el formulario de login, que luego de proceder correctamente nos muestra nuestro Home provisional<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/ventiladorcito.com\/blog\/wp-content\/uploads\/2023\/12\/image.png\"><img loading=\"lazy\" decoding=\"async\" width=\"755\" height=\"231\" src=\"https:\/\/ventiladorcito.com\/blog\/wp-content\/uploads\/2023\/12\/image.png\" alt=\"\" class=\"wp-image-299\" srcset=\"https:\/\/ventiladorcito.com\/blog\/wp-content\/uploads\/2023\/12\/image.png 755w, https:\/\/ventiladorcito.com\/blog\/wp-content\/uploads\/2023\/12\/image-300x92.png 300w, https:\/\/ventiladorcito.com\/blog\/wp-content\/uploads\/2023\/12\/image-624x191.png 624w\" sizes=\"auto, (max-width: 755px) 100vw, 755px\" \/><\/a><\/figure>\n\n\n\n<p>Para la siguiente entrada veremos si podemos implementar:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Un formulario de registro<\/li>\n\n\n\n<li>Tambien comprobaremos el envio de email al crear una cuenta para la confirmaci\u00f3n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>28 de noviembre Vaya que me tom\u00e9 un tiempo para continuar! Pero al mal paso darle prisa. Teniamos pendiente para este post: Actualizar el formulario de Login De momento el formulario no hace nada, asi que vamos a darle un poco de vida Debemos setear lo snombre de variable para nuestros campos de email y [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-298","post","type-post","status-publish","format-standard","hentry","category-miscelaneas"],"_links":{"self":[{"href":"https:\/\/ventiladorcito.com\/blog\/wp-json\/wp\/v2\/posts\/298","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ventiladorcito.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ventiladorcito.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ventiladorcito.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ventiladorcito.com\/blog\/wp-json\/wp\/v2\/comments?post=298"}],"version-history":[{"count":1,"href":"https:\/\/ventiladorcito.com\/blog\/wp-json\/wp\/v2\/posts\/298\/revisions"}],"predecessor-version":[{"id":300,"href":"https:\/\/ventiladorcito.com\/blog\/wp-json\/wp\/v2\/posts\/298\/revisions\/300"}],"wp:attachment":[{"href":"https:\/\/ventiladorcito.com\/blog\/wp-json\/wp\/v2\/media?parent=298"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ventiladorcito.com\/blog\/wp-json\/wp\/v2\/categories?post=298"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ventiladorcito.com\/blog\/wp-json\/wp\/v2\/tags?post=298"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}