使用php mysql在动态表中插入数据
insert.php使用php mysql在动态表中插入数据,php,mysql,Php,Mysql,insert.php <?php $nidErr = $scodeErr = $constituencyErr = ""; $nid = $scode = $constituency = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["nid"])) { $nidErr = "*"; } else { $nid = test_input($_POST["nid"]); } if (empty($_PO
<?php
$nidErr = $scodeErr = $constituencyErr = "";
$nid = $scode = $constituency = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["nid"])) {
$nidErr = "*";
} else {
$nid = test_input($_POST["nid"]);
}
if (empty($_POST["scode"])) {
$scodeErr = "*";
} else {
$scode= test_input($_POST["scode"]);
}
if (empty($_POST["constituency"])) {
$constituencyErr = "*";
} else {
$constituency= test_input($_POST["constituency"]);
}
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data; }
?>
<input type="button" value="Add Row" onclick="addRow('dataTable')">
<input type="button" value="Delete Row" onclick="deleteRow('dataTable')">
<table id="dataTable" width="350px" border="1">
<tbody><tr>
<td><input type="checkbox" name="chk[]"></td>
<td>National ID Number<span class="error">* <?php echo $nidErr;?></span>
<input type="text" name="nid[]"></td>
<td>Security Code <span class="error">* <?php echo $scodeErr;?></span><input
type="text" name="scode[]"></td>
<td><span class="error">* <?php echo $constituencyErr;?></span>
<select name="constituency[]">
<option value="in">Select Constituency</option>
<option value="de">Mirsorai1</option>
<option value="fr">Comilla1</option>
<option value="us">Dhaka1</option>
<option value="ch">Sylhet1</option>
</select>
</td>
</tr>
</tbody></table>
<br><input type = "submit" value = "submit">
</form>
国民身份证号码*
安全代码*
*
选区
米索拉伊1
科米拉1
达卡1
Sylhet1
insert_post.php
<?php
if ( $_POST["nid"] && $_POST["scode"] && $_POST["constituency"] ){
include("dbcon.php");
foreach($constituency as $a => $b){
$a+1;
$nid = $_POST['nid'][$a];
$scode = $_POST['scode'][$a];
$constituency = $_POST['constituency'][$a];
mysql_query("INSERT INTO voterlist(constituency,scode,nid)
VALUES ('$constituency', '$scode', '$nid')");
}
}
?>
<table id='display'>
<tr>
<td><?php echo "National ID:<br>" ; ?></td>
<td><?php echo "Security Code:<br>" ; ?></td>
<td><?php echo "Constituency:<br>" ; ?></td>
<hr>
</tr>
<tr>
<td><?php echo "<br>" .$nid; ?></td>
<td><?php echo "<br>".$scode; ?></td>
<td><?php echo "<br>".$constituency; ?></td>
</tr>
<?php
?>
</table>
****我想在insert_post.php页面中显示数据。但是它也显示错误数据没有存储在后端。我对foreach循环感到困惑。关于这一点,我想提出一些建议。Foreach自己走数组 您不需要$a+1,也不需要代码中对[$a]的引用 如果您对变量和POST输入使用相同的名称(这似乎是您的情况),下面的建议就可以了 首先定义一个safe()函数,在该函数中可以处理注释中提到的可能的sql注入攻击 然后
foreach ($_POST as $key => $value){
$$key = safe($value);
}
将检索您要查找的值
希望有帮助 您很容易受到攻击,如果您遇到错误,请告诉我们它是什么。别让我们猜了。它在foreach循环中显示错误,那个错误是。。。。?就像我说的,不要让我们猜测错误是什么。它说“为foreach()提供的参数无效”也是“未定义的变量”,那么您在哪里定义了$construction?你只要开始使用它。。。仅仅因为一个变量存在于一个.php文件中,并不能神奇地使它出现在所有其他.php文件中。