ตัวแปร$_POST
จะถูกเติมโดยอัตโนมัติ
ลองvar_dump($_POST);
ดูเนื้อหา
คุณสามารถเข้าถึงแต่ละค่าได้ดังนี้: echo $_POST["name"];
แน่นอนว่านี่ถือว่าแบบฟอร์มของคุณใช้การเข้ารหัสแบบฟอร์มทั่วไป (เช่น enctype=”multipart/form-data”
หากข้อมูลโพสต์ของคุณอยู่ในรูปแบบอื่น (เช่น JSON หรือ XML คุณสามารถดำเนินการดังนี้:
$post = file_get_contents('php://input');
และ$post
จะมีข้อมูลดิบ
สมมติว่าคุณใช้$_POST
ตัวแปรมาตรฐานคุณสามารถทดสอบได้ว่ามีการเลือกช่องทำเครื่องหมายดังนี้:
if(isset($_POST['myCheckbox']) && $_POST['myCheckbox'] == 'Yes')
{
...
}
หากคุณมีช่องทำเครื่องหมายอาร์เรย์ (เช่น
<form action="myscript.php" method="post">
<input type="checkbox" name="myCheckbox[]" value="A" />val1<br />
<input type="checkbox" name="myCheckbox[]" value="B" />val2<br />
<input type="checkbox" name="myCheckbox[]" value="C" />val3<br />
<input type="checkbox" name="myCheckbox[]" value="D" />val4<br />
<input type="checkbox" name="myCheckbox[]" value="E" />val5
<input type="submit" name="Submit" value="Submit" />
</form>
การใช้[ ]
ในชื่อช่องทำเครื่องหมายระบุว่าสคริปต์ PHP จะเข้าถึงค่าที่เลือกเป็นอาร์เรย์ ในกรณีนี้$_POST['myCheckbox']
จะไม่ส่งคืนสตริงเดียว แต่จะส่งคืนอาร์เรย์ที่ประกอบด้วยค่าทั้งหมดของช่องทำเครื่องหมายที่ถูกเลือก
ตัวอย่างเช่นถ้าผมตรวจสอบกล่องทั้งหมดที่จะเป็นอาร์เรย์ประกอบด้วย:$_POST['myCheckbox']
{A, B, C, D, E}
นี่คือตัวอย่างวิธีการดึงอาร์เรย์ของค่าและแสดง:
$myboxes = $_POST['myCheckbox'];
if(empty($myboxes))
{
echo("You didn't select any boxes.");
}
else
{
$i = count($myboxes);
echo("You selected $i box(es): <br>");
for($j = 0; $j < $i; $j++)
{
echo $myboxes[$j] . "<br>";
}
}