0 レビュー
1 回答
フォームにフィールドを事前に入力し、特定のユーザーphpおよびmysqlデータベースのテキストフィールドを無効にします
議事録フォームを実装しています。このフォームでは、学生と上司の間の会議の議事録が「minute.php」というデータベーステーブルに保存されます。学生が議事録を追加するとき、彼らはいくつかのデータを入力する必要がありますが、スーパーバイザーだけが入力するためにいくつかのフィールドを無効にする必要があります。 ただし、テキストボックスを無効にすると、データベースが何かを予期しているため、フィールドをnullにできないというエラーがスローされます...
また、2つのフィールド(BnumberとStatus)を事前に入力しましたが、[分を追加]フォームが表示されたときに、これらのフィールドは事前に入力されていません。 p>
<?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();
}
?>
わからない
0
レビュー
答え :
解決策:
null値を許可するようにDBスキーマを変更するか、空の文字列を送信する必要があります。
フォームを生成するコードは表示されていませんが、値の事前入力は次のように簡単です。
<input type="text" name="B_number" value="<?php echo $b_number; ?" />
もちろん、これは、フィールドに事前入力して $b_number
変数に格納する値をすでに決定していることを前提としています。
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。