您的位置:首页 > 编程语言 > PHP开发

cakephp用户登录验证实例

2008-03-10 11:01 459 查看
/app/controllers/user_controller.php

<?
class UserController extends AppController {
var $uses=array('user');
function index(){

}
function login(){
if(!empty($this->data['user'])){
//$this->user->name=$this->data['user']['name'];
$user=$this->user->find("user.name='".$this->data['user']['name']."'");
print_r($user);
$user=$user['user'];
print_r($user);
if($user['password']==md5($this->data['user']['password'])){
$this->Session->write('login',1);
$this->flash('login suss!!','/user');
}else{
if(!$user['id']){
$this->flash('no this user!!','/user');
}else{
$this->flash('name or pass is wrong!!','/user');
}
}
}else{
$this->flash('need name and password!!','/user');
}
exit();
}
function logout(){
if($this->Session->check('login')){
$this->Session->del('login');
}
$this->flash('logout ok ','/user');
exit();
}
function reset(){
$name='aaa';
$pass='aaa';
$user=$this->user->findByName($name);
if($user['user']['id']){
$this->user->set($user);
}else{
$this->user->set('name',$name);
$this->user->set('password',md5($pass));
}
$ret=$this->user->save();
if($ret){
$this->flash('update ok!!','/user');
}else{
$this->flash('update ok!!','/user');
}
}
}
?>

/app/models/user.php

<?
class User extends AppModel {
var $name="user";
var $useTable='users';
}
?>

/app/views/user/index.view

<?if ($this->controller->Session->read('login')!=1):?>
<?echo $html->formTag('/user/login');?>
<?echo $html->input('user/name');?><br>
<?echo $html->password('user/password');?><br>
<?echo $html->submit('submit');?>
</form>
<?else:?>
<?endif?>

简单的用户验证 试用$model->findByFields(); 可以用model表中任意字段查询
$model->set($data);
$model->set($key,$value);
可以将查询结果直接set 后 save 如果有 主键值 会update ,如果没有 会insert到表里面。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: