|
|
|
มีปัญหาเรื่องระบบเบิ้ลส่งค่าเอง ทำให้มีข้อมูลใหม่ขึ้นมา ทั้งที่ไม่ได้ Submit |
|
|
|
|
|
|
|
มีปัญหาเรื่องการ Insert ข้อมูลลงฐานข้อมูล คือตอนทำลง localhost ก็ปกติ พอขึ้นเว็บจริงเท่านั้นแหละเกิดปัญหสเลย คือ เมื่อมีการเพิ่มข้อมูฃเข้าไป บางช่วงระบบจะเพิ่มข้อมูลเอง ดังรูป
https://uppic.cc/d/K4X3
โค้ด Save Insert ข้อมูล
Code (PHP)
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<p>
<?php
include('../../inc/connect.php');
if($objCon->connect_error){
die("Connection failed ;".$objCon->connect_error);
}
$objCon->set_charset("utf8");
date_default_timezone_set("Asia/Bangkok");
$date_cc=date('Y-m-d H:i:s');
$id_worked=$_POST['id_worked'];
$id_class_che=$_POST['id_class_che'];
$name_work=$_POST['name_work'];
$status_checked=$_POST['status_checked'];
$note_checked=$_POST['note_checked'];
$sql="INSERT INTO pr_check_work (id,id_worked,id_class_che,name_work,status_checked,note_checked,date_cc)
VALUES ('','$id_worked','$id_class_che','$name_work','$status_checked','$note_checked','$date_cc')";
$result1 = mysqli_query($objCon,$sql) or die ("Error in query: $sql " . mysqli_error($objCon));
if($result1){
header("location:../list_check.php");
} else {
echo "ไม่สามารถบันทึกข้อมูลได้ กรุณาหลับไปตรวจสอบอีกครั้ง";
}
mysqli_close($objCon);
?>
</p>
</body>
</html>
ขอคะแนะนำหน่อยครับ ผมรีเช็คมาหลายวันแล้วอก้ไม่หายครับ
ขอบคุณครับ
Tag : PHP, MySQL
|
ประวัติการแก้ไข 2019-01-25 18:35:32 2019-01-25 18:35:52 2019-01-25 18:38:11
|
|
|
|
|
Date :
2019-01-25 18:34:42 |
By :
ices |
View :
1511 |
Reply :
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตรวจสอบโค๊ดฝั่ง client javascript ครับ
ตอนนี้ javascript มันเก่งมาขึ้น มันสามารถ add method ให้กับ event ได้หลาย method
ถ้าเขียน ควบคุมไม่ดี มันใส่เพิ่ม มาให้ไม่รู้ตัว
ลองพิจารณาโค๊ดของฝั่งserver ให้ดีสิครับ เข้าทางเดียว ออกทางเดียว
ไม่มีโอกาส ทำงานซ้ำ ถ้า ฝั่ง client ไม่ส่งเบิ้ลมา
|
|
|
|
|
Date :
2019-01-25 23:32:12 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
รบกวนดูให้ผมหน่อยครับ เปลี่ยน ดู จนมึนแล้ววครับ
หน้าฟอร์มครับ
Code (PHP)
<?php
session_start();
error_reporting(~E_NOTICE);
include('../inc/connect.php');
$objCon->set_charset("utf8");
$strSQL = "SELECT * FROM student_user WHERE id_std = '".$_SESSION['id_std']."' ";
$objQuery = mysqli_query($objCon,$strSQL)or die ("Error Query [".$strSQL."]");
$objResult = mysqli_fetch_array($objQuery);
//ตรวจสอบการ login
if($_SESSION['id_std'] == "")
{
echo "Please Login!";
exit();
}
//ตรวจสอบ สถานะ
if($_SESSION['status'] != "admin")
{
echo "This page for Admin only!";
exit();
}
$strSQL2 = "SELECT student_user.*,student_leave.* FROM student_user,student_leave
WHERE student_leave.id_std_leave = '".$_SESSION['id_std']."' ";
$objQuery2 = mysqli_query($objCon,$strSQL2);
$objResult2 = mysqli_fetch_array($objQuery2);
$strSQL3 = "SELECT student_user.*,set_systems.* FROM student_user,set_systems
WHERE set_systems.id_sets = 'cw111' ";
$objQuery3 = mysqli_query($objCon,$strSQL3);
$objResult3 = mysqli_fetch_array($objQuery3);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="Dashboard">
<meta name="keyword" content="Dashboard, Bootstrap, Admin, Template, Theme, Responsive, Fluid, Retina">
<title>ตรวจงาน ให้คะแนน</title>
<!-- Favicons -->
<link href="img/favicon.png" rel="icon">
<link href="img/apple-touch-icon.png" rel="apple-touch-icon">
<!-- Bootstrap core CSS -->
<link href="lib/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<!--external css-->
<link href="lib/font-awesome/css/font-awesome.css" rel="stylesheet" />
<!-- Custom styles for this template -->
<link href="css/style.css" rel="stylesheet">
<link href="css/style-responsive.css" rel="stylesheet">
<link rel="stylesheet" href="css/to-do.css">
<!-- =======================================================
Template Name: Dashio
Template URL: https://templatemag.com/dashio-bootstrap-admin-template/
Author: TemplateMag.com
License: https://templatemag.com/license/
======================================================= -->
</head>
<body>
<section id="container">
<!-- **********************************************************************************************************************************************************
TOP BAR CONTENT & NOTIFICATIONS
*********************************************************************************************************************************************************** -->
<!--header start-->
<header class="header black-bg">
<div class="sidebar-toggle-box">
<div class="fa fa-bars tooltips" data-placement="right" data-original-title="สลับโหมดเมนู"></div>
</div>
<!--logo start-->
<a href="index.php" class="logo"><b>MY<span> S+</span></b></a>
<!--logo end-->
<div class="top-menu">
<ul class="nav pull-right top-menu">
<li><a class="logout" href="logout.php">Logout</a></li>
</ul>
</div>
</header>
<!--header end-->
<!-- **********************************************************************************************************************************************************
MAIN SIDEBAR MENU
*********************************************************************************************************************************************************** -->
<!--sidebar start-->
<aside>
<?php include 'tab_menu_left.php' ;?>
</aside>
<!--sidebar end-->
<!-- **********************************************************************************************************************************************************
MAIN CONTENT
*********************************************************************************************************************************************************** -->
<!--main content start-->
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#form").submit(function(e){
e.preventDefault();
if(document.form.id_std_ws.value == "") {
alert('กรุณาใส่ รหัสนักศึกษา');
document.form.id_std_ws.focus();
}else
if(document.form.id_class.value == ""){
alert('กรุณาใส่ รหัสห้องเรียน');
document.form.id_class.focus();
}else
if(document.form.id_works.value == ""){
alert('กรุณาใส่่ รหัสใบงาน');
document.form.id_works.focus();
}else
if(document.form.status_w.value == ""){
alert('กรุณาใส่ สถานะใบงาน');
document.form.status_w.focus();
}else
if(document.form.scr_w.value == ""){
alert('กรุณาใส่่ คะแนน');
document.form.scr_w.focus();
}else
if(document.form.note.value == ""){
alert('กรุณาใส่่ หมายเหตุ');
document.form.note.focus();
}else
document.form.submit();
});
});
</script>
<section id="main-content">
<section class="wrapper">
<h3><i class="fa fa-angle-right"></i> ระบบตรวจงาน</h3>
<!-- /row -->
<!-- DATE TIME PICKERS -->
<div class="row mt">
<div class="col-lg-12">
<div class="form-panel">
<form class="form-horizontal style-form" method="post" name="form" action="inc/save_check_work.php" id="form">
<BR>
<h4>** ตั้งค่าระบบก่อนตรวจงาน **</h4>
<BR><BR>
<div class="form-group">
<label class="control-label col-md-1">รหัส นศ. :</label>
<div class="col-md-4">
<input type="text" class="form-control round-form" name="id_std_ws" id="id_std_ws" placeholder="รหัส นศ.">
</div>
</div>
<div class="form-group">
<label class="control-label col-md-1">รหัส Class :</label>
<div class="col-md-4">
<input type="text" class="form-control round-form" name="id_class" id="id_class" value="<?php echo $objResult3['set_1'];?>">
</div>
</div>
<div class="form-group">
<label class="control-label col-md-1">รหัสใบงาน :</label>
<div class="col-md-4">
<input type="text" class="form-control round-form" name="id_works" id="id_works" value="<?php echo $objResult3['set_2'];?>">
</div>
</div>
<div class="form-group">
<label class="control-label col-md-1"><font color="#990000"><b>สถานะงาน :</b></font></label>
<div class="col-md-4">
<select type="text" class="form-control round-form" name="status_w" id="status_w">
<option value="" selected="selected">เลือก</option>
<option value="ส่งแล้ว / ผ่าน" >ส่งแล้ว / ผ่าน</option>
<option value="แก้งาน" >ส่งแล้ว / แก้งาน</option>
<option value="ไม่ส่งงาน">ไม่ส่งงาน</option>
</select>
</div>
</div>
<HR>
<div class="form-group">
<label class="control-label col-md-1"><font color="#990000"><b>*ระบุคะแนน :</b></font></label>
<div class="col-md-2">
<select type="text" class="form-control round-form" name="scr_w" id="scr_w">
<option value="" selected="selected">เลือก</option>
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
</select>
</div>
</div>
<HR>
<div class="form-group">
<label class="control-label col-md-1"><font color="#990000"><b>หมายเหตุ :</b></font></label>
<div class="col-md-4">
<select type="text" class="form-control round-form" name="note" id="note">
<option value="" selected="selected">เลือก</option>
<option value="มารับใบงานคืนได้">มารับใบงานคืน</option>
<option value="มารับงาน ไปแก้ไขด่วน!!">มารับใบงานไปแก้ด่วน</option>
<option value="*แก้ไขงานด่วน!!">*แก้ไขงานด่วน</option>
<option value="*ติดต่ออาจารย์ เพื่อทำงานส่งด่วน">*ติดต่ออาจารย์เพื่อทำงานส่ง</option>
</select>
</div>
</div>
<BR>
<button type="submit" class="btn btn-theme">บันทึก ตรวจงาน</button>
<div class="pull-right">
หรือไปยัง <a href="du_work_scores.php" class="btn btn-success"><strong>รายการล่าสุด</strong></a>
</div>
</form>
</div>
<!--/col-md-12 -->
</div>
<!-- /row -->
</section>
<!-- /wrapper -->
</section>
<!-- /MAIN CONTENT -->
<!--main content end-->
<!--footer start-->
<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>
<footer class="site-footer">
<div class="text-center">
<p>
Developed by <strong>STTK+</strong>.Database System
</p>
<div class="credits">
</div>
<a href="buttons.html#" class="go-top">
<i class="fa fa-angle-up"></i>
</a>
</div>
</footer>
<!--footer end-->
</section>
<!-- js placed at the end of the document so the pages load faster -->
<script src="lib/jquery/jquery.min.js"></script>
<script src="lib/bootstrap/js/bootstrap.min.js"></script>
<script class="include" type="text/javascript" src="lib/jquery.dcjqaccordion.2.7.js"></script>
<script src="lib/jquery.scrollTo.min.js"></script>
<script src="lib/jquery.nicescroll.js" type="text/javascript"></script>
<!--common script for all pages-->
<script src="lib/common-scripts.js"></script>
<!--script for this page-->
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<script src="lib/tasks.js" type="text/javascript"></script>
<script>
jQuery(document).ready(function() {
TaskList.initTaskWidget();
});
$(function() {
$("#sortable").sortable();
$("#sortable").disableSelection();
});
</script>
</body>
</html>
โค้ด insert ครับ
Code (PHP)
<?php
include('../../inc/connect.php');
if($objCon->connect_error){
die("Connection failed ;".$objCon->connect_error);
}
$objCon->set_charset("utf8");
date_default_timezone_set("Asia/Bangkok");
$id_std_ws=$_POST['id_std_ws'];
$id_class=$_POST['id_class'];
$id_works=$_POST['id_works'];
$status_w=$_POST['status_w'];
$scr_w=$_POST['scr_w'];
$note=$_POST['note'];
$dates_ws=date('Y-m-d H:i:s');
$sql="INSERT INTO status_work (id,id_std_ws,id_class,id_works,status_w,scr_w,note,dates_ws)
VALUES ('','$id_std_ws','$id_class','$id_works','$status_w','$scr_w','$note','$dates_ws')";
$result1 = mysqli_query($objCon, $sql) or die ("Error in query: $sql " . mysqli_error($objCon));
if($result1){
header("location:link_checkwork.php");
} else {
echo "ไม่สามารถบันทึกข้อมูลได้ กรุณาหลับไปตรวจสอบอีกครั้ง";
}
mysqli_close($objCon);
?>
|
|
|
|
|
Date :
2019-01-30 20:16:17 |
By :
ices |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่ได้ยาก เขียน Code ไม่มีแนวทาง หาข้อผิดพลาดเลย แล้วจะเก่งตอนไหนนิ?
คุณก็ Check ดู ค่าที่ POST มาสิครับ Basic ง่ายๆ
Code (PHP)
echo " ค่าที่ได้ทั้งหมดนี้ ";
$id_std_ws=$_POST['id_std_ws'];
$id_class=$_POST['id_class'];
$id_works=$_POST['id_works'];
$status_w=$_POST['status_w'];
$scr_w=$_POST['scr_w'];
$note=$_POST['note'];
$dates_ws=date('Y-m-d H:i:s');
อีกอย่างคือ บาง Template มี Library ที่ต้อง Import มาใช้ แต่บางครั้ง มันไม่จำเป็นต้องเรียกมาใช้ ลบๆออกไปก็ได้ Script form html ต่างๆของคุณก็ทำงานปกกะตินี้ อย่าไปยืดติกับ Template ที่โหลดมาเลย เพาะอันที่จำเป็น ก็ใช้ ไม่จำเป็นก็ลบๆออก
|
|
|
|
|
Date :
2019-01-31 08:54:34 |
By :
Hararock |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.ลองแค่ print_r($_POST); ดูค่าที่ส่งมาก่อนครับ มากี่ชุด แล้วค่อยมาจับจุด
2. ดูคร่าว ๆ เดาว่า
<button type="submit" class="btn btn-theme">บันทึก ตรวจงาน</button> ชนกับ document.form.submit();
หมายความว่า form ตั้ง method="post" และ action="inc/save_check_work.php" เมื่อปุ่ม button type="submit" ทำงาน
การส่งค่าก็เริ่มขึ้น
จากนั้นคุณจะดักค่าว่างด้วย jquery (แต่เก็บค่าแบบ javascript เดิม)
แต่ไปทำหลัง $("#form").submit พอเช็คเสร็จ document.form.submit(); อีกครั้ง..
Edit ถ้าจะแก้ตรงนี้ return true; ก็น่าจะพอเพียง
ถ้าจะดักค่าว่าง ลองดูดีดีว่าดักแบบไหน
เพิ่ม id ให้ button สักหน่อย
<button type="submit" class="btn btn-theme" id="btnConfirm">
$('#form').on('click','#btnConfirm',function(){ บลา ๆ ๆ ๆ
และการใช้
document.form.id_works.value ไม่ผิดแต่มันเป็น javascript จริง ๆ
ถ้า jquery มี id ก็จับประมาณ $('#id_works').val() เป็นต้น
ค่อย ๆ หาข้อมูลเพิ่มดูครับ
---- ทดสอบง่าย ๆ ลองเอาเช็คค่าว่างออก แล้วลองส่งค่า บันทึกว่าเข้ากี่รอบ
|
ประวัติการแก้ไข 2019-01-31 09:00:04
|
|
|
|
Date :
2019-01-31 08:57:52 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก็บอกแล้วว่า javascirpt มันเก่ง
$("#form").submit(function(e){ .... }; คำสั่งนี้เป็นการ add function เข้าไปใน form
และยังมาใช้ คำสั่ง document.form.submit(); ซ้ำเข้าไปอีก
ซึ่งมัน มี function submit เดิมของมันอยู่แล้ว มันจะทำอันของมันก่อน แล้วค่อยมาทำ function นี้
เปลี่ยน เป็น
Code (JavaScript)
function formsubmit(e) {
if(document.form.id_std_ws.value == "") {
alert('กรุณาใส่ รหัสนักศึกษา');
document.form.id_std_ws.focus();
return false; // เพิ่ม ทุกรายการ เพื่อบอก submit ว่ายกเลิก
} // else ไม่ต้องมี else ก็ได้ เพราะมี return แล้ว
/// document.form.submit(); เอา ออก
return true
}
html
Code (PHP)
<form onsubmit="return formsubmit(e);" ....... >
....
....
</form>
เขียน เบสิค ง่ายๆ พอแล้ว ถ้ายังไม่เข้าใจ event ต่างๆ ดีพอ
|
|
|
|
|
Date :
2019-02-04 00:44:10 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมลองใช้ jquery น่าจะง่ายกว่า สั่นกว่า กระชับดีครับ ไม่ทราบว่าจะมีปัญหาอะไรบ้างถ้าผมใช้แบบนี้
jquery ครับ
Code (PHP)
<form class="form-horizontal style-form" method="post" name="form" id="form" action="inc/save_announce.php">
<BR>
<div class="form-group">
<label class="control-label col-md-1">ชื่อเรื่อง :</label>
<div class="col-md-8">
<input type="text" class="form-control round-form" name="topic_ann" id="topic_ann" placeholder="ระบุหัวข้อเรื่อง" height="19" required>
</div>
</div>
<button type="submit" class="btn btn-theme" value="Submit">บันทึกข่าว</button>
<div class="pull-right">
หรือไปยัง <a href="list_announce.php" class="btn btn-success"><strong>ข่าวทั้งหมด</strong></a>
</div>
</form>
<script src="../javascr/jquery-3.3.1.min.js"></script>
<script>
$("#form").validate();
</script>
|
|
|
|
|
Date :
2019-02-04 22:24:22 |
By :
ices |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มันไม่ได้ใช้ง่ายๆ แค่นี้นะสิครับ คุณจะ ให้มันตรวจสอบอะไร ก็ต้องบอกมัน
อ่าน document ดูนะครับ มันต้องอาศัย attribute อะไรอีกหลายอย่าง เพื่อกำหนดการตรวจสอบ
คือถ้าไม่ได้กำหนดอะไร มันก็ไม่ได้มีประโยชน์ เหมือนกับไม่ได้ใช้อะไร
<input type="text" class="form-control round-form" name="topic_ann" id="topic_ann" placeholder="ระบุหัวข้อเรื่อง" height="19" required>
แบบข้างบน นี้ก็แค่ตรวจสอบว่าต้องใส่ข้อมูลเท่านั้น
|
|
|
|
|
Date :
2019-02-05 15:05:14 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอา function ที่แก้ไขแล้วมาดูหน่อยครับ
|
|
|
|
|
Date :
2019-02-05 23:59:18 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|