您好我正在一個PHP表單,它必須添加一個表格行,當添加按鈕被按下時,我正在使用for循環來保存值問題是它沒有保存這裏的數據到我的數據庫,並給出了我的文本框的環值是不確定的錯誤 誰能幫助我 是我的腳本將動態添加行的值添加到數據庫
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<script language="javascript" type="text/javascript">
var i=1;
function addRow()
{
var tbl = document.getElementById('table1');
var lastRow = tbl.rows.length;
var iteration = lastRow - 1;
var row = tbl.insertRow(lastRow);
var firstCell = row.insertCell(0);
var el = document.createElement('input');
el.type = 'text';
el.name = 'name' + i;
el.id = 'name' + i;
el.size = 20;
el.maxlength = 20;
firstCell.appendChild(el);
var secondCell = row.insertCell(1);
var el2 = document.createElement('input');
el2.type = 'text';
el2.name = 'address' + i;
el2.id = 'address' + i;
el2.size = 20;
el2.maxlength = 20;
secondCell.appendChild(el2);
var thirdCell = row.insertCell(2);
var el3 = document.createElement('input');
el3.type = 'text';
el3.name = 'contactNum' + i;
el3.id = 'contactNum' + i;
el3.size = 20;
el3.maxlength = 20;
thirdCell.appendChild(el3);
alert(i);
i++;
frm.h.value=i;
alert(i);
}
</script>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title></head>
<body>
<form action="submit.php" method="post" name="frm" id="frm">
<table width="40%" border="2" cellpadding="0" cellspacing="0" id="table1">
<tr>
<td><strong>Name</strong></td>
<td><strong>Address</strong> </td>
<td><strong>Contact Num</strong> </td>
</tr>
<tr>
<td><input name="name" type="text" id="name" size="20" maxlength="20" /></td>
<td><input name="address" type="text" id="address" size="20" maxlength="20" /></td>
<td><input name="contactNum" type="text" id="contactNum" size="20" maxlength="12" /></td>
</tr>
</table>
<input type="button" value="Add" onclick="addRow();" />
<input name="Submit" type="submit" value="Submit" />
<label>
<input name="h" type="hidden" id="h" value="0" />
</label>
</form>
</body>
</html>
hereis我submit.php代碼
<?php
mysql_connect("localhost", "root", '')or die(mysql_error());
mysql_select_db("test") or die(mysql_error());
$num = $_POST['h'];
for($i=0;$i<=$num;$i++)
{
$name = $_POST["name_$i"];
$address = $_POST["address_$i"];
$contactNum = $_POST["contactNum_$i"];
mysql_query("INSERT INTO `com`(`name`, `add`, contact) Values('$name', '$address', '$contactNum')") or die(mysql_error());
}
echo "<h1>Done!</h1>";
?>
你應該停止使用php的舊mysql擴展。使用PDO或mysqli代替,否則您的代碼容易受到多重安全問題的影響。哦,也不要使用該數據庫內的root帳戶或普通任務。特別是沒有密碼... – arkascha
我只是一個初學者,所以我只是知道MySQL所以你可以幫我解決我的問題與MySQL – john
那麼,首先你訪問錯誤的POST變量。你的腳本命名你的html輸入字段,如'name15',_whithout _一個'_'。其次,對這些變量使用數組符號通常會更好。所以像''地址['+ i +']''。您可以更容易地訪問POST變量。 – arkascha