ระบบบันทึกข้อมูลสำหรับร้านซ่อม PHP

link : https://www.kotchasan.com/.......html
- ระบบเขียนว่า รายละเอียดของ "ลูกค้า"
แต่ผมกับไม่สามารถเพิ่มข้อมูลลูกค้าได้เลย กดส่งกี่ครั้งก็ขึ้นว่า ไม่สำเร็จ
แต่หากผมพิมพ์ชื่อ "สมาชิก"
จะสามารถเพิ่มข้อมูลได้
อยากสอบถามว่า จริงๆแล้วระบบนี้เขียนมาเพื่อให้เพิ่มข้อมูลลูกค้า / เบอร์โทรลูกค้า / ที่อยู่ลูกค้า
หรือเพื่อจุดประสงค์อื่นๆครับ
เพราะในใบรับแจ้งซ่อม ก็เขียนว่า "ชื่อลูกค้า"
แต่เหตุใดจึงไม่สามารถเพิ่มข้อมูลลูกค้าได้
ไม่สามารถบันทึกข้อมูลได้
ทดลองลบ ลงใหม่แล้ว ก็ยังไม่ได้
ผมเจอปัญหาแบบนี้เหมือนกันครับ
รอแอดมินมาตอบ ครับ
รอแอดมินมาตอบ ครับ
ผมทดสอบบนเว็บไซต์อย่างก็ปกติดีนะครับ
รายละเอียดของลูกค้า คือรายละเอียดลูกค้าจริงๆแหละครับ โดยที่ลูกค้าก็คือสมาชิกในระบบคนหนึ่ง ดังนั้น
1. สามารถเลือกลูกค้าได้จาก สมาชิกคนใดคนหนึ่งในระบบ
2. ในกรณีที่ไม่ได้เลือกจากลิสต์รายการที่แสดงขึ้นมา จะเป็นการลงทะเบียนสมาชิกใหม่โดยอัตโนมัติครับ (รายการที่ถูกเพิ่มด้วยวิธีนี้จะไม่มี username สมาชิกไม่สามารถเข้าระบบได้) ในกรณีที่มาซ่อมซ้ำ ก็จะไปเลือกจากข้อ 1 แทนครับ
ในกรณีที่มีปัญหาการใช้งงาน ลองเปิดโหมด DEBUG ดูครับ ว่ามี error อะไรหรือไม่ (วิธีเปิดอยู่ในกระทู้ปักหมุด)
รายละเอียดของลูกค้า คือรายละเอียดลูกค้าจริงๆแหละครับ โดยที่ลูกค้าก็คือสมาชิกในระบบคนหนึ่ง ดังนั้น
1. สามารถเลือกลูกค้าได้จาก สมาชิกคนใดคนหนึ่งในระบบ
2. ในกรณีที่ไม่ได้เลือกจากลิสต์รายการที่แสดงขึ้นมา จะเป็นการลงทะเบียนสมาชิกใหม่โดยอัตโนมัติครับ (รายการที่ถูกเพิ่มด้วยวิธีนี้จะไม่มี username สมาชิกไม่สามารถเข้าระบบได้) ในกรณีที่มาซ่อมซ้ำ ก็จะไปเลือกจากข้อ 1 แทนครับ
ในกรณีที่มีปัญหาการใช้งงาน ลองเปิดโหมด DEBUG ดูครับ ว่ามี error อะไรหรือไม่ (วิธีเปิดอยู่ในกระทู้ปักหมุด)
ส่วนนี้คือลิงค์ที่ผมไปทดลองในหน้าเว็บ Demo https://repair.acc.in.th/ ก็ใช้งานไม่ได้เหมือนกันครับ
-> https://youtu.be/rs15g0tsBeU
-> https://youtu.be/rs15g0tsBeU
คลิป Video ตอนผมทดสอบ -> https://youtu.be/iso4n8sfVm8
ผมลอง Debug แล้วก็ไม่มี Error อะไรขึ้นครับ มีแค่ตอนผมลองเปิด Console เช็คดู ก็ขึ้น Error ตาม Video ด้านบนนี้
ผมลอง Debug แล้วก็ไม่มี Error อะไรขึ้นครับ มีแค่ตอนผมลองเปิด Console เช็คดู ก็ขึ้น Error ตาม Video ด้านบนนี้
ดูในไฟล์ log
[2022-08-19 22:43:36] ERROR: <br>Exception : <em>SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '' for key 'username'</em> in <b>/home/xxxxxxx/domains/xxxxxxxxxx/public_html/demo/repair01/modules/repair/models/receive.php</b> on line <b>137</b>
[2022-08-19 22:43:36] ERROR: <br>Exception : <em>SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '' for key 'username'</em> in <b>/home/xxxxxxx/domains/xxxxxxxxxx/public_html/demo/repair01/modules/repair/models/receive.php</b> on line <b>137</b>
ผมก็ลองทำตามหลายรอบแล้วนะครับ มันก็สามารถใช้งานได้ปกติ
ลองเปลี่ยน browser ดู
หรือลองปิด extension ของ browser ตัวที่เคยได้รับรายงานว่ามีปัญหาคือ ad block plus (จริงๆก็แก้ไขไปแล้วนะครับ และไม่ได้รับรายงานเพิ่มมานานมากแล้ว)
ลองเปลี่ยน browser ดู
หรือลองปิด extension ของ browser ตัวที่เคยได้รับรายงานว่ามีปัญหาคือ ad block plus (จริงๆก็แก้ไขไปแล้วนะครับ และไม่ได้รับรายงานเพิ่มมานานมากแล้ว)
ส่งข้อมูล ftp และ phpmyadmin มาให้ผมทางอีเมลด้วยครับ
Duplicate entry '' for key 'username' หมายถึง username ซ้ำเป็นค่าว่างครับ อาจเป็นไปได้ว่าคอลัมน์ username เป็น unique อยู่ จะลองเปลี่ยนให้เป็น index ดูก็ได้ครับ
แต่ปัญหาที่ผมสงสัยคือ ทำไมผมลองด้วยตัวเองบนเว็บไซต์ตัวอย่างของผมมันได้ (username เป็น unique)
Duplicate entry '' for key 'username' หมายถึง username ซ้ำเป็นค่าว่างครับ อาจเป็นไปได้ว่าคอลัมน์ username เป็น unique อยู่ จะลองเปลี่ยนให้เป็น index ดูก็ได้ครับ
แต่ปัญหาที่ผมสงสัยคือ ทำไมผมลองด้วยตัวเองบนเว็บไซต์ตัวอย่างของผมมันได้ (username เป็น unique)
ผมทำการส่งเข้า E-mail เรียบร้อยแล้วครับ
ทดลองทั้งเปลี่ยน Browser เปลี่ยนเครื่องเข้าแล้ว ก็ยังใช้งานไม่ได้ครับ
ตัว extension ไม่ได้มีเปิดไว้ครับ เพราะทดสอบจาก incognito mode ก็ไม่ได้ใช่กัน ลองเปลี่ยนไปใช้ Firefox ก็ไม่ได้เหมือนกัน
หรือทางแอดมินสะดวกเข้ามาเทสระบบมั้ยครับ
แล้วในไฟล์ log.php ที่ขึ้นว่า
ERROR: <br>Exception : <em>SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '' for key 'username'</em> in <b>/home/xxxxxxx/domains/xxxxxxxxxx/public_html/demo/repair01/modules/repair/models/receive.php</b> on line <b>137</b>
หมายความว่ายังไงครับ
เพราะผมลองจากหลายๆทางแล้วยังไงก็ไม่ได้จริงๆ
ตัว extension ไม่ได้มีเปิดไว้ครับ เพราะทดสอบจาก incognito mode ก็ไม่ได้ใช่กัน ลองเปลี่ยนไปใช้ Firefox ก็ไม่ได้เหมือนกัน
หรือทางแอดมินสะดวกเข้ามาเทสระบบมั้ยครับ
แล้วในไฟล์ log.php ที่ขึ้นว่า
ERROR: <br>Exception : <em>SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '' for key 'username'</em> in <b>/home/xxxxxxx/domains/xxxxxxxxxx/public_html/demo/repair01/modules/repair/models/receive.php</b> on line <b>137</b>
หมายความว่ายังไงครับ
เพราะผมลองจากหลายๆทางแล้วยังไงก็ไม่ได้จริงๆ
อัปเกรดเป็น 4.3.0 เลยครับ มีอัปเดทอยู่หลายจุด
ให้ update เป็น version 4.3.0 ตามลิงค์นี้นะครับ https://github.com/goragodwiriya/repair
Quotations by หมายเหตุ #13ให้ update เป็น version 4.3.0 ตามลิงค์นี้นะครับ https://github.com/goragodwiriya/repair
ใช่ครับ แต่บนเว็บที่ส่งมาผมอัปเดทให้แล้วนะครับ
ประสบปัญหาไม่สามารถบันทึกข้อมูลได้เหมือนกันค่ะ อาจารย์ใช้ เวอร์ชั่นใหม่ล่าสุด ขอคำแนะนำค่ะ แก้ไขเบื้องต้นตามกระทู้ไปแล้ว ก็ยังบันทึกไม่ได้ค่ะ
ลองอัปเดทดูใหม่ครับ เวอร์ชั่นปัจจุบันคือ 4.5.0 แล้ว
ในการใช้งาน ถ้ามี error ให้เอา error มาดูครับ เนื่องจากบนเว็บตัวอย่างไม่มีปัญหาการใช้งาน และไม่รู้ว่ามีปัญหาอะไร
error สามารถหาได้ 2 วิธี
1. ในโฟลเดอร์ datas/
2. เปิด DEBUG โหมด และอาจต้องดู error เพิ่มเติมใน console ของบราวเซอร์
ถ้ามีข้อมูลมากพอถึงจะช่วยแก้ไขปญหาให้ได้ครับ
ในการใช้งาน ถ้ามี error ให้เอา error มาดูครับ เนื่องจากบนเว็บตัวอย่างไม่มีปัญหาการใช้งาน และไม่รู้ว่ามีปัญหาอะไร
error สามารถหาได้ 2 วิธี
1. ในโฟลเดอร์ datas/
2. เปิด DEBUG โหมด และอาจต้องดู error เพิ่มเติมใน console ของบราวเซอร์
ถ้ามีข้อมูลมากพอถึงจะช่วยแก้ไขปญหาให้ได้ครับ
อันนี้ขึ้นใน error log ค่ะ อาจารย์
ตอนบันทึกข้อมูลไม่ได้พอมาเช็ค error จะขึ้นแบบนี้ใน folder /datas ค่ะ เราควรต้องแก้ไขอย่างไรบ้างคะ หนูไม่ค่อยเก่ง กำลังหัดเรียนรู้ค่ะ
ปัญหาที่เกิดคือ ลองบันทึกข้อมูลลูกค้าบางที บันทึกได้ 1 ไอดี จากนั้นก็บันทึกไม่ได้ค่ะ แล้วก็ขึ้น error log เหมือนในรูปค่ะ
อันนี้ ที่ดูตามลิ้งค์ที่ error ค่ะอาจารย์
จริงๆ ติดตั้งใหม่เวอร์ชั่นล่าสุดน่าจะหายนะ แต่ต้องใหม่จริงๆทั้งระบบ
ถ้าจะแก้ไข มี 2 ทางเลือก
1. ยกเลิกการเข้าระบบด้วยเบอร์โทรศัพท์ ถ้าไปเปิดใช้งานไว้ (ฟีเจอร์นี้ควรเปิดตั้งแต่ครั้งแรกที่ติดตั้ง)
2. เข้าไปที่ฐานข้อมูล ตาราง _user แก้ไขคอลัมน์ phone ให้สามารถรับค่าเป็น null ได้ error มันบอกว่า คอลัมน์ phone ต้องไม่เป็น null
ถ้าจะแก้ไข มี 2 ทางเลือก
1. ยกเลิกการเข้าระบบด้วยเบอร์โทรศัพท์ ถ้าไปเปิดใช้งานไว้ (ฟีเจอร์นี้ควรเปิดตั้งแต่ครั้งแรกที่ติดตั้ง)
2. เข้าไปที่ฐานข้อมูล ตาราง _user แก้ไขคอลัมน์ phone ให้สามารถรับค่าเป็น null ได้ error มันบอกว่า คอลัมน์ phone ต้องไม่เป็น null
ลองแก้ไขดูแล้วค่ะอาจารย์ ใช้งานได้แล้วค่ะ พอดีเอามาปรับแต่ง อีกหน่อย ถ้าอาจารย์ ออกคอร์ส ออนไลน์ สอนตั้งแต่ kotchasan เริ่ม หนูจะเรียนนะคะอาจารย์ ขอบคุณอาจารย์มากๆเลยค่ะ





