【php增删改查实例】第十六节 - 用户新增
6.1工具栏
<div id="toolbar">
<a href="javascript:openDialog()" class="easyui-linkbutton" iconCls="icon-add" plain="true">新建用户</a>
</div>
6.2新增面板
<div id="dialog0" class="easyui-dialog" style="width:500px;height:300px;padding:10px 20px;" closed="true"
data-options="title:'用户新增'" buttons="#dialog0-buttons">
<!-- 在对话框中画一个简单的表达组件 -->
<form id="form0" method="post">
<table cellspacing="5px;" cellpadding="0px">
<tr>
<td>用户名:</td>
<td><input type="text" id="username" name="username" class="easyui-validatebox" required="true"/></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" id="password" name="password" class="easyui-validatebox" required="true"/></td>
</tr>
<tr>
<td>昵称:</td>
<td><input type="text" id="nickname" name="nickname" class="easyui-validatebox" required="true"/></td>
</tr>
</table>
</form>
</div>
<div id="dialog0-buttons">
<a href="javascript:save();" class='easyui-linkbutton' iconCls="icon-ok">保存</a>
</div>
6.3点击新增按钮就打开新增面板
function openDialog(){
$("#dialog0").dialog("open");
}
6.4保存方法
//保存方法
function save(){
$("#form0").form("submit",{
//提交的目标服务器地址
url : "save.php" ,
//验证表单内元素是否有效?
onSubmit : function(){
return $(this).form("validate");
} ,
//如果服务器成功返回数据,就会启动这个方法
//参数data就是服务器返回的数据
success : function(data){
data = eval("("+data+")");
if(data.errCode < 0){
$.messager.alert("系统提醒",data.errMsg);
return;
}
$.messager.alert("系统提醒","保存成功!");
$("#grid0").datagrid("reload");
$("#dialog0").dialog("close");
}
});
}
6.5保存用户后台编写
6.6保存用户的时候不允许用户名重复
6.6.1新增
<?php
//连接MySQL数据库
$conn = mysql_connect("localhost","root","");
$db = mysql_select_db("test",$conn);
mysql_query("set names utf8");
//设置一个返回对象
$resultData = array();
$resultData["errCode"] = 0;
$resultData["errMsg"] = "";
if(isset($_POST["id"]) && $_POST["id"] != null){
//修改
}else{
//新增
$username = $_POST["username"];
$password = $_POST["password"];
$nickname = $_POST["nickname"];
$sql = "insert into tm_users values (NULL,'$username','$password','$nickname',now(),now(),0)";
//用户名非重复检测
$rs = mysql_query("select count(1) as total from tm_users where username = '$username';");
while($row = mysql_fetch_array($rs)){
if($row["total"] > 0){
$resultData["errCode"] = -1;
$resultData["errMsg"] = "用户名重复!";
echo json_encode($resultData);
return;
}
}
//执行新增操作
mysql_query($sql) or die(err());
echo json_encode($resultData);
}
function err(){
$resultData["errCode"] = -1;
$resultData["errMsg"] = mysql_error();
echo json_encode($resultData);
return;
}
?>
6.7密码加密
做一个优化,因为目前的密码虽然在页面上用 * 表示,但是只要是懂一点编程的人,都知道用浏览器的抓包工具去查看泛泰返回的数据。

其实,一劳永逸的方法,就是保存密码的时候就把你这个密码进行加密。这样一来,我们存到数据库里面的密码就已经是加密过的字符串。
方法:
$password = md5 ( $_POST["password"] );
源码获取:https://www.jianshu.com/p/4977bd0073d5
【php增删改查实例】第十六节 - 用户新增的更多相关文章
- 【php增删改查实例】第六节 - 部门管理模块(开始)
sql建表语句详见:https://www.jianshu.com/p/c88077ed9073 1.新建html模板 新建一个空白的txt文档,然后把后缀名改为.html 用任意一个编辑器打开,比如 ...
- 【php增删改查实例】第二十一节 - 用户修改功能
19.1 添加用户修改的按钮 打开userManage.html,找到新增按钮的地方: 我们不难发现,编辑按钮就差不多应该在新建用户的右边. 那么,假如我现在是新人,对这个项目本身就不太熟悉,那么我得 ...
- 【php增删改查实例】第十七节 - 用户登录(1)
新建一个login文件,里面存放的就是用户登录的模块. <html> <head> <meta charset="utf-8"> <sty ...
- 【php增删改查实例】第四节 -自己 DIY 一个数据库管理工具
本节介绍如何自己DIY一个数据库管理工具,可以在页面输入sql 进行简单的增删改查操作. 首先,找到xampp的安装目录,打开htdocs: 新建一个php文件,名称为 mysqladmin.php ...
- 【php增删改查实例】第十一节 - 部门管理模块(编辑功能)
9. 编辑部门功能的实现 思路:只允许用户勾选一条数据,点击编辑按钮,会跳出一个和新增数据类似的对话框.然后,用户可以修改部门名称和部门编码.点击保存按钮,提示修改成功. 9.1 前台代码编写 < ...
- 【php增删改查实例】第五节 - easyUI的基本使用
1. 列表组件 datagrid 1.1 创建一个grid.html <html> <head> <meta charset="utf-8" /> ...
- 【php增删改查实例】第七节 - 部门管理模块(画一个datagrid表格)
在easyui中,datagrid组件需要用一个table标签去渲染. <table id="grid0" title="部门管理" class=&quo ...
- python链接oracle数据库以及数据库的增删改查实例
初次使用python链接oracle,所以想记录下我遇到的问题,便于向我这样初次尝试的朋友能够快速的配置好环境进入开发环节. 1.首先,python链接oracle数据库需要配置好环境. 我的相关环境 ...
- java:JSP(JSPWeb.xml的配置,动态和静态导入JSP文件,重定项和请求转发,使用JSP实现数据库的增删改查实例)
1.JSP的配置: <%@ page language="java" import="java.util.*" pageEncoding="UT ...
随机推荐
- .Net Core(二)EFCore
EFCore与之前的EF基本类似,区别在于配置的时候有一些差异:也取消了DB First和Model First,仅保留广泛使用的Code First模式:也不再支持LazyLoad.这里就感受一下 ...
- WRT 下 C++ wstring, string, String^ 互转
由于项目原因,需要引入C++. wstring 与 string 的互转研究了一段时间,坑主要在于使用下面这种方式进行转换,中文会乱码 wstring ws = L"这是一段测试文字&quo ...
- Collections工具类
Collections 是一个操作 Set.List 和 Map 等集合的工具类. Collections 中提供了一系列静态的方法对集合元素进行排序.查询和修改等操作,还提供了对集合对象设置不可变. ...
- python第九天----今天来晚了!
作业 1. HAproxy配置文件操作1. 根据用户输入输出对应的backend下的server信息2. 可添加backend 和sever信息3. 可修改backend 和sever信息4. 可删除 ...
- windows server 2008额外域控提升为主域控
windows server 2008额外域控提升为主域控 ---图形界面操作方法 https://blog.csdn.net/tladagio/article/details/79618338 wi ...
- Windows结构化异常处理浅析
近期一直被一个问题所困扰,就是写出来的程序老是出现无故崩溃,有的地方自己知道可能有问题,但是有的地方又根本没办法知道有什么问题.更苦逼的事情是,我们的程序是需要7x24服务客户,虽然不需要实时精准零差 ...
- HEU预热赛
A题: 一道dp的题目 dp[i][j] = k 代表 i行放j个棋子有k中可能 dp[i][j] = dp[i-1][0] + dp[i-1][1] + dp[i-1][2] +...dp[i-1] ...
- ArcEngine中加载ArcGIS Server地图服务
代码如下: private void addMapServerLayer(object sender, EventArgs e) { IActiveView pActiveV ...
- 捕获海康威视IPCamera图像,转成OpenCV能够处理的图像(二)
海康威视IPCamera图像捕获 捕获海康威视IPCamera图像.转成OpenCV能够处理的IplImage图像(一) 捕获海康威视IPCamera图像.转成OpenCV能够处理的IplImage图 ...
- innerHTML、innerText和outerHTML、outerText的区别
区别描述如下: innerHTML 设置或获取位于对象起始和结束标签内的 HTML outerHTML 设置或获取对象及其内容的 HTML 形式 innerText 设置或获取位于对象起始和结束标签内 ...