สอนทำฟอร์มสมัครสมาชิกและบันทึกข้อมูลสมาชิกลงฐานข้อมูล
ระบบจองสนามกีฬาออนไลน์ V.1 ราคา 1900 บาท พร้อม code + database. รองรับ PHP8
ขอบเขตระบบ v.1 https://devtai.com/?p=1395
code ตัวอย่าง ฟอร์มสมัครสมาชิก
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<form action="#" method="POST" enctype="multipart/form-data"> <div class="mb-3"> <label for="exampleFormControlInput1" class="form-label">Username</label> <input type="text" class="form-control" id="exampleFormControlInput1" placeholder="username"> </div> <div class="mb-3"> <label for="exampleFormControlInput1" class="form-label">Password</label> <input type="password" class="form-control" id="exampleFormControlInput1" placeholder="*************"> </div> <div class="mb-3"> <label for="exampleFormControlInput1" class="form-label">ชื่อ-นามสกุล</label> <input type="text" class="form-control" id="exampleFormControlInput1" placeholder="กรอกข้อมูล ชื่อ-นามสกุล"> </div> <div class="mb-3"> <label for="formFile" class="form-label">รูปภาพ *jpg,png</label> <input class="form-control" type="file" id="formFile"> </div> <div class="mb-3"> <button type="submit" class="btn btn-dark">สมัครสมาชิก</button> <a href="index.php" type="button" class="btn btn-outline-danger">ยกเลิก</a> </div> </form> |
บันทึกข้อมูลลงฐานข้อมูล
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
<?php // echo '<pre>'; // print_r($_POST); // print_r($_FILES); // echo '</pre>'; // exit(); if (isset($_POST['m_name'])) { include 'condb.php'; //สร้างตัวแปรวันที่เพื่อเอาไปตั้งชื่อไฟล์ใหม่ echo ' <script src="https://code.jquery.com/jquery-2.1.3.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert-dev.js"></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.css">'; $date1 = date("Ymd_His"); //สร้างตัวแปรสุ่มตัวเลขเพื่อเอาไปตั้งชื่อไฟล์ที่อัพโหลดไม่ให้ชื่อไฟล์ซ้ำกัน $numrand = (mt_rand()); $m_img = (isset($_POST['m_img']) ? $_POST['m_img'] : ''); $upload=$_FILES['m_img']['name']; //มีการอัพโหลดไฟล์ if($upload !='') { //ตัดขื่อเอาเฉพาะนามสกุล $typefile = strrchr($_FILES['m_img']['name'],"."); //สร้างเงื่อนไขตรวจสอบนามสกุลของไฟล์ที่อัพโหลดเข้ามา if($typefile =='.jpg' || $typefile =='.jpg' || $typefile =='.png'){ //โฟลเดอร์ที่เก็บไฟล์ $path="admin/m_img/"; //ตั้งชื่อไฟล์ใหม่เป็น สุ่มตัวเลข+วันที่ $newname = $numrand.$date1.$typefile; $path_copy=$path.$newname; //คัดลอกไฟล์ไปยังโฟลเดอร์ move_uploaded_file($_FILES['m_img']['tmp_name'],$path_copy); //ประกาศตัวแปรรับค่าจากฟอร์ม $m_username = $_POST['m_username']; $m_password = $_POST['m_password']; $m_name = $_POST['m_name']; $m_level = 'member'; //sql insert $stmt = $conn->prepare("INSERT INTO member (m_username, m_password, m_name, m_level, m_img) VALUES (:m_username, :m_password, :m_name, :m_level, '$newname')"); $stmt->bindParam(':m_username', $m_username, PDO::PARAM_STR); $stmt->bindParam(':m_password', $m_password, PDO::PARAM_STR); $stmt->bindParam(':m_name', $m_name, PDO::PARAM_STR); $stmt->bindParam(':m_level', $m_level, PDO::PARAM_STR); $result = $stmt->execute(); //เงื่อนไขตรวจสอบการเพิ่มข้อมูล if($result){ echo '<script> setTimeout(function() { swal({ title: "สมัครสมาชิกสำเร็จ", text: "Redirecting in 1 seconds.", type: "success", timer: 1000, showConfirmButton: false }, function() { window.location = "register.php"; //หน้าที่ต้องการให้กระโดดไป }); }, 1000); </script>'; }else{ echo '<script> setTimeout(function() { swal({ title: "เกิดข้อผิดพลาด", type: "error" }, function() { window.location = "register.php"; //หน้าที่ต้องการให้กระโดดไป }); }, 1000); </script>'; } //else ของ if result }else{ //ถ้าไฟล์ที่อัพโหลดไม่ตรงตามที่กำหนด echo '<script> setTimeout(function() { swal({ title: "คุณอัพโหลดไฟล์ไม่ถูกต้อง", type: "error" }, function() { window.location = "register.php"; //หน้าที่ต้องการให้กระโดดไป }); }, 1000); </script>'; } //else ของเช็คนามสกุลไฟล์ } // if($upload !='') { $conn = null; //close connect db } //isset //สอนเขียนโปรแกรม devtai.com ?> |
code ไฟล์โชว์ตารางจองสนาม คลิ๊ก
code ฟอร์มแจ้งชำระเงิน คลิ๊ก
code คำนวณราคาจองสนาม
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
$stmt = $conn->prepare("SELECT * FROM courts WHERE court_id = (SELECT court_id FROM court_bookings WHERE id = ?)"); $stmt->bindParam(1, $id, PDO::PARAM_INT); $stmt->execute(); $court_price_row = $stmt->fetch(PDO::FETCH_ASSOC); if ($court_price_row) { $stmt = $conn->prepare("SELECT booking_start, booking_end FROM court_bookings WHERE id = ?"); $stmt->bindParam(1, $id, PDO::PARAM_INT); $stmt->execute(); $booking_times = $stmt->fetch(PDO::FETCH_ASSOC); if ($booking_times) { $start_time = new DateTime($booking_times['booking_start']); $end_time = new DateTime($booking_times['booking_end']); $booking_duration = $start_time->diff($end_time); $booking_hours = $booking_duration->h + ($booking_duration->days * 24); $total_price = $court_price_row['c_price'] * $booking_hours; $formatted_total_price = number_format($total_price,); } else { echo "Error: Booking times not found"; } } else { echo "Error: Court price not found"; } |
code สร้างตาราง payadmin ไว้สำหรับบันทึกข้อมูลชำระเงินค่าจองสนาม
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
CREATE TABLE `payadmin` ( `id` int(11) NOT NULL, `b_id` int(11) NOT NULL, `a_payment` varchar(200) NOT NULL, `a_payment_to` varchar(200) NOT NULL, `a_payment_form` varchar(200) NOT NULL, `a_payment_number` varchar(200) NOT NULL, `a_payment_firstname` varchar(200) NOT NULL, `a_payment_lastname` varchar(200) NOT NULL, `a_payment_price` varchar(100) NOT NULL, `a_payment_datetime` datetime NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; ALTER TABLE `payadmin` ADD PRIMARY KEY (`id`); ALTER TABLE `payadmin` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; COMMIT; |
code บันทึกข้อมูลชำระเงินค่าจองสนาม payment_db.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
<?php // Include database connection file include 'condb.php'; echo ' <script src="https://code.jquery.com/jquery-2.1.3.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert-dev.js"></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.css">'; // Set timezone to Asia/Bangkok date_default_timezone_set('Asia/Bangkok'); $date1 = date("Ymd_His"); $numrand = (mt_rand()); $a_payment = (isset($_POST['a_payment']) ? $_POST['a_payment'] : ''); $upload = $_FILES['a_payment']['name']; if($upload != '') { // รับไฟล์รูปภาพ $typefile = strrchr($_FILES['a_payment']['name'], "."); // เช็คนามสกุลไฟล์รูปภาพ if($typefile == '.jpg' || $typefile == '.jpeg' || $typefile == '.png') { $path = "payment/"; $newname = $numrand.$date1.$typefile; $path_copy = $path.$newname; move_uploaded_file($_FILES['a_payment']['tmp_name'], $path_copy); // POST form data $b_id = $_POST['b_id']; $a_payment_to = $_POST['a_payment_to']; $a_payment_form = $_POST['a_payment_form']; $a_payment_number = $_POST['a_payment_number']; $a_payment_firstname = $_POST['a_payment_firstname']; $a_payment_lastname = $_POST['a_payment_lastname']; $a_payment_price = $_POST['a_payment_price']; $a_payment_datetime = date("Y-m-d", strtotime(str_replace('/', '-', $_POST['a_payment_datetime']))).' '.$_POST['time_hour'].':'.$_POST['time_minute']; $status = 2; // SQL statement $stmt = $conn->prepare("INSERT INTO payadmin (b_id, a_payment, a_payment_to, a_payment_form, a_payment_number, a_payment_firstname, a_payment_lastname, a_payment_price, a_payment_datetime) VALUES (:b_id, :a_payment, :a_payment_to, :a_payment_form, :a_payment_number, :a_payment_firstname, :a_payment_lastname, :a_payment_price, :a_payment_datetime)"); // Bind parameters $stmt->bindParam(':b_id', $b_id, PDO::PARAM_INT); $stmt->bindParam(':a_payment', $newname, PDO::PARAM_STR); $stmt->bindParam(':a_payment_to', $a_payment_to, PDO::PARAM_STR); $stmt->bindParam(':a_payment_form', $a_payment_form, PDO::PARAM_STR); $stmt->bindParam(':a_payment_number', $a_payment_number, PDO::PARAM_STR); $stmt->bindParam(':a_payment_firstname', $a_payment_firstname, PDO::PARAM_STR); $stmt->bindParam(':a_payment_lastname', $a_payment_lastname, PDO::PARAM_STR); $stmt->bindParam(':a_payment_price', $a_payment_price, PDO::PARAM_STR); $stmt->bindParam(':a_payment_datetime', $a_payment_datetime, PDO::PARAM_STR); $result = $stmt->execute(); if($result) { // Update status court_bookings $stmt_status = $conn->prepare("UPDATE court_bookings SET status = :status WHERE id = :b_id"); $stmt_status->bindParam(':status', $status, PDO::PARAM_INT); $stmt_status->bindParam(':b_id', $b_id, PDO::PARAM_INT); $result2 = $stmt_status->execute(); if($result2) { echo '<script> setTimeout(function() { swal({ title: "ชำระค่าจองสนามสำเร็จ", text: "Redirecting in 1 second.", type: "success", timer: 1000, showConfirmButton: false }, function() { window.location = "show_time.php"; // Redirect to desired page }); }, 1000); </script>'; } else { echo '<script> setTimeout(function() { swal({ title: "เกิดข้อผิดพลาด", type: "error" }, function() { window.location = "show_time.php"; // Redirect to desired page }); }, 1000); </script>'; } } else { echo '<script> setTimeout(function() { swal({ title: "เกิดข้อผิดพลาด", type: "error" }, function() { window.location = "show_time.php"; // Redirect to desired page }); }, 1000); </script>'; } } else { echo '<script> setTimeout(function() { swal({ title: "คุณอัพโหลดไฟล์ไม่ถูกต้อง", type: "error" }, function() { window.location = "show_time.php"; // Redirect to desired page }); }, 1000); </script>'; } } else { echo '<script> setTimeout(function() { swal({ title: "โปรดอัพโหลดไฟล์", type: "error" }, function() { window.location = "show_time.php"; // Redirect to desired page }); }, 1000); </script>'; } $conn = null; ?> |
สนใจจ้างพัฒนาระบบ เขียนระบบ
ทำเว็บไซต์ รับสอนเขียนโปรแกรม
inbox มาที่เพจ หรือติดต่อ 098-373-8651
ช่องทางการชำระเงิน
เงินสด หรือ e-banking
ธนาคารกสิกรไทย
เลขบัญชี : 0951168564
ชื่อบัญชี : นายวัยวุฒิ ชุมเมืองปัก