ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingค่า get ที่รับมาเข้า form (รับเข้ามาได้เเล้ว) แต่พอกดส่งต่อ ทำไมค่าไม่ไปครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ค่า get ที่รับมาเข้า form (รับเข้ามาได้เเล้ว) แต่พอกดส่งต่อ ทำไมค่าไม่ไปครับ  (อ่าน 684 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
Fallen
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 162
ออฟไลน์ ออฟไลน์

กระทู้: 2,751



ดูรายละเอียด เว็บไซต์
« เมื่อ: 13 ตุลาคม 2017, 15:04:33 »

ค่า get ที่รับมาเข้า form (รับเข้ามาได้เเล้ว) แต่พอกดส่งต่อ ทำไมค่าไม่ไปครับ


$message.=clean_msg(nl2br(strip_tags($name)));
$message.=clean_msg(nl2br(strip_tags($email)));   
$message.=clean_msg(nl2br(strip_tags($_GET['code'])));

<input name="name" type="text" size="40" value="<?=stripslashes(htmlspecialchars($name));?>" />
<input name="email" type="text" size="40" value="<?=stripslashes(htmlspecialchars($email));?>" />
<input name="code" type="text" size="40" value="<?php echo $_GET["code"]; ?>" />

 Tongue
บันทึกการเข้า

jatuphum
ก๊วนเสียว
*

พลังน้ำใจ: 18
ออฟไลน์ ออฟไลน์

กระทู้: 312



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 13 ตุลาคม 2017, 15:15:23 »

ใช้ $_SESSION น่าจะตอบโจทย์ได้ดีกว่านะครับ
บันทึกการเข้า

Fallen
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 162
ออฟไลน์ ออฟไลน์

กระทู้: 2,751



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 13 ตุลาคม 2017, 15:18:15 »

ใช้ $_SESSION น่าจะตอบโจทย์ได้ดีกว่านะครับ


ผมจะให้คนมาสมัครสมาชิกต่อ ก็จะส่ง url ให้โปรโมท
จึงทำ แบบนี้ครับ xxx.com/form.php?code=555

พอกดเข้าไปมันก็จะส่งค่า มาที่ฟอร์มเลย
จะได้รู้ว่ามาจาก 555

ไม่ทราบทำอย่างนี้ มีข้อเสียไหมครับ $_SESSION จะดีกว่าอย่างไรเหรอครับ

 wanwan017
บันทึกการเข้า

sputtaro
สมุนแก๊งเสียว
*

พลังน้ำใจ: 139
ออฟไลน์ ออฟไลน์

กระทู้: 910



ดูรายละเอียด
« ตอบ #3 เมื่อ: 13 ตุลาคม 2017, 16:33:26 »

เมื่อรับค่าใดๆ ไม่ว่าจะเป็น $_Get $_Post $_Request

ควรเริ่มด้วยการตรวจสอบความ มี...หรือไม่
ด้วย isset เช่น

if(isset($_Get['code'])){
 $code=$_Get['code'];
//ใช้ strip_tags หรือฟังชั่นต่างๆ เพื่อป้องกันตัวเองเสมอ
//อย่าเชื่อ input จากผู้ใช้งาน โดยไม่ผ่านการตรวจสอบเป็นอันขาด
 echo strip_tags($code);//เพื่อตรวจสอบว่า ถูกต้อง มีค่านั้นจริง หากไม่ต้องการแสดง ก็ ไม่ต้อง echo
}

จากนั้นที่ input
<input name="code" type="text" size="40" value="<?php echo $code; ?>" />

*******************************************

เมื่อกดส่งฟอร์ม ซึ่งบางครั้งเรานำเข้า ฐานข้อมูล จะปลอดภัย แต่ถ้าไม่มีการกลั่นกรอง ส่งไปทั้ง $_GET["code"]
อันตรายมาก ระว้งจะโดน SQL Injection script เข้านะ

******************************************

การเขียน <?= ก็ ต้องระวัง เผื่อ โฮสท์ไม่เปิดฟังชั่o short_open_tag คุณก็ต้องมานั่งแก้ไข php.ini อีก
เผลอๆ ใช้เขียนสคริปท์ ร่วมกับไฟล์ xml อาจมีปัญหาได้ เพราะ tag เปิดมันเหมือนกันคือ <?
แม้ไม่อันตรายเท่าเรื่องแรก แต่ก็ควรระวังไว้นะครับ

*******************************************

กรณี กดปุ่ม submit แล้วค่าไม่ไป (ไม่ได้รับค่านั้น)
กลับมาตรวจสอบ ว่า ฟอร์มถูกต้องหรือไม่
และ/หรือ ตรวจสอบ หน้าที่รับค่านั้นด้วย
« แก้ไขครั้งสุดท้าย: 13 ตุลาคม 2017, 16:44:20 โดย sputtaro » บันทึกการเข้า
Fallen
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 162
ออฟไลน์ ออฟไลน์

กระทู้: 2,751



ดูรายละเอียด เว็บไซต์
« ตอบ #4 เมื่อ: 13 ตุลาคม 2017, 17:58:40 »

เมื่อรับค่าใดๆ ไม่ว่าจะเป็น $_Get $_Post $_Request

ควรเริ่มด้วยการตรวจสอบความ มี...หรือไม่
ด้วย isset เช่น

if(isset($_Get['code'])){
 $code=$_Get['code'];
//ใช้ strip_tags หรือฟังชั่นต่างๆ เพื่อป้องกันตัวเองเสมอ
//อย่าเชื่อ input จากผู้ใช้งาน โดยไม่ผ่านการตรวจสอบเป็นอันขาด
 echo strip_tags($code);//เพื่อตรวจสอบว่า ถูกต้อง มีค่านั้นจริง หากไม่ต้องการแสดง ก็ ไม่ต้อง echo
}

จากนั้นที่ input
<input name="code" type="text" size="40" value="<?php echo $code; ?>" />

*******************************************

เมื่อกดส่งฟอร์ม ซึ่งบางครั้งเรานำเข้า ฐานข้อมูล จะปลอดภัย แต่ถ้าไม่มีการกลั่นกรอง ส่งไปทั้ง $_GET["code"]
อันตรายมาก ระว้งจะโดน SQL Injection script เข้านะ

******************************************

การเขียน <?= ก็ ต้องระวัง เผื่อ โฮสท์ไม่เปิดฟังชั่o short_open_tag คุณก็ต้องมานั่งแก้ไข php.ini อีก
เผลอๆ ใช้เขียนสคริปท์ ร่วมกับไฟล์ xml อาจมีปัญหาได้ เพราะ tag เปิดมันเหมือนกันคือ <?
แม้ไม่อันตรายเท่าเรื่องแรก แต่ก็ควรระวังไว้นะครับ

*******************************************

กรณี กดปุ่ม submit แล้วค่าไม่ไป (ไม่ได้รับค่านั้น)
กลับมาตรวจสอบ ว่า ฟอร์มถูกต้องหรือไม่
และ/หรือ ตรวจสอบ หน้าที่รับค่านั้นด้วย


ขอบคุณมากครับ +1 เรยยย

 Cry
บันทึกการเข้า

หน้า: [1]   ขึ้นบน
พิมพ์