ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => หัวข้อเริ่มโดย: ~@^Mr.Pepo^@~ ใน 30 กันยายน 2011, 21:55:21

ชื่อเรื่อง: O( ^ ^)oถามเกี่ยวกับคำสั่ง form ครับผม รบกวนด้วยนะครับ ^^
โพสต์โดย: ~@^Mr.Pepo^@~ ใน 30 กันยายน 2011, 21:55:21
เวลาใช้คำสั่ง form อะครับ
เวลาที่่ใส่ข้อความที่เป็นเครื่องหมาย ' หรือ " พอกดส่งข้อมูลไป มันจะแสดงผลเป็น \' หรือ \"
แล้วก็เวลาพิมพ์เว้นบรรทัด มันจะแสดงผลออกมาเป็นเว้นวรรคแทน อะครับ
ไม่ทราบว่าจะมีวิธีแก้อย่างไรอะครับ

ขอบคุณมากครับ  :wanwan017:
ชื่อเรื่อง: Re: O( ^ ^)oถามเกี่ยวกับคำสั่ง form ครับผม รบกวนด้วยนะครับ ^^
โพสต์โดย: ghostbehead ใน 30 กันยายน 2011, 22:20:56
บันทึกลงฐานข้อมูลใช่ไหมครับ

ถ้าตอนบันทึกให้ใส่ htmlspecialchars() (http://php.net/manual/en/function.htmlspecialchars.php)
และพอเรียกกลับมาแสดงผล ให้ใส่ htmlspecialchars_decode() (http://www.php.net/manual/en/function.htmlspecialchars-decode.php)

มันเป็นสัญลักษณ์พิเศษ พอเราใส่เข้าไปมันเลยต้องใส่ \ เพื่อบอกว่าเป็นข้อความน่ะครับ

ถ้าผมเข้าใจคำถามไม่ผิดนะ
ถ้าผมตอบผิดยังไง ต้องขออภัยอย่างแรงเลยครับ

ขอบคุณครับ
ชื่อเรื่อง: Re: O( ^ ^)oถามเกี่ยวกับคำสั่ง form ครับผม รบกวนด้วยนะครับ ^^
โพสต์โดย: ~@^Mr.Pepo^@~ ใน 30 กันยายน 2011, 22:29:36
อ้างถึงจาก: ghostbehead ใน 30 กันยายน 2011, 22:20:56
บันทึกลงฐานข้อมูลใช่ไหมครับ

ถ้าตอนบันทึกให้ใส่ htmlspecialchars() (http://php.net/manual/en/function.htmlspecialchars.php)
และพอเรียกกลับมาแสดงผล ให้ใส่ htmlspecialchars_decode() (http://www.php.net/manual/en/function.htmlspecialchars-decode.php)

มันเป็นสัญลักษณ์พิเศษ พอเราใส่เข้าไปมันเลยต้องใส่ \ เพื่อบอกว่าเป็นข้อความน่ะครับ

ถ้าผมเข้าใจคำถามไม่ผิดนะ
ถ้าผมตอบผิดยังไง ต้องขออภัยอย่างแรงเลยครับ

ขอบคุณครับ

+1ให้ครับ คือช่วยอธิบายแบบละเอียดให้หน่อยได้มั้ยอะครับ พอดีไม่ค่อยเข้าใจเท่าไหร่อะครับ
คือผมยิงส่งให้มันไปแสดงผลอีกหน้าอะครับ ประมาณว่า action="test.php" อะครับ
ชื่อเรื่อง: Re: O( ^ ^)oถามเกี่ยวกับคำสั่ง form ครับผม รบกวนด้วยนะครับ ^^
โพสต์โดย: ghostbehead ใน 30 กันยายน 2011, 23:01:16
เป็น function เข้ารหัสสัญลักษณ์น่ะครับ

http://www.asciitable.com/  <<== ตัวอักษรต่างๆ จะถูกแทนตัวรหัสต่างๆ ประมาณนี้

ซึ่งสัญลักษณ์บางตัวอาจจะต้องถูกเปลี่ยนให้เป็นรหัสก่อน เพื่อส่งไป เช่น แทนที่จะถูกส่งไปเป็น " เราก็เปลี่ยนให้เป็น &#34 ด้วยคำสั่ง htmlspecialchars() นี้
และพอเราจะแสดงผล ก็แปลงกลับมาด้วยคำสั่ง htmlspecialchars_decode() นี้น่ะครับ มันก็จะเปลี่ยนจาก &#34 มาเป็น " ให้

** รหัสที่มัน encode ให้ผมไม่แน่ใจว่าเป็นแบบไหนนะครับ แต่ก็จะประมาณนี้

ส่วนที่บอกว่าขึ้นบรรทัดใหม่ แล้วพอไปแสดงมันเป็นเว้นวรรค ตอน รับค่ามา ก็ใส่ ln2br($_POST['xxx']);  (http://php.net/manual/en/function.nl2br.php) เข้าไปครับ

เพราะถ้าเป็นการขึ้นบรรทัดใหม่ของ textarea มันจะแทนด้วย \n ซึ่งตอนรับมาแสดงผล เราก็ต้องเปลี่ยน \n ให้เป็น <br> ก่อนครับ

ถ้าบันทึกลงฐานข้อมูลก็ควรจะเข้ารหัสก่อนก็ดีครับ

น่าจะประมาณนี้ ไม่รู้จะงงรึเปล่า ผมอ่านเองยังงงๆ ครับ ^^'
ลองดูนะครับ

อ่อถ้าสงสัยเรื่อง function ว่าใช้ยังไง ตามลิงค์เข้าไปเลยครับ

ขอบคุณครับ