【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 ...
随机推荐
- android.support不统一的问题
今天supprt28遇到的问题,由于28还是预览版,还存在一些bug 都是因为如果程序内出现不同的,support或者其他外部引用库的多个版本,Gradle在进行合并的时候会使用本地持有的,最高版本的 ...
- mv,rm等命令出现unrecognized option提示的解决方法
出现这个提示,一般是由于命令操作的文件名最前面有"--"字符, 让命令误以为是--开头的长选项 解决: 命令后加上"--", shell把 -- 之后的参数当做 ...
- 13.2、进程的通信:Queue、Pipe、
内容相关: 概念:进程的通信 Queue:创建与使用 Pipe:创建与使用 进程通信的概念 进程的资源空间是相互独立的,一般而言是不能相互访问的.但很多情况下进程间需要互相通信,来完成系统的某项功能. ...
- docker端口映射启动报错Error response from daemon: driver failed programming external connectivity on endpoint jms_guacamole
问题描述:今天跳板机的一个guacamole用docker重新启动报错了 [root@localhost opt]# docker start d82e9c342a Error response / ...
- Linux 小知识翻译 - 「命令行的提示符」
这次,聊聊关于「命令行提示符」的相关内容. bash之类的Shell程序是操作Linux所不可缺少的东西.其中bash的提示符也有承担了很重要的作用. 「命令行提示符」的英文是「command pro ...
- 基础数据类型之AbstractStringBuilder
String内部是一个private final char value[]; 也就意味着每次调用的各种处理方法,返回的字符串都是一个新的,性能上,显然.... 所以,对于可变字符序列的需求是很明确的 ...
- 使用POI转换word doc文件
目录 1 转换为Html文件 2 转换为Xml文件 3 转换为Text文件 在POI中还存在有针对于word doc文件进行格式转换的功能.我们可以将word的内容 ...
- Idea设置快捷键以及修改Eclipse的debug快捷键
Idea强大不多说了,用久了都可以习惯,但是感觉Idea的debug真是不如eclipse好用,Idea的快捷键都是组合键,用着繁琐.两种方法可以设置eclipse的快捷键: 1:直接全局都使用ecl ...
- Vue:渲染、指令、事件、组件、Props
每天学习一点点 编程PDF电子书免费下载: http://www.shitanlife.com/code 如果要我用一句话描述使用 Vue 的经历,我可能会说“它如此合乎常理”或者“它提供给我需要的工 ...
- pku-2909 (欧拉筛)
题意:哥德巴赫猜想.问一个大于2的偶数能被几对素数对相加. 思路:欧拉筛,因为在n<215,在3万多,一个欧拉筛得时间差不多4*104, 那么筛出来的素数有4千多个,那么两两组合直接打表,时间复 ...