12 กรกฎาคม 2566

แก้ปัญหา Codeigniter Vesion 3. ไม่ทำงาน บน php 8. (บางส่วน)

Codeigniter Vesion 3. ไม่ทำงานบน php 8.
แล้วระบบแจ้ง Error
Creation of dynamic property CI_URI::$config is deprecated
โดยแก้ไข Error บางส่วน ตามด้านล่างนี้
 
ใส่ #[\ReturnTypeWillChange] ไว้ที่ด้านบน
แก้ไขที่ ไฟล์ system/libaries/Session/drivers/Session_files_driver.php 
#[\ReturnTypeWillChange]
public function open($save_path, $name)
{
   ...
}

#[\ReturnTypeWillChange]
public function read($session_id)
{
  ...
}

#[\ReturnTypeWillChange]
public function write($session_id, $session_data)
{
  ...
}

#[\ReturnTypeWillChange]
public function close()
{
  ...
}

#[\ReturnTypeWillChange]
public function destroy($session_id)
{
  ...
}

#[\ReturnTypeWillChange]
public function gc($maxlifetime)
{
  ...
}
 
ใส่ #[\AllowDynamicProperties] ไว้ที่ด้านบน 
แก้ไขที่ ไฟล์ /system/core/URI.php
#[\AllowDynamicProperties]
class CI_URI { 
}
แก้ไขที่ ไฟล์ /system/core/Router.php
#[\AllowDynamicProperties]
class CI_Router {
} 
แก้ไขที่ ไฟล์ /system/core/Loader.php
#[\AllowDynamicProperties]
class CI_Loader {
} 
แก้ไขที่ ไฟล์ /system/core/Controller.php
#[\AllowDynamicProperties]
class CI_Controller {
}
แก้ไขที่ ไฟล์ /system/core/DB_driver.php

#[\AllowDynamicProperties]

abstract class CI_DB_driver { 

}

 

9 พฤศจิกายน 2563

แก้ปัญหา Session Codeigniter Vesion 3. ไม่ทำงาน บน php 7.

1. ไปที่ โฟล์เดอร์ system\libraries\Session 

2. เปิดไฟล์ Session.php

3. ค้นหา $params['cookie_name'] = ini_get('session.name'); แทนด้วย $params['cookie_name'] = session_name();

4. ค้นหา ini_set('session.name', $params['cookie_name']); แทนด้วย session_name($params['cookie_name']);

อัพเดทเวอร์ชั่น php, phpMyadmin, Apache บน Xampp

1. ปิด Service Apache บน Xampp Control Panel

2. ดาวน์โหลด Xampp เวอร์ชั่นที่ต้องการบน https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/

3. เลือกไปที่เวอร์ชั่น 7.2.34 -> xampp-windows-x64-7.2.34-0-VC15.zip

4. หลังดาวน์โหลดมาแล้วทำการแตกไฟล์ zip ออกไว้ก่อน

5. จากนั้นทำการเปลี่ยนชื่อโฟลเดอร์ php, phpmyadmin, apache ที่อยู่ใน xampp ของเดิมให้เป็นชื่ออื่น

6. เสร็จแล้ว copy โฟลเดอร์ php, phpmyadmin, apache ที่อยู่ในโฟลเดอร์ที่ได้จากการแตกไฟล์ zip ไว้ตามข้อ 3 เพื่อนำมาวางในโฟลเดอร์ xampp แทนของเดิม

7. เปิด Service Apache บน Xampp Control Panel อีกครั้ง

หากไม่มีข้อผิดพลาด ก็จะได้ เวอร์ชั่นใหม่ของ php, phpMyadmin, Apache


 




7 สิงหาคม 2557

ดึงโพสต์ ของ เวิร์ดเพรส (wordpress) ด้วย taxonomies และ terms

ตัวอย่างการดึง โพสต์ ของ เวิร์ดเพรส (wordpress) ด้วย taxonomies และ terms 

จากรูปภาพด้านล่าง หากยังไม่รู้ post_type, taxonomy, terms ก็ให้เข้าไปทำการแก้ไข tags 

ก็จะเกิดลิงค์อย่างรูปด้านล่าง










เสร็จแล้วเมื่อนำมาเขียนเป็นโค้ดเพื่อดึง โพสต์ ก็จะได้ประมาณนี้ 

6 มีนาคม 2557

หาผลรวมของ array หลายมิติ โดยใช้ค่า index

วิธีหาผลรวมของ array ที่มีหลายมิติ โดยใช้ฟังชั่น array_map และ array_sum เข้าช่วย

ตัวอย่างการใช้งาน

$a[1] = array(1200, 2200, 1500, 2000, 2350, 0, 0, 0, 0, 0, 0, 0);
$a[2] = array(1500, 1000, 1254, 2584, 0, 0, 0, 0, 0, 0, 0, 0);

26 กุมภาพันธ์ 2557

วิธี set ค่า JpGraph ให้เป็นภาษาไทย

 วิธี set ค่า JpGraph ให้เป็นภาษาไทยครับ

1. ก๊อปปี้ ฟอนท์ที่อยู่ในเครื่องของเราที่จะใช้เช่นฟอนท์ cordia, angsana, browallia โดยไปที่ Start->พิมพ์คำว่า font แล้วก็อปปี้ฟอนท์เหล่านั้นไปวาง ที่โฟลเดอร์ fonts ของ jpgraph ครับ

2.เปิดไฟล์ jpgraph_ttf.inc.php ขึ้นมาเพื่อทำการแก้ไข

29 พฤศจิกายน 2556

ลบการเว้นบรรทัด(linebreaks) ของโค้ด PHP ที่เพิ่มมาใน Dreamweaver

     ปกติแล้วหากเรียนเขียนโค้ดด้วย Dreamweaver บนเครื่อง จัดรูปแบบโค้ดที่เรามองดูแล้วสวยงาม อ่านง่ายสำหรับเรา

     ซึ่งหากบางวันเราจำเป็นต้องแก้ไขโค้ด โดยไม่ได้ใช้ Dreamweaver อาศัยเบราเซอร์ แก้บน cpanel ของโฮสท์ ที่เตรียมไว้ให้เราแก้ไข

19 มิถุนายน 2556

ไอคอน เพิ่มเติม สำหรับ Css Twitter Bootstrap

วิธีการ และ ขั้นตอนในการทำ เข้าไปอ่านเพิ่มเติมได้ที่เว็บ

http://favbulous.com/demo/twitter-bootstrap-custom-icons/

26 พฤศจิกายน 2555

Codeigniter ส่งค่าที่เป็น Url ผ่านทาง Url

 หากจะส่งค่าที่เป็น Url  เช่น http://www.google.co.th ผ่านทาง Url หรือที่รู้จัก คือ ส่งแบบ GET นั่นเอง ซึ่งในการรับค่า GET ของ Codeigniter มันจะแบ่งค่าบน Url ด้วย / ซึ่งมันจะตัดส่วน http กับ www.google.co.th ออกจากกัน

แต่หากต้องการที่จะรับส่งโดยไม่ต้องนำมาต่อให้ยุ่งยาก ก็เลยต้องใช้ base64_encode / base64_decode เข้ามาใช้งานเพื่อแปลง http://www.google.co.th แล้วส่งค่าไปครั้งเดียว

11 ตุลาคม 2555

Codeigniter สร้าง Ajax Pagination ด้วย JQuery

บทความนี้เป็นตัวอย่างการนำ Codeigniter มาสร้าง Ajax Pagination ด้วย JQuery โดยผมดัดแปลงจากโค้ดของเว็บนี้ http://superdit.com/2011/11/22/simple-ajax-pagination-with-jquery-and-codeigniter/ 

ฐานข้อมูลตัวอย่าง

CREATE TABLE `tbl_word` (
  `word_id` int(11) unsigned NOT NULL auto_increment,
  `word` varchar(100) collate utf8_unicode_ci default NULL,
  PRIMARY KEY  (`word_id`)
) ENGINE=MyISAM AUTO_INCREMENT=1943 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

-- ----------------------------
-- Records 
-- ----------------------------
INSERT INTO `tbl_word` VALUES ('1', 'กิน');
INSERT INTO `tbl_word` VALUES ('2', 'รับประทาน');
INSERT INTO `tbl_word` VALUES ('3', 'ทาน');
INSERT INTO `tbl_word` VALUES ('4', 'ตลาด');

1 ตุลาคม 2555

PHP หาเดือนก่อนหน้า และ ย้อนหลัง 1 เดือน

<?php
function get_month($mm="") { 
 $_month_name = array(
    "01"=>"มกราคม",
    "02"=>"กุมภาพันธ์",
    "03"=>"มีนาคม",  
    "04"=>"เมษายน",
    "05"=>"พฤษภาคม",
    "06"=>"มิถุนายน",  
    "07"=>"กรกฎาคม",
    "08"=>"สิงหาคม",
    "09"=>"กันยายน",  
    "10"=>"ตุลาคม",
    "11"=>"พฤศจิกายน",
    "12"=>"ธันวาคม");
    $monthN= $_month_name[$mm];
    return $monthN;
}

27 สิงหาคม 2555

Prestashop เพิ่ม Textbox จำนวนที่จะซื้อ และจำนวนคงเหลือ ไว้หน้าแรก

Prestashop ธีม Default ในหน้าแรกจะมีรายการสินค้าให้เลือกเพื่อหยิบเข้าตระกร้า แต่จะไม่มีให้กรอกจำนวน หาอยากได้มากว่าหนึ่งชิ้น

ก็ทำการกดเพิ่มเข้าไปเรื่อย ๆ ระบบก็จะทำการบวกให้ หน้าจอก็จะประมาณนี้ครับ


21 สิงหาคม 2555

prestashop รันแล้วเป็นหน้าจอว่างเปล่า ไม่แสดง Error

หลังจากได้นำ prestashop ที่ติดตั้งไว้บนเซิฟเวอร์ กลับลงมาเก็บไ้ว้ที่เครื่อง ปรับแต่งค่าทุกอย่างให้ถูกต้อง แล้วทดลองรันดู

ไม่ขึ้นข้อความอะไรเลย เป็นหน้าจอว่างเปล่า วิธีแก้ไขปัญหาเบื่องต้นคือ

- ไปที่ไฟล์ config.inc.php ในโฟลเดอร์ config

16 สิงหาคม 2555

ใช้ฟอนต์บนเว็บไซต์ด้วย cufont

ขั้นตอนต่าง ๆ อ้างอิงจากบทความ http://www.select2web.com/jquery/font-on-web-by-cufon.html

1. ก็อปปี้โค้ดไฟล์ Cufon.yui.js ที่หน้า https://cdnjs.cloudflare.com/ajax/libs/cufon/1.09i/cufon-yui.js

2. แปลงฟ้อนท์ ที่ http://cufon.shoqolate.com/generate/

ในขั้นตอนการนำเอาฟ้อนท์ที่อยากใช้ไปแปลง เพื่อให้แสดงภาษาไทย ให้ทำดังนี้

15 สิงหาคม 2555

Codeigniter Mail Subject ไม่เป็นภาษาไทย

หลังจากได้ทำการส่งเมล์ด้วยไลบรารี่ ของ Codeigniter

$this->email->subject('มีสมาชิกใหม่ สมัครเข้าใช้งานระบบ'); //หัวข้อของอีเมล

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

กลับได้อย่างรูปด้านล่าง



11 กรกฎาคม 2555

Checkbox เลือกแล้วยังคงอยู่ เมื่อเปลี่ยนหน้า

บทความนี้เป็นตัวอย่างง่าย ๆ ในการทำให้ตัว เช็คบ๊อก(Checkbox) ยังคงอยู่เมื่อเราเปลี่ยนหน้าไปหน้าอื่น ซึ่งการทำเช่นนี้ เหมาะสำหรับเมื่อมีข้อมูลเยอะ ๆ แล้วนำมาแบ่งหน้าเพื่อแสดง ในตัวอย่างก็จะทำ Session มาเป็นตัวช่วยในการเก็บค่าให้ยังคงอยู่เมื่อเปลี่ยนหน้า

25 เมษายน 2555

ตัด HTML Tags ใน javascript

พอดีไปเจอบทความ การตัด HTML Tags ใน Javascript เลยจัดเก็บไว้เผื่อเอาไว้ใช้งาน

จากเว็บ http://css-tricks.com/snippets/javascript/strip-html-tags-in-javascript/ โค้ดที่เขาเขียนไว้ให้คือ

var StrippedString = OriginalString.replace(/(<([^>]+)>)/ig,"");

วิธีการนำไปใช้งาน

<script type="text/javascript">
var OriginalString = '<a href="http://localhost/program_seo/word_instead/edit/1" id="edit" name="edit" class="edit-instead"><font color="#FF0000">{กิน|รับประทาน|ทาน}</font></a>';
var StrippedString = OriginalString.replace(/(<([^>]+)>)/ig,"");
alert( StrippedString );
</script>

ข้อความที่ได้ก็จะเป็น " {กิน|รับประทาน|ทาน} " เท่านั้นครับ

8 มีนาคม 2555

Codeigniter 2.1.0 ใช้งาน SQL SELECT LIKE ออฟชั่น none ไม่ได้

Codeigniter 2.1.0  เขียนคำสั่งเพื่อเลือกข้อมูล

$this->db->like('ชื่อฟิว','คำที่ต้องการค้นหา','none');
 
ซึ่งผลลัพธ์ SQL ของมันที่ควรจะเป็นหลังจากเราเพิ่ม 'none' ต่อท้าย เพื่อไม่ใส่ % คือ

where 'ชื่อฟิว' like 'คำที่ต้องการค้นหา'

แต่ผลลัพธ์ที่ได้รับกลับเป็น

where 'ชื่อฟิว' like '%คำที่ต้องการค้นหา%'

ซึ่งมันก็ยังใส่ % มาให้เรา