前端代碼
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>添加商品</title> </head> <body> <form> <!-- <p><label for="">選擇分類</label><input type="text" name="typeid" id="typeid" ></p> --> <p> <select name="typeid" id=""> <option value="1">手機</option> <option value="2">筆記本</option> </select> </p> <p><label for="">商品名稱</label><input type="text" name="name"></p> <p><label for="">價格</label><input type="text" name="price"></p> <p><label for="">庫存</label><input type="text" name="stock"></p> <p><label for="">圖片</label><input type="file" name="img"></p> <p><textarea name="desc" id="" cols="30" rows="10"></textarea></p> <button>提交</button> </form> </body> <script src="../../lib/jquery/dist/jquery.min.js"></script> <script src="../Include/js/add.js"></script> <script> $('form').submit(function (e) { var formData = new FormData(this); $.ajax({ url:"../Controller/add.php", type:"post", data:formData, processData:false, contentType:false, success:function(res){ console.log(res); } }) e.preventDefault(); }) </script> </html>
后端代碼
// var formData = new FormData(this); // 把 formData 傳給后端, 數據和文件都是通過表單標簽的 name 屬性值獲取 // 1. 接收表單文本數據 /// $typeid = $_POST['typeid']; // 2. 接收文件 // $_FILES['img'] <?php // 數據庫連接信息 header("content-type:text/html; charset=utf-8"); $servername = "localhost"; $username = "root"; $password = "123456"; $dbname = "emall"; // 1. 獲取表單傳來的數據 $typeid = $_POST['typeid']; $name = $_POST['name']; $price = $_POST['price']; $stock = $_POST['stock']; $desc = $_POST['desc']; // 2. 上傳圖片 // 文件前綴 $prefix = 'goods_'; // 獲取文件后綴 $temp = explode('.', $_FILES['img']['name']); // 切割字符串 $suffix = end($temp); // 返回數組最后一個元素 // 文件名 $img = $prefix . uniqid().'.'.$suffix; // 移動文件 move_uploaded_file($_FILES['img']['tmp_name'],'../../public/images/goods/'. $img); $arr = ['typeid' => $typeid,'name' => $name, 'price' => $price,'stock' => $stock, 'img' => $img,'desc'=>$desc]; print_r(json_encode($arr)); // 3. 把數據上傳到數據庫 // 3.1 連接數據庫 $link = mysqli_connect('localhost', 'root', '123456', 'mall'); // 3.2 操作 $sqlInsert = "INSERT INTO `goods` VALUES(NULL,$typeid, '$name', $price, $stock, '$img','$desc')"; // 解決插入數據中文亂碼 mysqli_query($link, "set names utf8"); $res = mysqli_query($link, $sqlInsert); if($res){ echo "成功"; } else { echo "失敗"; }
