Fatal error: Uncaught Error: undefined function CodeIgniter\locale_set_default()

โดย SONGCHAI SAETERN •
หลังจากที่ได้ติดตั้ง PHP 8.0 และลองนำ CodeIgniter Framework 4.0.4 มาทดสอบดู ก็ปรากฏ Error ดังนี้




ปัญหาเกิดจากขาด Extension บางตัว ให้แก้ไขที่ไฟล์ php.ini

1. ค้นหา ;extension=intl   จะเห็นว่ามี ; อยู่ด้านหน้า
    ให้เอาคอมเมนต์ออกเหลือเพียง 
    extension=intl

2. ค้นหา extension_dir จากนั้นให้ใส่เป็น PATH เต็มเข้าไปแทน
    เช่น extension_dir = "C:\Apache24\php8\ext"


ให้ทำการ ปิด-เปิด Service ของ Apache ใหม่ (เปิด Command promt แบบ Run as administrator)

C:\> cd C:\Apache24\bin
C:\Apache24\bin> httpd.exe -k restart

ถ้ายังไม่ได้ให้ทำการคัดลอกไฟล์เหล่านี้ไปวางที่ System32


icu*.dll    <-- จะมีหลายตัวด้วยกันที่ขึ้นต้นด้วย icu.......

เอาไปวางที่ C:\Windows\System32 

ถ้ายังรันไม่ได้ให้เอาไปวางที่ C:\Windows\SysWOW64 อีกที่ด้วย




อ้างอิง
https://codeinsane.wordpress.com/2018/05/16/install-apache-and-php/
https://forum.codeigniter.com/thread-77086.html
https://www.php.net/manual/en/install.pecl.windows.php
http://forum.wampserver.com/read.php?2,80704,printview,page=1


PHP CI MANIA - PHP Code Generator 

โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม"
http://fastcoding.phpcodemania.com/index.php/#purchase-order
ราคาสุดคุ้ม  
http://fastcoding.phpcodemania.com

นอกจาก PHP เรียนภาษาเขียนโปรแกรมตัวไหนเพิ่มเติมอีกดี?

โดย SONGCHAI SAETERN •
อีกแค่เดือนเดียวก็จะผ่านปี 2020 ไปแล้ว
หลังจากที่ตัวผมเองใช้ชีวิตอยู่กับ PHP มาอย่างยาวนาน 
ก็คิดว่าน่าจะถึงเวลาแล้วที่จะต้องลองเขียนภาษาใหม่ๆ ดูสักที

และเพื่อไม่ให้เกิดความซ้ำซ้อนกับภาษาเดิมนั่นก็คือ PHP ที่เป็นภาษาหลัก
ผมจึงลองแยกความต้องการเรียนรู้ของตนเองออกมา และก็พบว่า
สิ่งที่อยากเรียนรู้เพิ่มเติมก็มีเพียงงานอีก 3 ด้าน นั่นก็คือ
1) Mobile Application 
2) Data Science / AI : Machine Learning 
3) Internet of Things : IoT

แต่เมื่อลองค้นหาดูก็พบว่าสิ่งที่ต้องเรียนรู้เพิ่มเติมกลับมีเพียง 2 ภาษาเท่านั้น
คือ 1) ภาษา Dart  และ 2) ภาษา Python


แต่เหนือสิ่งอื่นได้ภาษาหลักอย่าง PHP 8.0 ก็ยังคงต้องเรียนรู้ควบคู่ไปด้วย

     

PHP แต่เดิมย่อมาจากคำว่า "Personal Home Page Tool"
ดังนั้น PHP จึงเกิดมาเพื่อใช้สร้างเว็บไซต์เป็นหลัก โดดมี CMS ชื่อดังมากมาย
เช่น WordPress, Joomla, Drupal, OpenCart, Magento
แต่สำหรับการการสร้างเว็บไซต์ด้วยตนเองนั้นจะต้องเรียนรู้ภาษาอื่นๆเพิ่มเติมอีกด้วย
เช่น HTML, CSS, JavaScript
นอกจากนี้เพื่อให้การพัฒนาเว็บไซต์สะดวกรวดเร็วยิ่งขึ้นจะต้องศึกษา
PHP Framework ต่างๆเพิ่มเติมด้วย




งานด้านการพัฒนาโปรแกรมบนมือถือ
Flutter เป็นอีกหนึ่ง framework ที่อยู่ในหมวด hybrid-native 
โดยที่ไม่ต้องสร้าง Component เอง โดยจะมี Component  พื้นฐานให้ ซึ่งเรียกว่า Widget 
ภาษาที่ใช้ใน Flutter คือภาษา Dart ซึ่งถูกพัฒนาโดย Google
สามารถทำงานข้ามแพลตฟอร์มได้ทั้ง iOS และ Android
จึงช่วยลดเวลาการพัฒนาแอพพลิเคชั่นบนมือถือได้เป็นอย่างมาก



             
สำหรับงานด้าน Data Science / AI : Machine Learning / Internet of Things : IoT
Python เป็นภาษาที่มี Libraries ให้เรียกใช้งานได้มากมาย
โดยเฉพาะ Data Science libraries จึงเป็นที่ถูกใจของนักวิทยาศาสตร์ด้านข้อมูล
นอกจากนี้ ในยุคที่อุปกรณ์อิเล็กทรอนิกส์ทุกอย่างสามารถเชื่อมต่อถึงกันได้
ด้วย Internet การจะควบคุมอุปกรณ์ต่างๆโดยใช้ภาษา Python ก็สามารถทำได้
โดยเฉพาะ Raspberry Pi ที่เป็นเหมือนคอมพิวเตอร์จิ๋ว 
ได้ถูกออกแบบมาเพื่อทำงานร่วมกับภาษา Python ได้อย่างดีเยี่ยม







:: อ้างอิง ::








PHP CI MANIA - PHP Code Generator 

โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม"
http://fastcoding.phpcodemania.com/index.php/#purchase-order
ราคาสุดคุ้ม  
http://fastcoding.phpcodemania.com

PHP หาช่วงเวลาของวันที่เริ่มต้นโครงการ กับวันสิ้นสุดโครงการ

โดย SONGCHAI SAETERN •

PHP หาช่วงเวลาของวันที่เริ่มต้นโครงการ กับวันสิ้นสุดโครงการ




รายละเอียด


PHP CI MANIA - PHP Code Generator 

โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม"
http://fastcoding.phpcodemania.com/index.php/#purchase-order
ราคาสุดคุ้ม  
http://fastcoding.phpcodemania.com

การออกแบบ ตารางรายงานสินค้าคงเหลือ

โดย SONGCHAI SAETERN •
การออกแบบ ตารางรายงานสินค้าคงเหลือ

จะประกอบด้วยตารางอย่างน้อย 4 ตารางด้วยกัน คือ

1) ตารางรายชื่อสินค้า
2) ตารางรับเข้า
3) ตารางขายออก
4) ตารางสินค้า คงเหลือ








PHP CI MANIA - PHP Code Generator 

โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม"
http://fastcoding.phpcodemania.com/index.php/#purchase-order
ราคาสุดคุ้ม  
http://fastcoding.phpcodemania.com

ออกแบบตารางสำหรับนำเข้าข้อมูลวัสดุ/วัตถุดิบ จากไฟล์ Excel โดยใช้ PHP CI MANIA เวอร์ชั่น PREMIUM

โดย SONGCHAI SAETERN •

ออกแบบตารางสำหรับนำเข้าข้อมูลวัสดุ/วัตถุดิบ จากไฟล์ Excel 

โดยใช้ PHP CI MANIA เวอร์ชั่น PREMIUM













PHP CI MANIA - PHP Code Generator 

โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม"
http://fastcoding.phpcodemania.com/index.php/#purchase-order
สนใจสั่งซื้อราคาสุดคุ้ม
http://fastcoding.phpcodemania.com

แก้ปัญหา MySQL ไม่ทำงาน หลังจากอัพเดต Windows 10 Version 2004

โดย SONGCHAI SAETERN •
กรณีอัพเดต Windows 10 แล้ว MySQL ไม่ทำงาน




ไปที่เมนูค้นหา พิมพ์ cmd จะปรากฏ Command Prompt ขึ้นมาให้คลิกขวา เลือก Run as administrator

วางคำสั่งต่อไปนี้ลงไป โดยกำหนด Path ให้ถูกต้องตามที่ได้ติดตั้ง MySQL เอาไว้

"C:/Program Files/MySQL/MySQL Server 5.6/bin/mysqld" --install MySQL56 --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.6\my.ini" 



C:/Program Files/MySQL/MySQL Server 5.6/bin/mysqld
คือตำแหน่งที่ติดตั้ง MySQL


C:\ProgramData\MySQL\MySQL Server 5.6\my.ini
คือตำแหน่งไฟล์คอนฟิกที่เรียกใช้งาน



ในตัวอย่างนี้จะเป็น MySQL Server 5.6 บน Windows 10 จึงได้ Path ตามโค้ดด้านบน
หากนำไปใช้ต้องปรับแต่งให้ตรงกับเวอร์ชั่นที่ใช้





อ้างอิง
https://www.sitepoint.com/how-to-install-mysql/
https://dev.mysql.com/doc/mysql-windows-excerpt/5.6/en/windows-start-service.htmlีทั




PHP CI MANIA - PHP Code Generator 

โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม"
http://fastcoding.phpcodemania.com/index.php/#purchase-order
สนใจสั่งซื้อราคาสุดคุ้ม
http://fastcoding.phpcodemania.com

แก้ไขปัญหาการ Import file เกิด error และข้อมูลเลื่อนตำแหน่งเมื่อมีค่าว่าง (PHP CI MANIA 0.8.4.07)

โดย SONGCHAI SAETERN •
เมื่อมีข้อมูลว่า อยู่ช่องใดช่องหนึ่ง จะเกิด error และข้อมูลจะเลื่อนตำแหน่ง เช่นในภาพ แถวที่ 2 ไม่มีนามสกุล จะเกิดการเลื่อนแถวที่ 3 ขึ้นทำให้คลาดเคลื่อน ซึ่งจะสังเกตได้จาก error แจ้งเตือนตอนบันทึก



เมื่อลองเปิดดูโค้ด HTML ในส่วนของข้อมูลต่างๆใน INPUT จะสังเกตว่า ชื่อที่เป็น Array ไม่มีการกำหนด Key Index ให้กับแต่ละแถว



เมื่อเรียกใช้คำสั่ง serializeObject() จึงทำให้เกิดข้อมูลคลาดเคลื่อน เป็นเจอชื่อซ้ำๆกันหมด



ดังนั้น เมื่อต้องการใช้ฟังก์ชั่น serializeObject() จะต้องไม่ลืมกำหนด Index ให้กับ name="" แต่ละตัวด้วย ก็จะได้ดังรูป


ถ้าเปิดตรวจสอบอีเลเมนต์ในหน้าเว็บก็จะพบว่าในวงเล็บ [] จะมีตัวเลขอยู่ด้านไหนเพื่อระบุตำแหน่งของแต่ละแถวด้วย



จากนั้น เมื่อลองกดบันทึกข้อมูลอีกครั้ง จะไม่มี Error และสามารถนำเข้าข้อมูลได้ถูกต้อง




ข้อมูลในฐานข้อมูลแถวที่ A ก็จะเป็นค่าว่างในช่องนามสกุล ซึ่งตรงตามไฟล์ที่กำหนดไว้






อัพเดตเวอร์ชั่นได้ที่




PHP CI MANIA - PHP Code Generator 

โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม"
http://fastcoding.phpcodemania.com/index.php/#purchase-order
สนใจสั่งซื้อราคาสุดคุ้ม
http://fastcoding.phpcodemania.com

เพิ่ม Popup สำหรับเลือกดูรายการ Module ที่เคยบันทึกการตั้งค่าเอาไว้ได้ (PHP CI MANIA 0.8.4.06)

โดย SONGCHAI SAETERN •
เพิ่ม Popup สำหรับเลือกดูรายการ Module ที่เคยบันทึกการตั้งค่าเอาไว้ได้


1. คลิกที่รูปโฟลเดอร์ข้างปุ่ม บันทึกการตั้งค่า



2. รายการ Module ต่างๆที่เคยสร้างเอาไว้จะปรากฏขึ้นมาให้เลือก


3. เมื่อคลิกดูข้อมูล จะปรากฏป๊อบอัพขึ้นมาให้ยืนยัน เพื่อโหลดข้อมูลการตั้งค่าขึ้นมาใช้งาน



สมาชิก PHP CI MANIA เวอร์ชั่น PREMIUM สามาเข้า Download ได้ที่
http://fastcoding.phpcodemania.com/index.php/downloads



PHP CI MANIA - PHP Code Generator 

โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม"
http://fastcoding.phpcodemania.com/index.php/#purchase-order
สนใจสั่งซื้อราคาสุดคุ้ม
http://fastcoding.phpcodemania.com

ตัวอย่างการทำวิดีโออยู่พื้นหลัง เพื่อทำให้สกอร์บอร์ดลอยอยู่เหนือวิดีโอ - Basketball Score Board

โดย SONGCHAI SAETERN •
ตัวอย่างการทำวิดีโออยู่พื้นหลัง เพื่อทำให้สกอร์บอร์ดลอยอยู่เหนือวิดีโอ
เมื่อเรากด F11 จะทำให้เว็บบราวเซอร์เข้าโหมด Full screen ก็จะได้ภาพวิดีโอเต็มหน้าจอ
และมีส่วนของ Score Board ติดอยู่กับจอด้านล่าง และสามารถเพิ่มปุ่มควบคุมต่างๆ

เช่น ปุ่มควบคุมวิดีโอ ปุ่มเปิด/ปิดความคิดเห็น และอื่นๆที่ต้องวางไว้บนวิดีโอได้อีกด้วย

ภาพประกอบจาก Youtube : https://www.youtube.com/channel/UCDPsA3tAYGUrBM2KVhuv0ow/featured


ส่วนของ HTML

<div id="fullScreenDiv">
        <img src="https://www.imi21.com/wp-content/uploads/2016/11/t12.jpg" id="videosubstitute" alt="Full screen background video">
        <div id="videoDiv">           
            <video id="video" preload autoplay muted playsinline loop>
            <source src="video/t12.webm" type="video/webm"></source>
            <source src="video/t12.mp4" type="video/mp4"></source>
            </video> 
        </div>
        <div id="messageBox"> 
            <div>
                <h1>Full screen background video</h1>
                <h2>Would you like this on your site?</h2>
                <h3><a href="#main" class="scrolly">Read below</a></h3>
            </div>
        </div>   
    </div>

The CSS3 styles

/* Default to hide the video on all devices */
#video{display:none}

/* Default to display the image on all devices */
#videosubstitute{display:block;width:auto;height:100%;}

html, body {
    height: 100%;
    margin: 0;
}
#fullScreenDiv{
    width:100%;
    min-height: 100%; 
   /* Set the height to match that of the viewport. */
    height: 100vh;
    width: auto;
    padding:0!important;
    margin: 0!important;
    background-color: gray;
    position: relative;
}
#video{    
    width: 100vw; 
    height: auto;
    object-fit: cover;
    left: 0px;
    top: 0px;
    z-index: 1;
}

@media (min-aspect-ratio: 16/9) {
  #video{
    height: 150%;
    top: -100%;
  }
  #videosubstitute{
    display:block;
    width: 100%;
    height: auto;}
}

@media (max-aspect-ratio: 16/9) {
  #video {
    width: 150%;
    left: -100%;
  }
  #videosubstitute{display:block;width:auto;height:100%;}
}
/*if there is 992  pixels or more, then display the video but hide the image*/
@media only screen and (min-width : 992px) {
#video{display:block;}
#videosubstitute{display:none}
}   

/* The container for our text and stuff */
#messageBox{
    position: absolute;  top: 0;  left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height:100%;
}


ที่มา : https://www.imi21.com/background-video-full-screen.php




ระบบบริหารจัดการทีมบาสเกตบอล ด้วย PHP & MySQL
https://phpcodemania.blogspot.com/2020/07/basketball-management-system.html


PHP CI MANIA - PHP Code Generator 

โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม"
http://fastcoding.phpcodemania.com/index.php/#purchase-order
สนใจสั่งซื้อราคาสุดคุ้ม
http://fastcoding.phpcodemania.com

PHP CI MANIA 0.8.4.05 อัพเดตแบบฟอร์มตั้งคำถามกรณีลืมรหัสผ่าน

โดย SONGCHAI SAETERN •







สมาชิก PHP CI MANIA ดาวน์โหลดได้ที่นี่



 




PHP CI MANIA - PHP Code Generator 

โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม"
http://fastcoding.phpcodemania.com/index.php/#purchase-order
สนใจสั่งซื้อราคาสุดคุ้ม
http://fastcoding.phpcodemania.com

การตั้งวันเวลาโพสต์แบบล่วงหน้า Facebook Fanpages

โดย SONGCHAI SAETERN •
1. คลิกไปที่แท็ป เพิ่มเติม
2. เลือกเมนู "เครื่องมือการเผยแพร่"


3. เลือกเมนูด้านซ้ายมือ "โพสต์ที่กำหนดเวลาไว้"
4. คลิกปุ่ม "สร้างโพสต์"



5. กรอกข้อความที่ต้องการโพสต์ในหน้าต่างที่เด้งขึ้นมา
6. จากนั้นคลิกปุ่ม "กำหนดเวลาโพสต์"


7. เลือก วันที่
8. เลือก เวลา ที่ต้องการ
9. เมื่อตรวจสอบเรียบร้อยคลิกที่ปุ่ม "กำหนดเวลา" เพื่อสิ้นสุดการโพสต์แบบตั้งเวลาล่วงหน้า


10. เมื่อดำเนินการเรียบร้อย จะมีข้อความแจ้ง

หากต้องการตรวจสอบลำดับการโพสต์ต่างๆ เมื่อข้อความที่แจ้ง เผยแพร่แล้ว หายไป ก็ให้รีเฟรชหน้าเว็บอีกครั้งเพื่อดูรายการจะเรียงตามช่วงวันที่และเวลาที่เราได้กำหนดเอาไว้





PHP CI MANIA - PHP Code Generator 

โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม"
http://fastcoding.phpcodemania.com/index.php/#purchase-order
สนใจสั่งซื้อราคาสุดคุ้ม
http://fastcoding.phpcodemania.com

สร้างระบบบริหารจัดการทีมบาสเกตบอล ด้วย PHP & MySQL

โดย SONGCHAI SAETERN •


ระบบบริหารจัดการทีมบาสเกตบอล












PHP CI MANIA - PHP Code Generator 

โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม"
http://fastcoding.phpcodemania.com/index.php/#purchase-order
สนใจสั่งซื้อราคาสุดคุ้ม
http://fastcoding.phpcodemania.com