Page 2 of 9

ค่า IPN ที่ได้จาก paypal

เก็บค่าไว้ดูเฉยๆ ครับ ถึงแม้ว่า Paypal จะมี REST API ออกมาแล้ว แต่ถ้าทำบนเว็บ ผมก็ยังชอบ Classic API มากกว่า อย่างน้อยมัน Redirect ไปที่ Paypal เลย ทำให้ดูเหมือนว่าเราจ่ายเงินกับ Paypal จริงๆ ทีนี้ตอนส่งค่ากลับ เราควรจะส่งค่าไปที่ IPN เพื่อทดสอบว่าที่เราจ่ายเงินไปเมื่อกี้ผ่านหรือไม่ลักษณะก็ประมาณในรูปนี้

รายละเอียดเพิ่มเติม อ่านได้จากตรงนี้เลย

https://developer.paypal.com/docs/classic/ipn/gs_IPN/

ค่าที่ส่งมาก็ตามนี้เลย

Array ( [0] => mc_gross=10.74 [1] => protection_eligibility=Ineligible [2] => payer_id=7AKYXA62JHJ28 [3] => tax=0.00 [4] => payment_date=01%3A26%3A48+Jun+29%2C+2014+PDT [5] => payment_status=Completed [6] => charset=windows-1252 [7] => first_name=POP [8] => mc_fee=0.61 [9] => notify_version=3.8 [10] => custom=1%2C+popcm82%40gmail.com [11] => payer_status=verified [12] => business=shikimasan-facilitator%40gmail.com [13] => quantity=1 [14] => payer_email=popcm82%40gmail.com [15] => verify_sign=An5ns1Kso7MWUdW4ErQKJJJ4qi4-AZ7COGevOZwhzP.I7xXBZluVjWBi [16] => txn_id=90604886TJ142822G [17] => payment_type=instant [18] => last_name=EYE [19] => receiver_email=shikimasan-facilitator%40gmail.com [20] => payment_fee=0.61 [21] => receiver_id=E6DSF6LCZKA6Y [22] => txn_type=web_accept [23] => item_name=SBOBET222+registeration [24] => mc_currency=USD [25] => item_number= [26] => residence_country=US [27] => test_ipn=1 [28] => handling_amount=0.00 [29] => transaction_subject=1%2C+popcm82%40gmail.com [30] => payment_gross=10.74 [31] => shipping=0.00 [32] => merchant_return_link=click+here [33] => auth=AAPg-EApVQ6-.mrEUuFjCtr5Ab7MQlltZSL.791sCcItxm-uIk5xClVtjyHWodt9XDb.0c29pZH9bjdstlxW8xQ ) The response from IPN was: INVALID

Windows 7 ISO จากเว็บ Microsoft

Windows 7 ถือว่าเป็น OS ที่ดีมากตัวหนึ่งของ Microsoft คอมรุ่นใหม่ๆ ไม่ว่าจะเป็น Desktop หรือ Notebook เดี๋ยวนี้โดนบังคับให้ลง Windows 7 ขึ้นไปแล้วทั้งนั้น (จริงๆ บังคับที่ Vista แต่ตัวนั้นมันเป็น 7 beta เลยไม่นับละกัน)

Microsoft ใจดี แจก Windows 7 ให้โหลดกันไปใช้งานได้ 30 วัน ถ้าอยากใช้งานต่อก็หา CD Key มาใส่กันเองนะ ไฟล์ ISO นี้สามารถใช้ Windows 7 USB/DVD Download tools เขียนลงแผ่น DVD หรือใส่ Flash drive ได้เลย

 

โหลดแล้ว อย่าลืมซื้อ CD Key แทนใส่ด้วยนะ

Regular expression ที่ผมใช้บ่อยๆ

แอบอู้มานาน เอาของที่ใช้กันอยู่ทุกวัน มาแจกให้

โค๊ดพวกนี้ผมจะใช้ใน javascript นะ ถ้าเอาไปใช้กับภาษาอื่นๆ ก็เปลี่ยนแปลงนิดหน่อย ก็ได้ละ

var emailpattern = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
var usernamepattern = /^([a-zA-Z0-9_]{6,16})+$/;
var moneypattern = /^([1-9][0-9]{0,10}|[1-9][0-9]{0,10}.[0-9]{2})$/;
var daypattern = /^[2][0-9]{3}\-[0-9]{1,2}\-[0-9]{1,2}$/;
var timepattern = /^([0-9]{1,2}:[0-9]{1,2})|([0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})$/;
var passwordpattern = /^(?=.*\d).{6,12}$/;

เสร็จอย่างไว

ตัวเลขปวดหัวๆ กับ Javascript

สวัสดีเพื่อนๆ ช่วงนี้ทำงานหลายอย่าง ไม่มีเวลาเข้ามาเขียนอะไรเลย รอบนี้เอาสั้นๆ ละกันเนอะ

ตอนนี้ผมก็เขียนเว็บที่มีตัวเลขมาเกี่ยวข้องนิดหน่อย จริงๆ แล้วก็ไม่ค่อยถูกกับตัวเลขเท่าไหร่หรอก แต่ในเมื่อเขาขอมาผมก็จัดไป (แต่ก็ยังไม่ 100% ซะที)

เพื่อนที่เคยเขียนเว็บมาคงมีปัญหาตัวเลขกับ Javascript กันมาพอสมควร ผมขอยกตัวอย่างง่ายๆ ที่เจอกันบ่อยๆ นะครับ

1. ช่องใน textbox เป็นค่าว่าง แล้วพอนำไปคำนวนตัวเลข จะกลายเป็น NaN (Not a Number) ซะ ทำให้ค่าที่ออกมาผิดไปหมดเลย วิธีการแก้ปัญหาก็แสนจะง่ายคือ เอาค่าไป OR กับ 0 (ศูนย์) ซะ แค่นี้ก็แก้ปัญหาได้แล้ว ตัวอย่างโค๊ดก็แบบนี้

var number = parseFloat(jQuery("#number").val());
// แบบนี้ ถ้าหากเป็นค่าว่าง จะมีปัญหา NaN ก็แก้แบบนี้ซะ

var number1 = parseFloat(jQuery("#number1").val()) || 0;
// แบบนี้ ถ้าเป็นค่าว่างก็จะกลายเป็น 0 แทน เท่านี้ก็แก้ปัญหาได้แล้ว

2. ทศนิยมใน Javascript มันเพี้ยน หรือต้องการทศนิยมแค่ 2 ตำแหน่ง ไม่ยากเลย ใช้คำสั่ง toFixed() ซะ แค่นี้ก็จะแสดงทศนิยมตามที่ต้องการได้แล้ว ตัวอย่างเช่น


var number = 123.456789;
alert(number); // แสดงผล 123.456789
alert(number.toFixed(2)); // แสดงผลแค่ 123.45

3. ป้อนข้อมูลเข้ามามีเครื่องหมาย , ด้วย แต่ตอนที่เอาไปคำนวนต้องตัด , ออกไปก่อน บางที user ไม่อยากแก้ (ขี้เกียจ) หรืออาจจะไม่ทันได้แก้ หลงลืมได้ ไม่ว่ากัน เราก็เขียนกันไว้ก่อนซะ ง่ายๆ เลย ใช้ regular expression ซะ แค่นี้เราก็ตัดเครื่องหมาย , ออกได้แล้ว ผมเขียนเป็น function ใหม่ละกัน ไม่ต้องไปสร้างเป็น prototype ให้มันยุ่งยากเนอะ

function makeNumber(obj) {
   jQuery("#"+obj.id).val(obj.value.replace(/[,]/g,""));
}

<input type=”text” name=”number” id=”number” value=”0″ onChange=”makeNumber(this);”>
อ่าเอาแค่นี้ก่อนละกัน ยิ่งเขียนยิ่งรั่วแหละ เดี๋ยวเคลียงานเสร็จแล้วจะมาแก้ไขให้ดูดีกว่านี้ละกันครับ แล้วเจอกันใหม่ 🙂

เอา index.php ออกจาก URL ใน codeigniter

ช่วงนี้เริ่มเปลี่ยนมาใช้ codeigniter ได้พักใหญ่ๆ แล้ว แต่ก็ต้องคอยค้นหาวิธีเอา index.php ออกจาก URL ตลอด ซึ่งก็ไม่พ้น google นี่แหละ ตอนนี้ก็เลยเอามาลงไว้เผื่อคราวหน้าจะได้ไม่ต้องไปหาที่ไหนอีกละ

ขั้นตอนแรก สร้างไฟล์ .htaccess ใส่โค๊ดตามนี้

<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteBase /

 RewriteCond %{REQUEST_URI} ^system.*
 RewriteRule ^(.*)$ /index.php?/$1 [L]

 RewriteCond %{REQUEST_URI} ^application.*
 RewriteRule ^(.*)$ /index.php?/$1 [L]

 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>

จากนั้นแก้ไฟล์ application/config/config.php

หาบรรทัดที่เขียนว่า


$config['index_page'] = 'index.php';

ให้เอา index.php ออกไป

แค่นี้ก็เสร็จแล้ว ขอให้สนุกกับการเขียนนะครับ

ซื้อ DU Meter แท้ๆ ราคาแค่ 270 บาทเอง

โปรแกรมสามัญประจำเครื่องของผมอีกโปรแกรมหนึ่งก็คือ DU Meter เอาไว้วัดความเร็วหรือปริมาณข้อมูลที่เราใช้ในระบบเครือข่ายหรืออินเทอร์เน็ต โปรแกรมเล็กๆ แต่มีประโยชน์แบบนี้ ผมก็อยากจะจ่ายเงินให้เขาบ้างแหละแต่ติดที่ว่าราคามันตั้ง 29.95USD หรือราวๆ 1,000 บาท เมื่อก่อนตอนเป็น Version5 ผมยังสามารถหา แครก มาได้แต่พออัพเป็น Version6 ผมตั้งใจจะซื้อใช้งานจริงๆ จังๆ สนับสนุนคนพัฒนาบ้างน่าจะดีกว่า

DU Meter เราสามารถโหลดมาใช้งานได้ฟรี 30 วัน แต่ระหว่างนั้นมันก็จะขึ้นเตือนแบบนี้บ่อยๆ

จะว่าไปมันก็น่ารำคาญพอสมควร จะปิดก็ไม่ได้ ต้องรอให้นับถอยหลังให้ครบก่อน ราวๆ 10 วินาที ถึงจะปิดได้ หลังจากที่ใช้วิธีแครกโปรแกรมมานาน ก็กะว่าจะสนับสนุนเจ้าของโปรแกรมบ้างละ ไปเช็คในเว็บ ก็มีราคาพิเศษโดยลดราคาให้ 8USD ก็จะเหลือราวๆ 800 กว่าบาท แต่อย่างที่ผมบอก ผมว่ามันแพงไปนิด ถ้าสัก 500 ผมกดซื้อโดยไม่ลังเลละ

หลังจากตัดสินใจอยู่หลายวัน ก็ได้ข้อยุติว่า เอาโปรแกรมออกดีกว่า เพราะหลังๆ มันขึ้นเตือนบ่อยเหลือเกิน ยิ่งใกล้จะหมดเวลา 30 วัน ยิ่งขึ้นถี่มากๆ พอกด Uninstall โปรแกรม DU Meter ปุ๊บ ก็มีกล่องขึ้นมาตามรูป

ข้อความที่ผมสนใจขึ้นมาคือ Name your price แปลเป็นไทยง่ายๆ เลยคือ ให้คุณเสนอราคามา (ถ้าเรารับได้เราจะสนองให้) ลองดูสักหน่อย ไม่น่าจะเสียหายเนอะ

ในเมื่อเขาให้เราเสนอราคาไป ผมก็จัดไปที่ 4.99USD หรือราวๆ 150 บาท เผื่อฟลุ๊กได้ ก็มีเฮแน่นอน แต่ใจจริงถ้าสัก 10USD ผมก็โอเคแล้วนะ

แต่กลับมีข้อความแปลได้คร่าวๆ ว่า โปรแกรมเมอร์ ไม่ได้อิ่มทิพนะ เห็นใจเราหน่อยเหอะ ต้องกินข้าว กินน้ำเหมือนคุณนั้นแหละ เรารับราคาที่คุณเสนอมาไม่ได้หรอก แต่เราเสนอให้คุณใหม่ที่ 8.99USD (ประมาณ 270 บาท) สำหรับเครื่องเดียว หรือ 17.97USD (ประมาณ 540 บาท) สำหรับ 5 เครื่องใช้ในบ้านหลังเดียวกัน (แสดงว่าแชร์กับเพื่อนไม่ได้) ผมลองถามน้องแชร์คนละครึ่ง แต่มันไม่เอา ก็ไม่เป็นไร ซื้อใช้คนเดียวก็ได้ คอมประจำก็มีเครื่องเดียวอยู่แล้ว PC กับ Notebook อีกสองตัวไม่ต้องลงก็ได้ PC เอาไว้เล่นเกมอย่างเดียว ส่วน Notebook ตอนนี้กองในตู้ไม่ได้เปิดใช้มาจะหกเดือนแล้วมั้ง

ก็จัดไปราคา 8.99USD

ตอนเลือกการจัดส่ง (Delivery Method) ถ้าอยากได้แผ่น CD สวยๆ เราสามารถเลือกให้ส่งแผ่นมาให้เราด้วยก็ได้ แต่ต้องเสียค่าส่งอีก 8USD ซึ่งมันก็ไม่จำเป็นเท่าไหร่ พอกดไปแล้วเราก็ลงรายละเอียดของเรากับการจ่ายเงิน ผมเลือกจ่ายทาง Paypal เพราะง่าย แล้วก็ไม่ต้องกรอกหมายเลขบัตรเครดิตด้วย

เสร็จ จากนั้นก็รอทางนู้นส่งเมลมาหาเรา

แต่เนื่องจากเมลที่ผมใช้สมัครกับเมลของ Paypal เป็นคนละอันกัน ทาง PayPro เลยให้เรายืนยันทางโทรศัพท์เพิ่มเติม ซึ่งทางนู้นจะโทรมาหาเราเอง ก็ต้องคุยกับเขานิดหน่อย เป็นภาษาอังกฤษนะ

จริงๆ แล้วคุยกันไม่ยากหรอก ถ้าหากเขาพูดเร็วเราฟังไม่รู้เรื่อง ก็บอกให้เขาพูดช้าลงหน่อย ประมาณ Please speak slowly แล้วเขาก็จะถามเราว่า เราได้ทำการซื้อ DU Meter ใช่ไหม (เขาออกเสียงว่า ดู มิเทอร์ งะ) จากนั้นจะให้เราสะกดอีเมลของ Paypal ให้เขา ก็สะกดไปทีละตัว ช้าๆ ไม่ต้องรีบ ถ้าถูกต้องเขาก็จะส่งรหัสมาให้ทางอีเมลเลย

ผมลองถามเขาไปว่า ทำไมต้องโทรมาด้วย เขาบอกว่า เพราะเมลที่สั่งกับเมลของ Paypal ไม่ตรงกัน ต้องโทรมาเช็ค ส่วนถ้าเป็นบัตรเครดิต เขาจะโทรมาถามหมายเลขบัตรที่ซื้อ เพราะฉะนั้นยังไงเขาก็จะโทรมาถามอยู่ดี ยกเว้นว่า เมลที่ซื้อกับ Paypal ตรงกัน เขาอาจจะไม่โทรมาถาม

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

เรียบร้อย ได้รหัสสำหรับลงทะเบียนมาแล้ว แค่นี้ก็สามารถใช้งานโปรแกรมได้ตลอดไปแล้ว

ผมว่า model นี้ก็ดีเหมือนกันนะถ้าคนใช้งานจะลบโปรแกรมออก ก็ลองถามก่อนว่าราคาที่เราตั้งไว้มันสูงเกินไปหรือเปล่า หรือเขารับได้ที่ราคาเท่าไหร่ บางทีอาจเจอจุดที่ทั้งสองฝ่ายลงตัวกัน อย่างผมกะไว้ว่าสัก 9.99USD ผมก็ซื้อแล้ว แต่ลองใส่ 4.99USD ไปเผื่อฟลุ๊ก แต่ทางนู้นกลับเสนอมาที่ 8.99 ซึ่งก็ต่ำกว่าที่คาดไว้ ก็เลยจัดไปซะเลย

“ใช้โปรแกรมแท้แล้ว ลอยได้หรือเปล่า?” ผมเคยโดนเพื่อนถามคำถามนี้เหมือนกัน ผมบอกเลยว่ามันไม่ลอยหรอก แถมยังทำงานได้เหมือนโปรแกรมที่แครกทุกอย่าง แต่ที่ไม่ต้องทำอีกเลยคือ หาแครก เวลาตัวเดิมใช้งานไม่ได้ แถมโปรแกรมของเรายังได้อัพเดทตลอดเวลาอีกด้วย ผมเคยมีประสบการณ์กับเพื่อนที่ทำงานด้วยกัน (คนที่พูดประโยคข้างบนนั่นแหละ) งานจะต้องส่งในอีกไม่กี่ชั่วโมงข้างหน้า แต่ต้องไล่เก็บ BUG กันนิดหน่อย ผมก็ทำส่วนของผมไปเรื่อยๆ แต่เพื่อนมันมาบอกว่า Adobe มันเปิดไม่ขึ้น ขอเวลาหาแครกก่อน แล้วมันก็ง่วนกับการหาแครก ลองแล้ว ลองอีก ก็ยังไม่ได้ จนสุดท้ายเจอไวรัสทำ Windows พังเลย ได้มาลง Windows ใหม่กันหมด งานก็ไม่ได้ทำ แถมผมยังต้องทำส่วนของมันอีก

ส่วนอีกเรื่องคือ ภาษาอังกฤษ อีกสองปีเราก็จะเป็น AEC กันแล้ว ประเทศรอบข้างเราเขาฟังภาษาไทยกันรู้เรื่องนะ ทั้งพม่า ลาว กัมพูชา ส่วนไทยละ จะสือสารกับเขายังไง แล้วที่สำคัญคนประเทศเหล่านั้นนอกจากภาษาไทยแล้วเขายังสามารถสือสารภาษาอังกฤษหรือฝรั่งเศษ (ลาว) ได้อีกด้วย ลองคิดดูละกันว่าภาษาไทยในโลกนี้มีประเทศไหนใช้กันบ้าง ส่วนภาษาอังกฤษล่ะ มีกี่ประเทศที่ใช้กัน

เวลาสื่อสารกับฝรั่ง ไม่ต้องไปสนใจหรอกว่าเราจะพูดผิดหรือพูดถูก จะตรงตามไวยกรไหม เพราะฝรั่งส่วนใหญ่เวลาพูดเขายังไม่สนใจไวยกรเลย เอาแค่ verb ให้ถูกกาล (tense) ก็พอ หรือถ้าเราไม่รู้ว่า Past Simple หรือ Past Participle ของคำนั้นๆ คืออะไร ก็ให้ใส่เวลาลงไป แค่นี้เขาก็เข้าใจแล้ว

ฝรั่งที่เคยคุยกับผมเขาบอกว่า “ขอให้พูดออกไปเหอะ ผิดถูกช่างมัน ยังไงเขาก็เข้าใจ ดีกว่ายืนยิ้มๆ อย่างเดียว” เขาบอกว่า “สยามเมืองยิ้ม เพราะคนไทยสื่อสารกับฝรั่งไม่ได้มากกว่า เลยยิ้มอย่างเดียว”

นอนดีกว่า

มีเรื่องที่จะเขียน แต่ก็ยังไม่ได้เขียนเสียที

จริงๆ ไม่ได้อู้นะ แต่ช่วงนี้งานเยอะจริงๆ ยิ่งงานนอกแล้ว ทำแทบไม่ทันเลย อยากได้คนมาช่วยบ้างจัง 🙁

โพสแรกของปี 2556

โพสนี้ไม่มีอะไรมากครับ เอารูปมาให้ดูกันสักรูป

1357200107-3076635019-o

ภาพนี้แค่ภาพเดียว ตอบคำถามได้หลายร้อย หลายพัน คำถามเลยครับ

Digitalocean VPS ดีๆ ของฟรีมีในโลก

สวัสดีเพื่อนๆ อีกครั้ง หลังจากงอแงไม่ยอมเขียนมานานมากๆ ช่วงนี้ก็ใกล้จะปีใหม่แล้ว ไปแต่ละที่ก็มีแต่แสงสีและความสุข ^^

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

ทางออกของปัญหาก็มีอยู่ ซึ่งก็แล้วแต่งบประมาณในกระเป๋าของเรา ถ้างบไม่เยอะก็เช่า VPS เอา ถ้ายังไม่พอก็เช่าเป็น Dedicade ไปเลย แต่ถ้าอยากได้แรงสุดๆ อันนี้ก็ต้องซื้อเครื่องแล้วเอาไปตั้งเองเลย แต่ละแบบก็มีข้อดีข้อเสียต่างกันไป

สำหรับ VPS ตอนนี้ก็น่าจะเป็นทางเลือกสำหรับคนที่มีงบน้อย ซึ่งผมก็ไปเจอของ digitalocean ที่ราคาแค่ 5USD / เดือน หรือ 0.007 / ชั้วโมง แถมเป็นแบบกลุ่มเมฆด้วย VPS ราคาถูก แบบนี้เหมาะที่จะเอาไว้ลองเล่น นอกจากนั้น ยังให้ใช้งานได้ฟรี 3 ชั่วโมงแรก ขั้นตอนการติดตั้งก็ไม่ยุ่งยากด้วย ของดีแบบนี้จะพลาดได้ยังไง แบบนี้ก็ต้องลองกันหน่อยละ Continue reading

ช่วงนี้ไม่ได้เขียนอะไรใหม่ๆ ไป

ไม่ได้อัพเดทอะไรใหม่ๆ เลย ปัญหาชีวิตเยอะแยะ แถมต้องดิ้นรนตามสังคมที่เปลี่ยนไปทุกวัน แต่เอาเหอะ ชีวิตไม่สิ้นก็ดิ้นกันไป เนอะ…

ปล. หลงไปซื้อ Windows8 มา ไม่ถูกใจ Start Screen เลยงะ

ปล2. ว่างงานด้วยแหละ ทำเอา fail ไปพักใหญ่เลย

© 2017 CMDEVHUB

Theme by Anders NorénUp ↑