• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

ThinkPHP 自动创建数据、自动验证、自动完成详细例证介绍(十九)

php 搞代码 4年前 (2022-01-24) 20次浏览 已收录 0个评论

ThinkPHP 自动创建数据、自动验证、自动完成详细例子介绍(十九)


1:自动创建数据

//$name=$_POST[‘name’];
//$password=$_POST[‘password’]; —这个注册页面传过来的POST值
下面用了自动穿件create方法就可以不用这个,会行动绑定
$user =M(‘User’);
$User->create(); //会将传过来的$_POST数据对应到数据库的字段
$user->add(); //就可以直接写入

2:自动验证(只需要在Model类里面定义$_validate属性)

使用步骤(注册验证User表)


一:创建User表自定义的Mode —>Home\Lib\Model\UserModel.class.php
<?php
//注意:code username password….都是你表单里面的name值,要对应
//表单里面字段名字定义的
class UserModel extends Model{
protected $_validate=array(
array(‘code’,’require’,’验证码必须填写!’),
array(‘code’,’checkCode‘,’验证码错误!’,0,’callback’,1), //使用回调函数checkCode
array(‘username’,’require’,’用户必须填写!’),
array(‘username’,”,’用户已经存在’,0,’unique’,1),
array(‘username’,’/^\w{6,}$/’,’用户名必须6个字母以上’,0,’regex’,1),
array(‘repassword’,’password’,’确认密码不正确’,0,’confirm’),
);

protected functioncheckCode($code){
if(md5($code)!=$_SESSION[‘code’]){
return false;
}else{
return本文来源gaodai#ma#com搞*!代#%^码$网!搞代gaodaima码 true;
}
}
}
?>

//控制请值对应的注册方法
<?php
class RegisterAction extends Action{
public function doReg(){

$user=D(‘User’); //大D方法是会先去找你自定义的Mode,(使用上面创建的UserModel.class.php类)
//如果有有自定义的用自定义的,否则用原始的 D等同M M!=D

if(!$user->create()){//会自动去验证 返回一个布尔类型,成功则自动创建数据
$this->error($user->getError());//获取具体错误信息
}
$lastId=$user->add();
if($lastId){
$this->redirect(‘Index/index’);
}else{
$this->error(‘用户注册失败’);
}

}
}
?>

3:自动完成(做留言的例子)
步骤:
一:创建Message表自定义的Mode —>Home\Lib\Model\MessageModel.class.php
<?php
class MessageModel extends RelationModel{
protected $_auto=array(
array(‘time’,’time’,1,’function’),
array(‘uid’,’getId‘,1,’callback’)

);
protected functiongetId(){
return $_SESSION[‘id’];
}
}
?>
二:控制器中
<?php
class MessageAction extends Action{
public function doLiuyan(){
$message=D(‘Message’);
//$message->time=time();
//$message->uid=$_SESSION[‘id’]; 这2个值将在自定义MessageModel中自动填充完成

$message->add(); //返回值是新增的id号
}
}
?>


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:ThinkPHP 自动创建数据、自动验证、自动完成详细例证介绍(十九)

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址