ข้ามไปที่เนื้อหาหลัก

บทความ

กำลังแสดงโพสต์จาก ตุลาคม, 2018

มาปรับแต่งโค้ดให้ปลอดภัยด้วย rips-0.55 กันเถอะ

วิธีใช้คร่าวๆนะครับ 1.ดาวน์โหลด http://rips-scanner.sourceforge.net/ 2. คลายซิปไว้ที่เว็บไดเรกทอรี่ตรงไหนก็ได้อ แอดมินสร้าง /labs/ ขึ้นมาอีกที เวลาเข้าใช้ก็ http://localhost/labs/rips-0.55 3. กำหนด path / file: ที่ต้องการทดสอบ แนะนำให้คัดลอกโปรเจ็กต์เรามาว่างใน /labs เช่นกัน แล้วก็เอา PATH เต็มๆมาใส่ เช่น D:/www/labs/myproject 4. กด scan รอดูผลลัพธ์ ในขั้นตอนที่ 3 ถ้าต้องการตรวจเฉพาะบางโฟลเดอร์ก็ / ชื่อโฟลเดอร์เพิ่มเข้าไป ก็จะ scan เร็วขึ้น พอสรุปปัญหาแต่ละไฟล์แต่ละจุดออกมา ก็จำ Line ของไฟล์นั้นๆ ไปแก้ใน project จริงๆของเรา ดาวน์โหลดโปรแกรม rips-0.55 ได้ที่ http://rips-scanner.sourceforge.net/

PHP การอัพเกรดเวอร์ชั่น 7.1 กับปัญหาของ Codeigniter + TCPDF + FPDI

ปัญหาหลังอัพเกรด PHP 7.1 Declaration of PdfTemplate::addPage() Declaration of PdfTemplate::SetFont() Declaration of PdfTemplate::Link() Declaration of PdfTemplate::Image() พอรันหน้ารายงาน PDF ปุ๊บ เจอ Error message มาเป็นกระบุง!! แต่อย่าเพิ่งตกใจไป เข้าไปตาม File และ Line ที่ระบุเลย Let's Go++ เอาล่ะ ตรงดิ่งไปที่ บรรทัด 449 ??????? ไม่พบอะไรเลย สุดซอย ก็ถอยออกมาก่อน มาเริ่มจากฟังก์ชั่นแรก ก็คือ Declaration of PdfTemplate::addPage เอาไปค้นใน Google เลย แล้วมองหาเว็บ StackOverFlow ก็ได้หน้านี้มา (หาอยู่นานมาก >_<) https://stackoverflow.com/questions/19912591/fpdi-tcpdf-problems หลังจากลองแก้ไขตามกระทู้นี้ก็พบว่า "ใช้ได้จริงด้วย" ก็นั่งพินิจพิเคราะห์อยู่นานสองนาน จนแน่ใจว่า "แค่คัดลอกฟังก์ชั่นที่อยู่หลังคำอธิบาย Error มาวางแทนทีแค่นั้นเอง" (ตามรูปด้านบนนี้) หลังจากครบทั้ง 4 ฟังก์ชั่น ก็จะเจอ Error ตัวใหม่ๆ O_o' ก็ได้ใจความว่า ชื่อฟังก์ชั่นต้องไม่เป็นชื่อเดียวกับชื่อคลาสนั่นเอง (เปล่าหรอก จริงๆผมไม่ได้แปล แค่ก...

PHPEXCEL getCalculatedValue or getFormattedValue returns fatal error

PHPEXCEL กับปัญหาเรียกใช้งาน rangeToArray() ที่มีการผสานเซลล์ไม่ได้ ก่อนหน้านี้ใช้ PHP 5.5 ก็ไม่เคยมีปัญหาเรื่องเซลล์ที่ผสานกัน จนลองอัพเกรด PHP เป็น 7.1 ก็พบว่า ฟังก์ชั่น rangeToArray() ใช้ได้เฉพาะแถวที่ไม่ผสานเท่านั้น $rowTotalCheck = $sheet->rangeToArray ( 'A3:' . $highestColumn . '3', NULL, TRUE, FALSE ); $col = $rowTotalCheck[0]; $total_check = $col[6]; $total_dif     = $col[7];  ก็เลยต้องเปลี่ยนไปใช้ getCell('G3')->getValue(); $total_check = $sheet->getCell('G3')->getValue(); $total_dif= $sheet->getCell('I3')->getValue(); แต่ปรากฏว่า I3 เป็นสูตร SUM() ก็ได้ออกมาเป็นข้อความเฉยๆ ก็เลยต้องหากันต่อไปจนได้ฟังก์ชั่น getCell('I3')->getOldCalculatedValue() $total_dif     = $sheet->getCell('I3')->getOldCalculatedValue(); เมื่อลองรันดูก็พบว่าผ่านฉลุย อ้างอิง https://stackoverflow.com/questions/29966752/phpexcel-getcalculatedvalue-or-getformattedvalue-returns-fatal-error อ่านเรื่อง...

CodeIgniter 3 กับวิธีแก้ปัญหา PHP 7.1 ยกเลิกฟัง์กชั่น mcrypt_encrypt is deprecated

Deprecated function !! mcrypt_encrypt(), mcrypt_decrypt(), mcrypt_create_iv() สำหรับการแก้ไขก็คือ ใช้ฟังก์ชั่น openssl_encrypt() และ openssl_decrypt() แทนที่ฟังก์เดิม สร้างไฟล์ MY_Encrypt.php ไว้ที่ไดเรกทอรี่ application/libraries/MY_Encrypt.php <?php if (!defined('BASEPATH'))    exit('No direct script access allowed'); /**  * Override for solve deprecated function  * mcrypt_encrypt(), mcrypt_decrypt(), mcrypt_create_iv()  */ class MY_Encrypt extends CI_Encrypt {     public function __construct()     {         parent::__construct();     }     /**      * Encrypt using Mcrypt      *      * @param    string      * @param    string      * @return    string      */     public function mcrypt_en...

jQuery กับวิธีกำหนด checked ให้กับ checkbox ตามค่าที่บันทึกในฐานข้อมูล

jQuery selector by Attrubute matching value จากภาพด้านบนนั้น คือการเลือกตัวเลือกตามข้อมูลที่อยู่ในฐานข้อมูล เช่น ฟิลด์ level มีค่า 2 เมื่อนำมาใส่ในแอตทริบิวต์ data-record-value ของตัวเลือกทุกตัวเรียบร้อย เราสามารถตรวจสอบ checkbox ตัวที่มีค่า value ตรงกับในฐานข้อมูลที่ดึงออกมา หรือตรงกับแอตทริบิวต์ที่สร้างขึ้นมาด้วย jQuery ดังนี้             $( "input[type='checkbox']" ).prop( "checked", function( i, val ) {                 return $(this).val() == $(this).data('record-value');             }); โค้ดฉบับเต็มสำหรับนำไปทดสอบกันดูครับ ลองเปลี่ยนค่าใน $row['level'] จาก 2 เป็น 1 และ 3 ตามลำดับดูนะครับ <?php $row['level'] = 2; ?> <html lang="en">   <head>     <meta charset="utf-8">     <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>   </head> <body>     ...

PHP ตรวจสอบรูปแบบเวลา HH:MM:SS

PHP Validate Time Format <?php function isTime($time) { if(strlen($time) == 5){ return preg_match("#([0-1]{1}[0-9]{1}|[2]{1}[0-3]{1}):[0-5]{1}[0-9]{1}#", $time); }elseif(strlen($time) == 8){ return preg_match("#([0-1]{1}[0-9]{1}|[2]{1}[0-3]{1}):[0-5]{1}[0-9]{1}:[0-5]{1}[0-9]{1}#", $time); } return false; } $time1 = '00:12:60'; $time2 = '24:12:14'; $time3 = '15:12:21'; echo "<br>TEST FALSE , isTime('$time1') = " . (isTime($time1) > 0? 'TRUE' : 'FALSE'); echo "<br>TEST FALSE , isTime('$time2') = " . (isTime($time2) > 0? 'TRUE' : 'FALSE'); echo "<br>TEST <b>TRUE</b> , isTime('$time3') = " . (isTime($time3) > 0? '<b>TRUE</b>' : 'FALSE'); ?> ผลลัพธ์ อ้างอิง http://burnignorance.com/php-programming-tips/how-to-check-time-format-hhmm-in-php/

Google Pie Chart ต่อแขนต่อขา ชี้ข้อมูลแต่ละส่วน จัดป้ายกำกับให้ดูสบายตา

Google Pie Chart หลังจากค้นหาอยู่นาน เพราะคิดไม่ออกว่าหลังจากทดสอบโค้ดนี้เสร็จแล้วไปเก็บไว้ไหน พอค้นเจอก็รีบจัดการโพสต์ไว้บนบล็อกซะเลย <html>   <head>     <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>     <script type="text/javascript">       google.charts.load("current", {packages:["corechart"]});       google.charts.setOnLoadCallback(drawChart);       function drawChart() {         var data = google.visualization.arrayToDataTable([           ['Task', 'Hours per Day'],           ['Work',     8],           ['Eat',      2],           ...

ค้นหาในเว็บไซต์

เนื้อเพลงที่ได้รับความนิยม ในรอบสัปดาห์

ค้นหาบล็อกนี้