4,251
社区成员
发帖
与我相关
我的任务
分享
login.html 代码如下
<form action="__SELF__" method="post">
用户名:<input type="text" name="username"/>
密码:<input type="password" name="password"/>
<br>
<button type="submit" >登录</button>
</form>
LoginController.class.php中相关代码如下
public function login()
{
// 判断提交方式
if (IS_POST) {//$a=$_POST["username"];echo $a;die;
// 实例化Login对象
$login = D('login');//echo "<pre>";print_r($login);die;
//$data = $login->create();echo "<pre>";print_r($data);die;
// 自动验证 创建数据集
$data = $login->create();/////////////////////////////////////////////////////////////////////////////////////
// 组合查询条件
echo "<pre>";print_r($data);die;
//$data['username']="lx";
$where = array();
$where['user_name'] = $data['username'];
$result = $login->where($where)->field('id,user_name,cn_name,pass_word,login_time,login_ip')->find();
// 验证用户名 对比 密码
if ($result && $result['password'] == $result['password']) {
LoginModel.class.php 代码如下:
<?php
namespace Home\Model;
use Think\Model;
class LoginModel extends Model {
// 重新定义表
protected $tableName = 'users';
/**
* 自动验证
* self::EXISTS_VALIDATE 或者0 存在字段就验证(默认)
* self::MUST_VALIDATE 或者1 必须验证
* self::VALUE_VALIDATE或者2 值不为空的时候验证
*/
protected $_validate = array(
array('username', 'require', '用户名不能为空!'), //默认情况下用正则进行验证
array('password', 'require', '登录密码不能为空!'), // 默认情况下用正则进行验证
//array('verify', 'verify_check', '验证码错误', 0, 'function'), // 判断验证码是否正确
);
/**
* 自动完成
*/
protected $_auto = array (
/* 登录的时候自动完成 */
array('password', 'md5', 3, 'function') , // 对password字段使用md5函数处理
array('lastdate', 'time', 1, 'function'), // 对lastdate字段在登录的时候写入当前时间戳
array('lastip', 'get_client_ip', 1, 'function'), // 对lastip字段在登录的时候写入当前登录ip地址
);
}