วันนี้เรามานอกเรื่องไม่เกี่ยวกับ เขียนโปรแกรม หรือ server กันซะหน่อย ไม่แน่ในอนาคตอาจจะมี Tip แบบนี้มารเรื่อยๆเครับ
เนื่องจากประสบปัญหากับการใช้งาน facebook chat เรื่องของเสียงที่ดังตลอดเวลาไม่ว่าจะตอนแจ้งเตือน หรือว่าตอนที่พิมพ์เพื่อการสนทนา บางที่ต้องคุยเรื่องงานยาวๆ ก็น่ารำคาญพอสมควร
วันนี้มีวิธีการปิดเสียงมาบอกกล่าวเพื่อนๆกันครับ
เริ่มด้วย โทรศัพท์ที่เป็น android กันครับ ขั้นตอนในการเปิดปิด ตามภาพเลย
ในส่วนของ android นี้ ตัวเลือก จะมีเยอะพอสมควร เราก็สามารถตั้งได้เลยครับว่าจะเปิดปิดการแจ้งเตือนอะไรบ้าง ส่วนตัวผมต้องการให้เตือนมีข้อความเข้า แต่ ตอนคุยไม่ต้องการให้มีเสียง
ก็ปิดแต่ หัวข้อ "เสียงในแอพ" แต่ เตื่อน "เสียง" ยังเปิดอยู่ แบบนี้
ส่วนใครที่อยากเปลี่ยนเสียงแจ้งเตือนก็สามารถเปลี่ยนได้ที่ รายการ "เสียงแจ้งเตือน" และเปลี่ยนเสียงสายเรียกเข้า ได้ที่ "เสียงเรียกเข้าสายโทรฟรี" ได้เลยครับ
ส่วนคนที่ใช้ iphone นะมีส่วนของตัวเลือก ให้น้อยกว่า เข้าไปตามรูปด้านล่างได้เลยครับ
จะเห็นว่า จะมีแค่ "เสียง" กับ "สั่น" ที่ให้เลือกเท่านั้นเองครับ คาดว่าอนาคตคงมีตัวเลือก เพิ่มเติม และสามารถตั้งค่าต่างๆ ได้มากขึ้นเหมือน android
เพื่อนๆ ลองเลือก และใช้กันกันดูครับ
--------------------------------------------------------------------------------------------------------------------
06 December 2016
04 July 2016
วิธีแก้ไข PHP Notice: Undefined index, Notice: Undefined variable
แต่มีใครจะรู้บ้างว่า ความจริงแล้วมันยังมี Error ที่ sensitive มากกว่านั้น ก็คือ Notice หรือการแจ้งเตือน มัน Sensitive ขนาดที่ว่า ตัวแปรใด ที่เราประกาศขึ้นมา แต่ไม่ได้กำหนดค่า หรือเอามาใช้แบบโท่งๆ มันจะแจ้งเตือนทันที แต่ต้องทำความเข้าใจก่อนว่า มันไม่ใช่ "ข้อผิดพลาด" แต่มันเป็นการ "แจ้งให้ทราบ" ซึ่ง มันก็มักจะแสดงผลให้เรารำคาญใจใน browser อยู่ไม่น้อย ตัวอย่างที่พบง่ายที่สุด อาทิเช่น
ตัวอย่างที่ 1
1
| echo $_GET [ 'id' ]; |
แบบนี้ Notice: undefined index
Undefined index หมายถึง ตัวแปรที่เราเอามาใช้ ยังไม่ได้ประกาศตัวแปร วิธีแก้ไขง่ายที่สุดก็คือใช้ isset() คือถ้ามันมีค่าก็จะ return true ถ้าไม่มีก็จะ return false แค่นั้น ตัวอย่างการแก้ไขปัญหาดังนี้
1
2
3
| if (isset( $_GET [ 'id' ])) { echo $_GET [ 'id' ] } |
* แต่โดยมากแล้วผมจะใช้แบบนี้แทน คือกำหนดตัวแปรให้มันชัดเจนไปเลย ไม่ต้องไปใช้ $_GET, $_POST ดังนี้ครับ
1
| $get_id = (isset( $_GET [ 'id' ])) ? $_GET [ 'id' ] : '' ; |
1
2
3
4
5
| if (isset( $_GET [ 'id' ])) { $get_id = $_GET [ 'id' ]; } else { $get_id = '' ; } |
** ถ้าเราไม่กำหนด $get_id = ''; เดี๋ยวมันจะ Notice: Undefined variable ตอนนำไปใช้อีก!!
ตัวอย่างที่ 2
1
2
3
4
| if ( $i < 10) { echo $i ; $i ++ } |
แบบนี้ Notice: Undefined variable Undefined variable หมายถึง ตัวแปรที่เราประกาศ มันไม่ใช่ตัวแปร (เอ๊ะยังไงวุ้ย) คือเราไม่ได้ระบุค่าให้มันครับ ว่ามันเป็น string,boolean,integer บลาๆ หรือเป็นค่าว่าง ดังนั้นเวลา PHP มันค้น index file มันจะไม่พบชื่อตัวแปรที่เราเอามาใช้ เลยแจ้่งว่า เฮ้ย แกยังไม่ได้กำหนดค่าให้ตัวแปรนะ อยู่จะเอามาใช้อย่างงี้ได้ยังไง มันอันตรายรู็้้มั้ย ว่าถ้า host ที่ใช้ไม่ได้ัตั้ง register_global = off จะโดยคนอื่นเขาสุ่มชื่อตัวแปร เข้ามาแก้ไขการทำงานของระบบเองง่ายๆ นะจ๊ะ เพราะว่ามันไป index ตัวแปรจากที่อื่น ทีไ่หนก็ได้ เพราะเราไม่ได้กำหนดไว้ (งงมะ) วิธีแก้ไขที่ง่ายที่สุด ก็แค่เติม $i = 0; หรือกำหนดค่า NULL ให้มันก็ได้ครับ
1
2
3
4
5
| $i = 0; if ( $i < 10) { echo $i ; $i ++ } |
แต่ทั้งนี้ทั้งนั้น บางทีเราแก้แล้วจนเหนื่อย มันก็ยังมี Notice ขึ้นมาอีก จนน่าำรำคาญ เพราะบางครั้งเราำจำเป็นต้องใช้ $_SESSION หรืออะไรก็ตามที่เป็นตัวแปรที่ไม่ได้ประกาศไว้แต่ต้น ลองนึกดูซิครับว่า ถ้าเราต้องมาประกาศตัวแปรทั้งหมด ว่าใช้อะไรบ้าง แบบเดียวกับ C,C++ มันจะมากมายขนาดไหน!!! วิธีแก้ที่กากที่สุดเท่าที่โปรแกรมเมอร์คนนึงจะทำได้ ก็คือ "ปิดมันซะ" ไม่ต้องแจ้งเจิ้งให้รำคาญตา เอาแค่ Error พอแล้ว โดยการใส่
1
| error_reporting (E_ALL ^ E_NOTICE); |
ไว้บรรทัดบนสุดของไฟล์, ถ้ามี index.php ก็ใส่ไว้ที่นั่นก็ได้ ไม่ต้องไปใส่ซ้ำพร่ำเพรื่อ เพียงเท่านี้มันก็จะไม่สนใจแล้วว่า คุณจะประกาศตัวแปรหรือไม่ประกาศ มันจะซ่อน Notice ทั้งหมดไม่ให้มารบกวนเราอีกต่อไป หรือ ไม่ต้องปิด แต่ใส่ @ เข้าไปหน้าตัวแปรนั้น เพื่อบังคับมันทำงานโดยไม่ต้องสนใจว่าจะ error หรือไม่ก็ตาม
1
| echo @ $id ; |
------------- ส่งท้ายหน้าเกี่ยวกับการเขียน $_GET[id] กับ $_GET['id'] มันก็มี Notice นะ แต่จำไม่ได้ว่ามันแจ้งว่าอะไร คือมันจะบอกเราว่า ค่า GET ที่แกส่งมา มันไม่มีชื่อตัวแปรที่ว่านี้นะ หมายถึง ถ้าเราใส่ว่า id เฉยๆ โดยไม่มี "ฟันหนู" หรือ quote, double qoute มันจะวิ่งไปหา index ตัวแปรที่เป็น defined หรือ ตัวแปรที่เป็นค่า constant ของระบบ อาทิ __FILE__ อะไรทำนองนี้ ทางที่ดี หากเราต้องใช้ ก้ามปู [] ให้เราใส่ '' เข้าไปด้วยครับ *** ยกเว้น array ที่ใช้ตัวเลข ไม่ต้องใส่ก็ได้ครับ
----------------------------------------------------------------------------------
cerdit : http://moremeng.blogspot.com/
----------------------------------------------------------------------------------
Subscribe to:
Posts (Atom)