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增删改查实例】第十六节 - 用户新增的更多相关文章

  1. 【php增删改查实例】第六节 - 部门管理模块(开始)

    sql建表语句详见:https://www.jianshu.com/p/c88077ed9073 1.新建html模板 新建一个空白的txt文档,然后把后缀名改为.html 用任意一个编辑器打开,比如 ...

  2. 【php增删改查实例】第二十一节 - 用户修改功能

    19.1 添加用户修改的按钮 打开userManage.html,找到新增按钮的地方: 我们不难发现,编辑按钮就差不多应该在新建用户的右边. 那么,假如我现在是新人,对这个项目本身就不太熟悉,那么我得 ...

  3. 【php增删改查实例】第十七节 - 用户登录(1)

    新建一个login文件,里面存放的就是用户登录的模块. <html> <head> <meta charset="utf-8"> <sty ...

  4. 【php增删改查实例】第四节 -自己 DIY 一个数据库管理工具

    本节介绍如何自己DIY一个数据库管理工具,可以在页面输入sql 进行简单的增删改查操作. 首先,找到xampp的安装目录,打开htdocs: 新建一个php文件,名称为 mysqladmin.php ...

  5. 【php增删改查实例】第十一节 - 部门管理模块(编辑功能)

    9. 编辑部门功能的实现 思路:只允许用户勾选一条数据,点击编辑按钮,会跳出一个和新增数据类似的对话框.然后,用户可以修改部门名称和部门编码.点击保存按钮,提示修改成功. 9.1 前台代码编写 < ...

  6. 【php增删改查实例】第五节 - easyUI的基本使用

    1. 列表组件 datagrid 1.1 创建一个grid.html <html> <head> <meta charset="utf-8" /> ...

  7. 【php增删改查实例】第七节 - 部门管理模块(画一个datagrid表格)

    在easyui中,datagrid组件需要用一个table标签去渲染. <table id="grid0" title="部门管理" class=&quo ...

  8. python链接oracle数据库以及数据库的增删改查实例

    初次使用python链接oracle,所以想记录下我遇到的问题,便于向我这样初次尝试的朋友能够快速的配置好环境进入开发环节. 1.首先,python链接oracle数据库需要配置好环境. 我的相关环境 ...

  9. java:JSP(JSPWeb.xml的配置,动态和静态导入JSP文件,重定项和请求转发,使用JSP实现数据库的增删改查实例)

    1.JSP的配置: <%@ page language="java" import="java.util.*" pageEncoding="UT ...

随机推荐

  1. .Net Core(二)EFCore

    ​EFCore与之前的EF基本类似,区别在于配置的时候有一些差异:也取消了DB First和Model First,仅保留广泛使用的Code First模式:也不再支持LazyLoad.这里就感受一下 ...

  2. WRT 下 C++ wstring, string, String^ 互转

    由于项目原因,需要引入C++. wstring 与 string 的互转研究了一段时间,坑主要在于使用下面这种方式进行转换,中文会乱码 wstring ws = L"这是一段测试文字&quo ...

  3. Collections工具类

    Collections 是一个操作 Set.List 和 Map 等集合的工具类. Collections 中提供了一系列静态的方法对集合元素进行排序.查询和修改等操作,还提供了对集合对象设置不可变. ...

  4. python第九天----今天来晚了!

    作业 1. HAproxy配置文件操作1. 根据用户输入输出对应的backend下的server信息2. 可添加backend 和sever信息3. 可修改backend 和sever信息4. 可删除 ...

  5. windows server 2008额外域控提升为主域控

    windows server 2008额外域控提升为主域控 ---图形界面操作方法 https://blog.csdn.net/tladagio/article/details/79618338 wi ...

  6. Windows结构化异常处理浅析

    近期一直被一个问题所困扰,就是写出来的程序老是出现无故崩溃,有的地方自己知道可能有问题,但是有的地方又根本没办法知道有什么问题.更苦逼的事情是,我们的程序是需要7x24服务客户,虽然不需要实时精准零差 ...

  7. 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] ...

  8. ArcEngine中加载ArcGIS Server地图服务

    代码如下: private void addMapServerLayer(object sender, EventArgs e)  {             IActiveView pActiveV ...

  9. 捕获海康威视IPCamera图像,转成OpenCV能够处理的图像(二)

    海康威视IPCamera图像捕获 捕获海康威视IPCamera图像.转成OpenCV能够处理的IplImage图像(一) 捕获海康威视IPCamera图像.转成OpenCV能够处理的IplImage图 ...

  10. innerHTML、innerText和outerHTML、outerText的区别

    区别描述如下: innerHTML 设置或获取位于对象起始和结束标签内的 HTML outerHTML 设置或获取对象及其内容的 HTML 形式 innerText 设置或获取位于对象起始和结束标签内 ...