一 創建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 '提交失敗';
}

?>

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章