Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,038

HOME > PHP > PHP Forum > กดsubmitแล้วบันทึกข้อมูล 2 เรคคอร์ดเลย ไม่ทราบว่าควรแก้ไขยังไงคะ



 

กดsubmitแล้วบันทึกข้อมูล 2 เรคคอร์ดเลย ไม่ทราบว่าควรแก้ไขยังไงคะ

 



Topic : 048976



โพสกระทู้ ( 21 )
บทความ ( 0 )



สถานะออฟไลน์




Code (PHP)
<SCRIPT language=javascript>
function checkform()
{
	if(document.frmAdd.res_type.value == "")
	{
		alert('!!! กรุณาใส่ ประเภทการจอง ก่อน');
		document.frmAdd.res_type.focus();
		return false;
	}	
	else if(document.frmAdd.date1.value == "")  
	{
		alert('!!! กรุณาใส่ วันที่เดินทางก่อน');
		document.frmAdd.date1.focus();
		return false;
	}	
	else if(document.frmAdd.harr.value == "") 
	{
		alert('!!! กรุณาใส่ เวลาเดินทาง ก่อน');
		document.frmAdd.harr.focus();
		return false;
	}	
		else if(document.frmAdd.miarr.value == "") 
	{
		alert('!!! กรุณาใส่ เวลาเดินทาง เป็นนาที ก่อน');
		document.frmAdd.miarr.focus();
		return false;
	}	
	else if(document.frmAdd.date2.value == "")  
	{	
		alert('!!! กรุณาใส่ วันที่เดินทางกลับ ก่อน');
		document.frmAdd.date2.focus();
		return false;
	}	
	else if(document.frmAdd.hback.value == "") 
	{
		alert('!!! กรุณาใส่ เวลาเดินทางกลับ ก่อน');
		document.frmAdd.hback.focus();
		return false;
	}	
		else if(document.frmAdd.miback.value == "") 
	{
		alert('!!! กรุณาใส่ เวลาเดินทางกลับ เป็นนาที ก่อน');
		document.frmAdd.miback.focus();
		return false;
	}	
	else if(document.frmAdd.place.value == "")
	{
		alert('!!! กรุณาใส่ สถานที่ ก่อน');
		document.frmAdd.place.focus();
		return false;
	}	
	else if(document.frmAdd.province.value == "")
	{
		alert('!!! กรุณาใส่ จังหวัด ก่อน');
		document.frmAdd.province.focus();
		return false;
	}	
	else if(document.frmAdd.amphur.value == "")
	{
		alert('!!! กรุณาใส่ อำเภอ ก่อน');
		document.frmAdd.amphur.focus();
		return false;
	}	
	else if(document.frmAdd.tumbon.value == "")
	{
		alert('!!! กรุณาใส่ ตำบล ก่อน');
		document.frmAdd.tumbon.focus();
		return false;
	}	
	else if(document.frmAdd.road.value == "")
	{
		alert('!!! กรุณาใส่ ถนน ก่อน');
		document.frmAdd.road.focus();
		return false;
	}	
	else if(document.frmAdd.cntseat.value == "")
	{
		alert('!!! กรุณาใส่ จำนวนผู้เดินทางก่อน');
		document.frmAdd.cntseat.focus();
		return false;
	}	
	else if(document.frmAdd.copeple.value == "")
	{
		alert('!!! กรุณาใส่ ชื่อผู้ร่วมเดินทาง ก่อน');
		document.frmAdd.copeple.focus();
		return false;
	}	
	document.frmAdd.submit();
}
</SCRIPT>
<? include "connect.php";
 $province = $_POST["province"];	$amphur = $_POST["amphur"];	$tumbon = $_POST["tumbon"]; 	
	$res_type=$_POST["res_type"];	$date1=$_POST["date1"];	$harr=$_POST["harr"];		$miarr=$_POST["miarr"];
	$date2=$_POST["date2"];	$hback=$_POST["hback"];		$miback=$_POST["miback"];	
	$place=$_POST["place"];		$soi=$_POST["soi"];		$road=$_POST["road"];	
	$cntseat=$_POST["cntseat"];		$copeple=$_POST["copeple"];
	$datearr=$date1." ".$harr.":".$miarr.":"."00";
	$dateback=$date2." ".$hback.":".$miback.":"."00";
	if ($_GET["action"] =="insert"){    
			$sql="select count(res_id) from reserve  ";
			$result=mysql_query($sql);
			$r=mysql_fetch_array($result);
			$id_max=$r[0]+1;
			//echo str_pad($id_max, 3, "0", STR_PAD_LEFT);
			$res_id="R".str_pad($id_max, 4, "0", STR_PAD_LEFT);   	
			//use_id เลขที่การใช้รถ
			$strSQL = "INSERT INTO reserve ";
			$strSQL .="(res_id,datearr,dateback,place,soi,road,district_id,amphur_id,province_id,cntseat,co_peple,driver_id,res_status,res_type,username,use_id) ";
			$strSQL .="VALUES ";
			$strSQL .="('$res_id','$datearr','$dateback','$place','$soi','$road','$tumbon','$amphur','$province','$cntseat','$copeple','','','$res_type','$username','') ";
			$objQuery = mysql_query($strSQL);  
				if($objQuery){
				$message = '<script language="JavaScript">';
				$message .= 'alert("บันทึกข้อมูลเรียบร้อย");';
				$message .= 'window.location="reservecar.php"';
				$message.='</script>';
				}
				else{echo "Error Save [".$strSQL."]";}
}
?>



ขอตัดมาตรงนี้นะคะ
<form action="reservecar.php?action=insert" method="post" name="frmAdd" target="_self" id="frmAdd" >
แล้วก็ตรงปุ่มsubmit

<input type="submit" name="Submit" value="save" onclick="return checkform()"/>


แต่ถ้าตัดตรงตรวจสอบค่าว่างออก ก็บันทึกได้ปกติ พอเพิ่มสคริปเช็คค่าว่างเข้าไป มันบันทึกเบิ้ล ไม่ทราบว่า วางไว้ผิดที่หรือว่าไงคะ



Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-09-18 21:14:47 By : bong_mrs25 View : 1577 Reply : 4
 

 

No. 1



โพสกระทู้ ( 21 )
บทความ ( 0 )



สถานะออฟไลน์


ไม่มีใครตอบเลยอ่ะ งั้นถามหน่อยว่า ควรเอาสคริปเช็คค่าว่าง วางไว้ตรงไหนดี เพราะถ้าเอาสคริปออกมันสามารถบันทึกได้ปกติ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-18 22:29:44 By : bong_mrs25
 


 

No. 2



โพสกระทู้ ( 21 )
บทความ ( 0 )



สถานะออฟไลน์


ถามดึกปานนั้น แถมใจร้อนอีกตะหาก เลยต้องรีบตอบลวกๆไปก่อน

เบื้องต้น ผมว่า ตรงนี้ผิด
document.frmAdd.submit();

เพราะ ใน ปุ่ม มีคำสั่ง onclick="return checkform()"

เมื่อมีการกดปุ่มนี้ โปรแกรมจะวิ่งไปทำฟังก์ชัน checkform() เมื่อถูกต้อง มันควรจะไปทำงานในphpต่อ แต่ ก่อนจะไปต่อในนั้นดันมี
document.frmAdd.submit(); มันจึง submit อีกครั้ง รวมเป็นสองครั้ง คือ

ครั้งแรก เกิดจากคลิกปุ่่ม ครั้งที่สอง เกิดจาการสั่ง document.frmAdd.submit(); มันจึงใส่ข้อมูลให้สองที

ลองเอา document.frmAdd.submit(); ออก แก้เป็น return true ; เพื่อให้การกดปุ่มนั้นมีผล (การ return fasle กรณีข้อมูลผิดพลาดทำให้การกดปุ่มไม่มีผล)

Quote:
เพราะถ้าเอาสคริปออกมันสามารถบันทึกได้ปกติ


ต้องแปลว่า สคริปต์มันผิดพลาด นะครับ เอาไปไว้ตรงไหน มันคงผิดเหมือนเดิม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-19 08:52:47 By : สกล
 

 

No. 3

Guest


ขอบคุณที่มาตอบให้นะคะ แต่ว่าแก้ไขได้แล้วค่ะ ผิดตรงที่คุณบอกอ่ะแหละ

แต่ว่าว่าเปลี่ยนเป็น document.frmAdd.submit.click(); แก้แบบมั่วๆนะคะ เพราะคิดว่า ถ้ามีการคลิกปุ่ม submit ให้เช็คฟอร์มก่อน โดย submit นั้นเป็นชื่อปุ่มน่ะคะ

แต่เดี๋ยวจะลองเอาคำสั่งคุณไปลองกับฟอร์มอื่นดูค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-19 22:58:15 By : bong_mrs25
 


 

No. 4



โพสกระทู้ ( 21 )
บทความ ( 0 )



สถานะออฟไลน์


ยินดีครับที่แก้ไขได้แล้ว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-20 07:30:41 By : สกล
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : กดsubmitแล้วบันทึกข้อมูล 2 เรคคอร์ดเลย ไม่ทราบว่าควรแก้ไขยังไงคะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่