ThinkPHP框架实现数据添加与显示的完整步骤
本文将详细讲解如何利用ThinkPHP框架完成数据的添加与展示功能,通过标准的MVC架构模式,分别处理前端页面输入、后端数据验证及业务逻辑控制。
项目目标与注意事项
本次开发的目标是实现在“add”页面录入用户信息并提交后,能够在“lists”页面查询并显示新添加的数据。在进行文件命名时需注意,由于ThinkPHP框架内部已占用 list 字段作为保留关键字,因此在创建相关模板或控制器时,严禁使用 list.html 等含有该命名的文件名,建议使用 lists.html 以避免冲突。
预期的最终界面效果如下:
第一步:搭建前端输入表单(V - View层)
首先构建视图部分,利用HTML表单收集用户信息并通过POST方式提交至指定的控制器方法。以下是包含用户名、姓名、联系方式及密码的完整表单代码结构:
<form role="form" method="post" action="__MODULE__/Admin/User/doAdd">
<div class="input-group"> <span class="input-group-addon">用户名:</span>
<input type="text" class="form-control" placeholder="" name="username">
</div>
<div class="input-group "> <span class="input-group-addon" for="inputWarning1">真实姓名:</span>
<input type="text" class="form-control" placeholder="" id="input" name="realname">
</div>
<div class="input-group"> <span class="input-group-addon">手机号码:</span>
<input type="text" class="form-control" placeholder="" name="telphone">
</div>
<div class="input-group"> <span class="input-group-addon">电子邮箱:</span>
<input type="text" class="form-control" placeholder="" name="email">
</div>
<div class="input-group"> <span class="input-group-addon">添加时间:</span>
<input type="text" class="form-control" placeholder="2014-05-22" name="resgistertime">
</div>
<div class="input-group"> <span class="input-group-addon">设置密码:</span>
<input type="text" class="form-control" placeholder="123456" name="password">
</div>
<div class="input-group"> <span class="input-group-addon">确认密码:</span>
<input type="text" class="form-control" placeholder="123456" name="repassword">
</div>
<div class="input-group">
<button type="submit" class="btn btn-primary "> 保存 </button>
</div>
</form>
第二步:配置数据验证规则(M - Model层)
Model层主要负责数据的合法性检查,通过定义自动验证规则来拦截无效输入并返回明确的错误提示。在 AdminUsersModel 类中配置必填项校验:
<?php
namespace Admin\Model;
use Think\Model;
class AdminUsersModel extends Model {
public $_validate = array (
array("username", "require", "用户名不能为空"),
array("realname", "require", "真实姓名不能为空"),
array("password", "require", "密码不能为空"),
array("repassword", "require", "确认密码不能为空"),
array("telphone", "require", "电话不能为空"),
array("email", "require", "邮箱不能为空"),
array("resgistertime", "require", "注册时间不能为空")
);
}
第三步:编写业务逻辑控制(C - Controller层)
最后实现Controller层的两个核心方法:add 用于渲染添加页面,doAdd 负责接收POST请求、实例化模型、执行验证并处理入库逻辑。
public function add(){
$this->display();
}
public function doAdd(){
// 限制仅允许POST请求
if (!IS_POST) {
exit("bad request!");
}
// 实例化AdminUsers模型
$adminUsersModel = D("AdminUsers");
// 尝试创建对象,此处会触发Model层的验证规则
if (!$adminUsersModel->create()) {
$this->error($adminUsersModel->getError());
}
// 执行添加操作
if ($adminUsersModel->add()) {
// 成功后跳转至列表页
$this->success("添加成功!",U("Admin/User/lists"));
}
else{
$this->error("添加失败!");
}
}
以上就是利用ThinkPHP框架实现数据添加和显示的详细内容,更多关于PHP框架开发的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













