iT邦幫忙

DAY 30
0

初學laravel系列 第 30

鐵人賽 Day30 實作帳號驗證

10/21

今天我們要來實作USER的部分,

首先我們先執行一段SQL的程式碼讓我們待會要使用的表格可以進去,

SET FOREIGN_KEY_CHECKS=0;

DROP TABLE IF EXISTS users;

CREATE TABLE users (

account varchar(20) NOT NULL DEFAULT '',

password varchar(60) DEFAULT NULL,

remember\_token varchar(60) DEFAULT NULL,

updated\_at datetime DEFAULT NULL,

id int(11) NOT NULL AUTO_INCREMENT,

PRIMARY KEY (id)

) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

接著我們進入app/router.php中增加以下程式碼:

Route::controller('users', 'UserController');

接著我們增加兩個檔案,

首先在controller中增加一個UserController.php的檔案,

其中程式碼如下:

<?php

class UserController extends BaseController {

public function Index()

{

}

public function getInsert()

{

//直接設定輸入帳號進入資料庫

//密碼

$password = Hash::make('456');

DB::insert('insert into users (account, password) values (?, ?)', array('456',$password));

}

public function getLogout()

{

//登出

Auth::logout();

return Redirect::intended('users/login');

}

public function getLogin()

{

//

//判斷是否已經登入

if (Auth::check())

{

return Redirect::intended('message/list');

}

//顯示登入表格

return View::make('login',array('message' =>"" ));

}

public function postLogin()

{

//判斷登入及重導頁面

$account = Input::get('account');

$password = Input::get('password');

if (Auth::attempt(array('account' => $account, 'password' => $password),true))

{

return Redirect::intended('message/list');

}else{

return Redirect::intended('users/login');

}

}

}

?>

我們在VIEW中新增一個login.php頁面檔:

<title>登入</title>

<meta charset="UTF-8">

<style>

.container{

margin: 10% 30% auto;

}

</style>

<div class="container">

<form action="?" method="post">

帳號:<input type="text" name="account"><br>

密碼:<input type="password" name="password"><br>

<input type="submit" value="送出">

</form>

</div>

這樣我們的簡易帳號驗證就可以了,

首先我們先執行index.php/users/insert將帳號密碼鍵入資料庫,

接著進入index.php/users/login打我的們帳號密碼這邊建立的皆設為456,

送出後我們就可以看到我們到了訊息列表的頁面了,

如果失敗我們會再回到登入的頁面,

以上的程式碼是不是很簡單,

我們在做這個的時候可以很簡易的就去達到帳號驗證的功能,

當然還有一些比較複雜的功能也是可以使用但我今天就介紹到這邊。


上一篇
鐵人賽 Day 29 使用者驗證
系列文
初學laravel30

尚未有邦友留言

立即登入留言