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,
送出後我們就可以看到我們到了訊息列表的頁面了,
如果失敗我們會再回到登入的頁面,
以上的程式碼是不是很簡單,
我們在做這個的時候可以很簡易的就去達到帳號驗證的功能,
當然還有一些比較複雜的功能也是可以使用但我今天就介紹到這邊。