รบกวนดูโค้ด เกี่ยวกับ date ให้ด้วยครับ
รบกวนดูโค้ด เกี่ยวกับ date ให้ด้วยครับ
โดย: Norranun
IP: 124.122.153.xxx
วันที่: 04-08-2010
เวลา: 01:17:48
function.php
<?
function displaydate($x){
$thai_m=array('มกราคม','กุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน','กรกฎาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม');
$date_array=explode("-",$x);
$y=$date_array[0];
$m=$date_array[1]-1;
$d=$date_array[2];
$m=$thai_m[$m];
$y=$y+543;
$displaydate='$d $m $y';
return $displaydate;
}
?>
registerr.php
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<?
$user_reg=$_POST[user_reg];
$pass_reg=$_POST[pass_reg];
$sex_reg=$_POST[sex_reg];
$email_reg=$_POST[email_reg];
$date_reg=$_POST[('Y-m-d')];
if($user_reg=='' or $pass_reg==''){
echo'<h3>กรอกข้อมูลไม่ครบ</h3>'; exit();
}
include 'function.php';
if (!checkemail($email_reg)){
echo'<h3>กรอกอีเมล์ไม่ถูกต้อง</h3>'; exit();
}
include 'connect.php';
$sql="SELECT * FROM tb_member where username='$user_reg'";
$result=mysql_db_query($dbname,$sql);
$num=mysql_num_rows($result);
if($num>0){
echo'<h3>Username นี้มีผู้ใช้แล้ว</h3>'; exit();
}
$sql="INSERT INTO tb_member
values('','$user_reg','$pass_reg','$sex_reg','$email_reg','$date_reg')";
$result=mysql_db_query($dbname,$sql);
mysql_query("SET character_set_results=tis620");
mysql_query("SET character_set_client=tis620");
mysql_query("SET character_set_connection=tis620");
if($result){
echo'<h3>บันทึกข้อมูลเรียบร้อยแล้ว</h3>';
echo"<a href='index.html'>คลิกเพื่อเข้าสู่ระบบสมาชิก</a>";
}else{
echo'<h3>สมัคสมาชิกไม่สำเร็จ</h3>';
}
mysql_close();
?>
ปัญหาคือ ใน database ตอนที่สมัครสมาชิก มันเป็น 00-00-0000 อ่ะครับ
มันไม่อัพเดทวัน เดือน ปี ที่ user สมัครครับ
ความคิดเห็นที่ 4
โดย: Norranun
IP: 124.120.191.xxx
วันที่: 04-08-2010
เวลา: 13:57:44
ขอบคุณครับ
จะลองดูครับ
ความคิดเห็นที่ 3
โดย: Nightmare
IP: 61.19.231.xxx
วันที่: 04-08-2010
เวลา: 12:06:09
เปลี่ยน field นั้นเป็น type time stamp ก็ได้เหมือนกันนะครับจะได้ไม่ต้องไปกังวลกับโค๊ตมากนัก
ความคิดเห็นที่ 2
โดย: Amdev
IP: 202.28.179.xxx
วันที่: 04-08-2010
เวลา: 12:02:56
ใช้ NOW() คับ อิอิ
ความคิดเห็นที่ 1
โดย: Ninenik
IP: 183.89.222.xxx
วันที่: 04-08-2010
เวลา: 09:03:19
ถ้าเข้าใจไม่ผิด หมายถึง insert วันที่ไม่ได้ หรือป่าว
ถ้าใช้ คงต้องให้ไปดูว่าวันที่ ที่ส่งไปบันทึกลงฐานข้อมูลเป็นแบบไหน หมายถึง มีรูปแบบที่ส่งเข้าไปเป็นแบบไหน เช่น 2010-08-04 หรือ 04-08-2010 หรือ อื่นๆ จากนั้นให้ไปดูว่า field ในฐานข้อมูลเรากำหนดค่าเป็น อะไร เช่น เป็น varchar เป้น date หรือว่า datetime
varchar ข้อความไม่ฟิกรูปแบบ
date 0000-00-00
datetime 0000-00-00 00:00:00
นั้นหมายถึงรูปแบบที่ส่ง กับที่รับ ต้องเหมือนกัน
แต่ดูจากโค้ด เหมือนจะผิด
บรรทัด
บรรทัด
$date_reg=$_POST[('Y-m-d')];
// ใช้เป็น
$date_reg=$_POST[date("Y-m-d")];
// หรือไม่ต้องไปรับค่ามา แต่ใช้ค่าจากวันที่ปัจจุบันตอน insert เลยก็ได้
$sql="INSERT INTO tb_member
46.values('','$user_reg','$pass_reg','$sex_reg','$email_reg','".date("Y-m-d")."')";
