【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保存用户后台编写

<?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)";

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

猜你喜欢

转载自www.cnblogs.com/skyblue-li/p/9155004.html