在表单上预输入字段并为特定用户 php 和 mysql 数据库禁用文本字段

Pre enter fields on a form and disable a text field for certain user php and mysql database

我正在实施一个会议记录表,学生和主管之间的会议记录保存在名为 'minute.php' 的数据库 table 中。当学生添加会议记录时,他们需要输入一些数据,但有些字段需要禁用,只有主管才能输入。 但是,当我禁用文本框时,它会抛出一个错误,指出该字段不能为空,因为数据库需要一些东西...

此外,我有 pre-filled 两个字段(Bnumber 和 Status),但是当出现 'add minutes' 表单时,这些字段不是 pre-populated,任何人都知道如何去做这件事?

<?php
include ("dbConnect.php");
include ("studenthead.php");

session_start();
if (!(isset($_SESSION["sess_username"]))) header ("Location: index.php");

$currentUser=$_SESSION["sess_username"];   

if (isset($_POST['addMinute'])) {
$newB_number = $currentUser;
$newDate = $_POST['Date'];
$newTime = $_POST['Time'];
$newDiscussion = $_POST['Discussion'];
$newActions = $_POST['Actions'];
$newDateofnextmeeting = $_POST['Dateofnextmeeting'];
$newStatus = "Submitted";
$newSupervisor_comments = $_POST['Supervisor_comments'];


$dbQuery  = $db->prepare("insert into minute values (null, :newB_number, :newDate, :newTime, :newDiscussion, :newActions, :newDateofnextmeeting, :newStatus, :newSupervisor_comments )");
$dbParams = array('$newB_number'=>$newB_number, 'newDate'=>$newDate, 'newTime'=>$newTime, 'newDiscussion'=>$newDiscussion, 'newActions'=>$newActions, 'newDateofnextmeeting'=>$newDateofnextmeeting, 'newStatus'=>$newStatus, 'newSupervisor_comments'=>$newSupervisor_comments);
$dbQuery->execute($dbParams);

$lastInserted = $db->lastInsertId();
}

?>

您需要更改数据库架构以允许空值,或者您需要发送一个空字符串。

您没有向您展示生成表单的代码,但预填充值非常简单:

<input type="text" name="B_number" value="<?php echo $b_number; ?" />

这当然是假设您已经确定了要预填充到字段中并存储在 $b_number 变量中的值。