Możesz to zrobić w następujący sposób.
Za każdym razem, gdy tworzysz pole tekstowe za pomocą JavaScript lub jQuery, utrzymuj licznik pola tekstowego, załóżmy, że domyślnie masz dwa pola tekstowe w HTML, więc przechowuj je w ukrytym polu, tak jak to zrobiłeś:
<input type"hidden" id="h" name="h" value="0"/>
Spróbuj tego, odczytujesz wartość w niewłaściwy sposób:
Zamiast używać $var[z]=$_POST['textbox'][$z];
użyj $var[z]=$_POST['textbox'.$z];
.
Myślę, że zamiast edytować każde pole tekstowe id
wartość, po prostu usuń ją z HTML i sprawdź w kodzie 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);
}
}
?>
Inny sposób na rozwiązanie obu problemów :)
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;
wyjście:
Array ( [demo] => Array ( [0] => zxc [1] => zxc [2] => ewe [3] => ecc [4] => zzx ) )