提交后,下拉值不会插入数据库(minit表)中。下拉值是从另一个表(文件表)填充的。
这来自addminit.php。它将接收来自用户的输入。
<p>File ID:<select class="" name="File ID">
<?php
while($rows = $filelist->fetch_assoc())
{
$f_id = $rows['file_id'];
echo "<option value = '$f_id'>$f_id</option>";
}
?>
</select></p>
此代码段来自minitadded.php。它将处理来自addminit.php的用户输入
<?php
if(isset($_POST['submit'])){
$data_missing = array();
if(empty($_POST['file_id'])){
$data_missing[] = 'File ID';
}else{
$f_id = trim($_POST['file_id']);
}
if(empty($_POST['minit_bil'])){
$data_missing[] = 'Minit BIL';
}else{
$m_bil = trim($_POST['minit_bil']);
}
if(empty($_POST['minit_summ'])){
$data_missing[] = 'Minit Summary';
}else{
$m_summ = trim($_POST['minit_summ']);
}
if(empty($data_missing)){
require_once('databaseConnect.php');
$query = "INSERT INTO minit (file_id,minit_bil, minit_summ) VALUES (?,?,?)";
$stmt = mysqli_prepare($dbConn,$query);
mysqli_stmt_bind_param($stmt, "sss",$f_id, $m_bil, $m_summ);
mysqli_stmt_execute($stmt);
$affected_rows = mysqli_stmt_affected_rows($stmt);
if($affected_rows == 1){
echo 'Minit Entered';
mysqli_stmt_close($stmt);
mysqli_close($dbConn);
} else{
echo 'Error Occured<br />';
echo mysqli_error();
mysqli_stmt_close($stmt);
mysqli_close($dbConn);
}
我总结了addminit.php中的表格。它将回显此代码段。
}else{
echo 'You Need Enter The Following data<br />';
foreach($data_missing as $missing){
echo "$missing<br />";
}
}
}
?>
答案 0 :(得分:0)
正如fmsthird所说,您正在使用POST访问不存在的变量。使用$ _POST [“ File ID”]访问选择变量,或将选择的name参数更改为“ file_id”
答案 1 :(得分:0)
您正在使用名称为 file_id
if(empty($_POST['file_id'])){
因此,尝试将选择标签名称更改为 <select class="" name="file_id">
,它应该可以工作。
答案 2 :(得分:0)
'文件ID '不等于' file_id '
您使用了$ _POST ['file_id'],其中“ file_id”应与name属性相同, 但在您的HTML选择标签中,名称属性为“文件ID”
您了解什么问题吗?