Day3 跟着官方文件学习Laravel-来一个登入画面

今天的目标是我要透过浏览器送出一段路径後,要在我的页面能够接收到我的登入画面

在官方文件的一开始说到,我们可以在routes/web.php这个档案之中定义路由,并且提供一个HelloWorld的范例:

Route::get('/greeting', function () {
    return 'Hello World';
});

那我们试着把这些程序码贴到routes/web.php,接着到http://127.0.0.1:8000/greeting 看看吧,记得要先启动server

php artisan serve

OK,我们成功地在页面上看到Hello World了!
我们今天的目标,是要在页面上看到登入画面,所以我们修改一下我们的程序码

Route::get('/login', function () {
    return "<h1>登入画面</h1>";
});

接着,我们在前往http://127.0.0.1:8000/login 可以看到登入画面四个字大大的显示在萤幕上,所以理论上,只要我把登入画面HTML变成字串放在return上,我就可以有一个登入画面了,所以我们来试试看

Route::get('/login', function () {
    return <<<EOF
    <h1>登入画面</h1>
    <form action='/login' method='POST'>
        帐号:<input type='text' name='account'><br/>
        密码:<input type='password' name='password'><br/>
        <button type='submit'>登入</button>
    </form>
    EOF;
});

登入画面出来了!!不过呢这个方法不太好,原因是这样画面不好维护,且没办法加入一些样式,所以我们会利用Route::view()来传递一个视图。所以我们可以来试试看,首先我们改写一下Route

Route::get('/login', function () {
    return view('login');
});

接着我们在resources/views之中创建一个login.blade.php

#login.blade.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>login</title>
</head>
<body>
    <h1>登入画面</h1>
    @csrf
    <form action='/login' method='POST'>
        帐号:<input type='text' name='account'><br/>
        密码:<input type='password' name='password'><br/>
        <button type='submit'>登入</button>
    </form>
</body>
</html>

接着我们去看画面是否正常,结果是正常的,好了,今天的任务完成,我成功显示出登入画面了。而在这边官方跟我们说要加上@csrf才能受到CSRF的保护而什麽是CSRF呢,会是我们明天挑论的话题,大家明天见啦!


<<:  [Day2] 安装python环境

>>:  Day 17 Azure Cosmos DB API for MongoDB- 找个地方放资料

Day01-CRUD API 实作(一)事前规划、Laravel Sanctum 安装与设定

大家好~ 第一天先来规划我们的主题和预计会有哪些功能吧! 主题的话, 我决定做个留言板, 会有留言的...

ASUS Zenfone 3 Android 8.0.0 绕过 Google FRP

本文为单纯经验及心得分享,希望能帮助到一样被这个机制困扰的人,切勿用於不法之用途 前言 去年初,因为...

Day16 测试写起乃 - 测试覆盖率

测试覆盖率在测试中的环节也是需要顾及的,我们今天会使用 SimpleCov 来算测试覆盖率 安装 S...

第27天:实作档案上传功能(4)

昨天我们建立一个File资料表要来储存档案实体路径 CREATE TABLE [dbo].[File...

自动化测试,让你上班拥有一杯咖啡的时间 | Day 14 - 取得 ESLint 支援

此系列文章会同步发文到个人部落格,有兴趣的读者可以前往观看喔。 今天要跟大家分享在 cypress...