PHP : การใช้งาน stripslashes เมื่อต้องการ “\”

พอดีเจอปัญหาในการทำ Application ตัวหนึ่้งเวลากรอกข้อมูลจากหน้าเว็บ ที่เป็น ฟอร์ม แล้วมีการกรอกตัวอักษร ดังนี้ (อาจมีมากกว่านี้)

"", '', \ 

เวลารับค่าผ่าน การ $_POST หรือ $_GET ระบบจะใส่เครื่องหมาย “\” มาให้อัตโนมัติ จริงๆ เป็นเรื่องที่ดีัี แต่เวลาบันทึกลงฐานข้อมูลก็จะได้เครื่องหมาย “\” ไปด้วย พอดึงข้อมูลมาแสดง ก็จะแสดงไม่ถูกต้อง เช่นเรากรอกข้อมูล

I'm PHP I don't like "" and '' and \

จะถูกแปลงไปเป็น

I\'m PHP I don\'t like \"\" and \'\' and \\

ซึ่งตอนบันทึกก็จะทำการบันทึกข้อมูลแบบนี้ลงไปเลย แล้วเวลาดึงข้อมูลมาแสดงก็จะได้ ข้อมูลแบบนี้มาแสดง โดยเฉพาะถ้ามีการแก้ไข ข้อมูลก็จะยิ่งเติมเครื่องหมาย “\” เข้าไปอีก ตอนแรกจะแก้ปัญหาด้วย htmlentities หรือ htmlspecialchars แต่ว่าใช้ไม่ได้ผล ก็เลยลงเอยด้วย function stripslashes

ข้อมูลจาก
stripslashes
htmlentities
htmlspecialchars

  1. No comments yet.

  1. No trackbacks yet.