Bạn có thể thực hiện theo cách sau.
Bất cứ khi nào bạn tạo hộp văn bản bằng JavaScript hoặc jQuery, việc duy trì số lượng hộp văn bản, giả sử bạn có hai hộp văn bản theo mặc định trên HTML, vì vậy hãy lưu trữ số lượng đó vào trường ẩn như bạn đã làm vậy:
<input type"hidden" id="h" name="h" value="0"/>
Sau đó, hãy thử điều này, bạn đang đọc sai giá trị:
Thay vì sử dụng $var[z]=$_POST['textbox'][$z];
sử dụng $var[z]=$_POST['textbox'.$z];
.
Tôi nghĩ thay vì chỉnh sửa từng hộp văn bản id
, chỉ cần xóa nó khỏi HTML và kiểm tra mã PHP:
<?php
include_once('db.php');
$x=$_POST["h"];
$y=intval($x);
$z=0;
while($z<=$y){
if(isset($_POST['textbox'.$z]) && !empty($_POST['textbox'.$z])){
$var[z]=$_POST['textbox'.$z];
echo "$var[$z]";
$sql="INSERT into the Data values('".$var[z]."');";
$query=mysql_query($sql);
}
}
?>
Một cách khác, để giải quyết cả hai vấn đề của bạn :)
test.html:
<html>
<title>TEST</title>
<body>
<form action="test.php" method="post">
<input type="text" name="demo[]" value=""/>
<input type="text" name="demo[]" value=""/>
<input type="text" name="demo[]" value=""/>
<input type="text" name="demo[]" value=""/>
<input type="text" name="demo[]" value=""/>
<input type="submit">
</form>
</body>
</html>
test.php:
print_r($_POST);
exit;
đầu ra:
Array ( [demo] => Array ( [0] => zxc [1] => zxc [2] => ewe [3] => ecc [4] => zzx ) )