一 创建form表单并实现后台数据的增删改查

思路:form表单创建,提交后上传用户信息到数据库,创建后台,可实现增删改查。

1     enroll.php     <实现form表单的创建,并且可以提交到数据库中>

<!DOCTYPE html>
<html>
<head>
    <meta charset = 'utf-8'/>
    <title>用户注册</title>
</head>
<body>

<form  name = "form1" action = "dataconn.php" onsubmit="return a()" method="post" enctype="multipart/form-data">
    <!-- 提交表单到dataconn.php中、dataconn.php实现连接数据库,并将用户信息插入到数据库,传送的方式是post 
    onsubmit 提交的时候先验证 在script 标签中的a函数-->
    <!-- 上传的含有非文本内容 如图像  用enctype 编码方式-->-->
    
    姓名:<br/>
    <input type = "text" name = "name" />
    <br/><br/>

    性别:<br/>
            <input  type="radio" checked="checked" name="sex" value = "男"/>男

            <input  type="radio"  name="sex" value = "女" />女
    <!-- checked 属性是默认选中  两个的name相同,说明两个用的是一个单选按钮 -->
    <br/><br/>

    爱好:<br/>
    <input type = "checkbox" name = "interest[]" value = "跑步" checked = "checked"/>跑步
    <input type = "checkbox" name = "interest[]" value = "健身" checked = "checked"/>健身
    <input type = "checkbox" name = "interest[]" value = "攀岩"/>攀岩
    <input type = "checkbox" name = "interest[]" value = "听音乐"/>听音乐
    <input type = "checkbox" name = "interest[]" value = "读书"/>读书
    <br/><br/>

    手机号:<br/>
    <input type = "text" name = "mobile"/>
    <br/><br/>

    邮箱:<br/>
    <input type = "text" name = "email"/>
    <br/><br/>

    选择头像:
    <input type = "file" name = "files" />
    <br/><br/>
    
    备注:<br/>
    <textarea name = "remark"  cols = "40" rows = "7"></textarea>
    <br/><br/>
    
    <input type = "reset" name = "reset" value = "重置信息" style="height:30px;width:70px;"/>
    <br/><br/>
    <input type = "submit" name = "submit"  value = "提交信息" style="height:30px;width:70px;"/>
    <!--会提交最上面form action 后面的路径中去,在由.php 文件去处理收到的数据-->
    <br/><br/>

    <input type = "button" name = "button1" value = "退出" onclick = "window.close()" style="height:30px;width:70px;"/>
    <br/><br/>
    <!--添加的onclick 只要点击就会退出页面-->
</form>

<script>
//    进行用户输入信息验证
    function a() {
        var x = document.forms["form1"]["name"].value;
        if (x==null || x== ""){
            alert("请输入名字");
            return false;//
        }
        
        var z=document.forms["form1"]["mobile"].value;//得到手机号
        var r = /^1[34758][0-9]\d{8}$/;
        if(!r.test(z)){
            alert("请输入正确的手机号");
            return false;
        }

        var y=document.forms["form1"]["email"].value;
        var atpos=y.indexOf("@");
        var dotpos=y.lastIndexOf(".");
        if (atpos<1 || dotpos<atpos+2 || dotpos+2>=y.length){
            alert("请输入正确的邮箱地址");
            return false;
        }

        var c = document.forms["form1"]["files"].value;
        if (c==null || c== ""){
            alert("请选择头像");
            return false;//
        }
    }
</script>
</body>
</html>

2     dataconn.php     <连接数据库并向数据库中插入用户信息  增> 

<?php
//但是首先要在数据库中创建一个表单,在后面会写到,用的是Navicat 软件
header('content-type:text/html; charset=utf-8');
$mysqli = mysqli_connect('localhost','root','3589216','php10');//mysql数据库中自己设置的密码
mysqli_query($mysqli,"set names 'utf8'");
//设置的是数据库的编码方式https://blog.csdn.net/Lewis_lxc/article/details/82731054
if (!$mysqli) {
    printf("Can't connect to MySQL Server. Errorcode: %s ", mysqli_connect_error());
    exit;
}
mysqli_set_charset($mysqli,"utf8");// 修改数据库连接字符集为 utf8

$name = $_POST['name'];//这是从HTML界面传过来的值 enroll.php
$sex = $_POST['sex'];
$remark = $_POST['remark'];
$mobile = $_POST['mobile'];
$interest = $_POST['interest'];
$email = $_POST['email'];
//处理上传的图片文件 
//定义了一个函数,获取后缀名, 应该有更方便的方法,下面用
function GetFiletype($Filename)
{
    if (substr_count($Filename, ".") == 0) { // 检查文件名中是否有.号。
        return; // 返回空
    } else if (substr($Filename, -1) == ".") { // 检查是否以.结尾,即无扩展名
        return; // 返回空
    } else {
        $FileType = strrchr($Filename, "."); // 从.号处切割
        $FileType = substr($FileType, 1); // 去除.号
        return $FileType; // 返回
    }
}

//创建一个函数,可以递归创建多层路径 下面用
function mkdirs($path){
    if(!is_dir($path)){
        mkdirs(dirname($path));
        if(!mkdir($path, 0777)){
            return false;
        }
    }
    return true;
}
if(isset($_FILES[$files])){
    echo  json_encode(array('err'=>'上传文件失败'));
    die;
}else{
    $files = $_FILES['files']['name'] ;//获取传过来的图片名称
    $fileext = getfiletype($files);//由上面的函数,获得后缀名
    $rand_name = date('His',time()).rand(1000,9999);//将传过来的图片重命名
    $filename = $rand_name.'.'.$fileext;//修改后文件的名字
    $path = "/upload/image/".date('Ymd',time());//将图片存储到一个新的路径
    $realpath = ROOT_DIR.'/'.$path.'/';
    mkdirs($realpath);//创建路径,根据上面的函数

    $attach_filesize =filesize($_FILES['files']['tmp_name']) ;
    if($attach_filesize>20*1024*1024){
        echo json_encode(array('err'=>'文件太大'));
        die;
    }
    move_uploaded_file($_FILES['files']['tmp_name'],$realpath.$filename);//将照片移动到新路径
    $fileupload = $realpath.$filename;//将$fileupload 上传到数据库,展示在后台
}

$interest1 =implode(",", $interest);// 由于兴趣是多选 所以要将传过来的数组,变成字符串的形式

$sql = "insert into msg(name1,sex,remark,mobile,interest,email,files) values('{$name}','{$sex}','{$remark}','{$mobile}','{$interest1}','{$email}','{$fileupload}')";
//mysql语句

$res = mysqli_query($mysqli, $sql);//插入

if($res == true ){
    echo '提交成功';
}else{
    echo '提交失败';
}

?>

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值