欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ThinkPHP之用戶注冊(cè)登錄留言完整實(shí)例

 更新時(shí)間:2014年07月22日 09:13:22   投稿:shichen2014  
這篇文章主要介紹了ThinkPHP之用戶注冊(cè)登錄留言完整實(shí)例,有助于詳細(xì)了解ThinkPHP的運(yùn)作流程,需要的朋友可以參考下

本文以實(shí)例形式講述ThinkPHP實(shí)現(xiàn)的包括用戶的注冊(cè)、登錄以及留言等功能,這里需要大家注意的是,在存在用戶模型的情況下實(shí)例化一個(gè)用戶類的時(shí)候使用D方法來實(shí)現(xiàn)。
 
UserActiion.class.php頁面:

<?php
class UserAction extends Action{
public function add(){
$user = D("user");
$user->create();
$result = $user->add();
if($result){
$this->assign("jumpUrl","__APP__/index/index");
$this->success('注冊(cè)成功!');
}else{
//echo $user->getError();
$this->assign("jumpUrl","__APP__/user/register");
$this->error($user->getError());
}
}
public function register(){
$this->display();
}
public function login(){
$this->display();
}
public function checklogin(){
$username = $_POST['username'];
$passwd = $_POST['passwd'];
$user = D("user");
//$User->where('id=8')->find();這里的where 語句要注意一下,如果是其他字段的話后面一定要有單引號(hào)
$userinfo = $user->where("username ='$username'")->find();
if(!empty($userinfo)){
if($userinfo['passwd'] == $passwd){
Cookie::set('userid',$userinfo['id'],time()+3600*24);
Cookie::set('username',$username,time()+3600*24);
Cookie::set('lastlogintime',time(),time()+3600*24);
$this->assign("jumpUrl","__APP__/index/index");
$this->success('登陸成功!');
}else{
$this->assign("jumpUrl","__APP__/user/login");
$this->error('密碼出錯(cuò),請(qǐng)重新輸入!');
}
}else{
$this->assign("jumpUrl","__APP__/user/login");
$this->error('用戶名不存在!');
}
}
public function loginout(){
Cookie::delete('username');
Cookie::delete('lastlogintime');
$this->assign("jumpUrl","__APP__/index/index");
$this->success('您已經(jīng)成功退出,歡迎您的下次登錄!');
}
}
 

IndexAction.class.php頁面:

<?php
// 本類由系統(tǒng)自動(dòng)生成,僅供測(cè)試用途
class IndexAction extends Action{
public function insert() {   
$content = new ContentModel();
$result = $content->create();
if(!$result){
$this->assign("jumpUrl","__URL__/index");
$this->error($content->getError());//如果創(chuàng)建失敗,表示驗(yàn)證沒有通過,輸出錯(cuò)誤信息
}else{//驗(yàn)證通過,進(jìn)行其他操作
$content->userid=Cookie::get('userid');
$content->add();
$this->assign("jumpUrl","__URL__/index");
$this->success('添加成功!');
}
} 
// 數(shù)據(jù)查詢操作  
public function index() {
$content = new ContentModel();
$list = $content->findAll();  
//用戶的cookie
$username = Cookie::get('username');
$lastlogintime = Cookie::get('lastlogintime');
$this->assign('list',$list);    
$this->assign('title','我的首頁');
$this->assign('username',$username);
$this->assign('lastlogintime',$lastlogintime);
$this->display();  
} 
// 刪除操作
public function delete(){
$content = new ContentModel();
$id = $_GET['id'];
if($content->where("id=$id")->delete()){
$this->assign("jumpUrl","__URL__/index");
$this->success('刪除成功!');
}else{
$this->assign("jumpUrl","__URL__/index");
$this->error('刪除失?。?);
}
} 
// 編輯操作
public function edit(){
$content = new ContentModel();
$id = $_GET['id'];
if($id != '')
{
//$data = $content->select($id);
$data = $content->where("id=$id")->select();
if(!empty($data)){
$this->assign('data',$data);
}else{
echo "數(shù)據(jù)為空!";
}
}
$this->assign('title','編輯頁面');
$this->display();
}
// 更新操作
public function update(){
$content = new ContentModel();
//直接使用create(),自動(dòng)會(huì)幫你進(jìn)行數(shù)據(jù)的傳值
/*$content->create();
$content->save(); // 根據(jù)條件保存修改的數(shù)據(jù)
echo "更新數(shù)據(jù)成功!";*/
// 使用post 傳值過來,進(jìn)行更新
$id = $_POST['id'];
if($id != '')
{
$data['id'] = $id;
$data['title'] = $_POST['title'];
$data['content'] = $_POST['content'];
if($content->save($data))// 根據(jù)條件保存修改的數(shù)據(jù)
{
$this->assign("jumpUrl","__URL__/index");
$this->success('更新數(shù)據(jù)成功!');
}
else{
$this->assign("jumpUrl","__URL__/index");
$this->success('更新數(shù)據(jù)失敗!');
}
}else
{
echo "保存數(shù)據(jù)失??!";
}
}
}
?>
 

ContentModel.class.php頁面:

<?php
class ContentModel extends Model{
/*
* 自動(dòng)驗(yàn)證
* array(驗(yàn)證字段,驗(yàn)證規(guī)則,錯(cuò)誤提示,驗(yàn)證條件,附加規(guī)則,驗(yàn)證時(shí)間)
*/ 
protected $_validate = array(
array('title','require','標(biāo)題必須填寫!'),
array('content','require','內(nèi)容必須填寫!'), 
);
/* 
* 自動(dòng)填充
* array(填充字段,填充內(nèi)容,填充條件,附加規(guī)則)
*/
protected $_auto = array(
array('addtime','time',1,'function'),
);
}
?>

UserModel.class.php頁面:

<?php
class UserModel extends Model{
protected $_validate = array(
array('username','','帳號(hào)名稱已經(jīng)存在!',0,'unique',1), 
);  
}
?>

 
這里需要注意的是,使用自動(dòng)驗(yàn)證的時(shí)候 實(shí)例化時(shí)要用 $user = D("user") 而不能用 $user = M("user"),用M這種方法會(huì)報(bào)錯(cuò),D函數(shù)用于實(shí)例化Model,M函數(shù)用戶實(shí)例化一個(gè)沒有模型的文件。
 
success.html頁面:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="refresh" content="20; url='{$jumpUrl}'" />
<title>信息提示</title>
</head>
<body>
<div id="man_zone">
<table width="40%" border="1" align="center" cellpadding="3" cellspacing="0" class="table" style="margin-top:100px;">
<tr>
<th align="center" style="background:#cef">信息提示</th>
</tr>
<tr>
<td><p>{$message}<br />
2秒后返回指定頁面!<br />
如果瀏覽器無法跳轉(zhuǎn),<a href="{$jumpUrl}" rel="external nofollow" >請(qǐng)點(diǎn)擊此處</a>。</p></td>
</tr>
</table>
</div>
</body>
</html>

相關(guān)文章

  • yii用戶注冊(cè)表單驗(yàn)證實(shí)例

    yii用戶注冊(cè)表單驗(yàn)證實(shí)例

    這篇文章主要介紹了yii用戶注冊(cè)表單驗(yàn)證,以實(shí)例形式詳細(xì)分析了基于yii框架的用戶注冊(cè)表單驗(yàn)證功能模型,視圖及控制器層具體實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2015-12-12
  • PHP樹-不需要遞歸的實(shí)現(xiàn)方法

    PHP樹-不需要遞歸的實(shí)現(xiàn)方法

    下面小編就為大家?guī)硪黄狿HP樹-不需要遞歸的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-06-06
  • 30個(gè)php操作redis常用方法代碼例子

    30個(gè)php操作redis常用方法代碼例子

    這篇文章主要介紹了30個(gè)php操作redis常用方法代碼例子,本文其實(shí)不止30個(gè)方法,可以操作string類型、list類型和set類型的數(shù)據(jù),需要的朋友可以參考下
    2014-07-07
  • php短視頻源碼之瀑布流分割線左右間距問題及解決代碼

    php短視頻源碼之瀑布流分割線左右間距問題及解決代碼

    這篇文章給大家介紹php短視頻源碼,瀑布流分割線左右間距問題解決的相關(guān)代碼,代碼簡單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-09-09
  • PHP生成自定義長度隨機(jī)字符串的函數(shù)分享

    PHP生成自定義長度隨機(jī)字符串的函數(shù)分享

    這篇文章主要介紹了PHP生成自定義長度隨機(jī)字符串的函數(shù)分享,需要的朋友可以參考下
    2014-05-05
  • php獲取淘寶分類id示例

    php獲取淘寶分類id示例

    這篇文章主要介紹了使用php獲取淘寶分類id的方法,大家參考使用吧
    2014-01-01
  • Laravel中如何增加自定義全局函數(shù)詳解

    Laravel中如何增加自定義全局函數(shù)詳解

    在我們的應(yīng)用里經(jīng)常會(huì)有一些全局都可能會(huì)用的函數(shù),我們應(yīng)該怎么自定義它比較好呢?字啊么這篇文章主要給大家介紹了在Laravel中如何增加自定義全局函數(shù)的相關(guān)資料,文中給出了兩種實(shí)現(xiàn)方法,需要的朋友可以參考,下面來一起看看吧。
    2017-05-05
  • Laravel框架生命周期與原理分析

    Laravel框架生命周期與原理分析

    這篇文章主要介紹了Laravel框架生命周期與原理,結(jié)合實(shí)例形式總結(jié)分析了Laravel框架針對(duì)用戶請(qǐng)求響應(yīng)的完整運(yùn)行周期、流程、原理,需要的朋友可以參考下
    2018-06-06
  • Laravel框架實(shí)現(xiàn)多數(shù)據(jù)庫連接操作詳解

    Laravel框架實(shí)現(xiàn)多數(shù)據(jù)庫連接操作詳解

    這篇文章主要介紹了Laravel框架實(shí)現(xiàn)多數(shù)據(jù)庫連接操作,結(jié)合實(shí)例形式詳細(xì)分析了Laravel框架連接2個(gè)數(shù)據(jù)庫的具體操作步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-07-07
  • PHP模板引擎Smarty內(nèi)建函數(shù)section,sectionelse用法詳解

    PHP模板引擎Smarty內(nèi)建函數(shù)section,sectionelse用法詳解

    這篇文章主要介紹了PHP模板引擎Smarty內(nèi)建函數(shù)section,sectionelse用法,結(jié)合實(shí)例形式詳細(xì)分析了section,sectionelse進(jìn)行循環(huán)處理的技巧與使用方法,需要的朋友可以參考下
    2016-04-04

最新評(píng)論