Чтобы проверить строковое значение (не имя свойства) для RegEx, вы должны использовать ключевое слово "pattern"
:
{
"type": "object",
"properties": {
"progBinaryName": {
"type": "string",
"pattern": "^[A-Za-z0-9 -_]+_Prog\\.(exe|EXE)$"
}
}
}
P.S. - если вы хотите, чтобы шаблон соответствовал клавише для свойства (а не значения), вы должны использовать "patternProperties"
(это похоже на "properties"
, но клавиша - RegEx).
<form method="POST" action="action.php">
<?php
$query = "SELECT * from student ORDER BY student_name,student_surname";
$result=mysqli_query($conn,$query);
if(false===$result)
{
printf("error: %s \n",mysqli_error($conn));
}
$index = 0;
while($row= $result->fetch_assoc())
{
$index++;
$studentmatricule = $row['student_matricule'];
$studentname = $row['student_name'];
$studentsurname = $row['student_surname'];
?>
<div id="studentdiv">
<label>Matricule</label>
<input type="text" name="studenInfo[<?php echo $index; ?>][matriculate]" value="<?php echo $studentmatricule; ?>" readonly>
<label>Name</label>
<input type="text" name="studenInfo[<?php echo $index; ?>][name]" value="<?php echo $studentname." ".$studentsurname; ?>" readonly>
<label > Absent
<input type="checkbox" name="studenInfo[<?php echo $index; ?>][status]" value="absent" />
</label>
</div> <br><br>
<?php
}
?>
<input type="submit" name="submit" value="submit">
Обновите свой почтовый файл следующим образом. Я изменил имена форм в один массив. Причина в том, что значения флажка не будут отправляться на страницу, если значения не отмечены. Таким образом, невозможно отслеживать, какой из них был проверен, а какой нет, если у вас есть одно и то же имя.
И обновите свой action.php, как это,
<?php
$conn = mysqli_connect("localhost","username","password","db_name"); // update this values as per your configuration
$studenInfo = (!empty($_POST['studenInfo'])) ? $_POST['studenInfo'] : [];
foreach($studenInfo as $value ) {
$status = (isset($value['status'])) ? 'absent' : 'present';
$query = "INSERT INTO exam_status (student_name, student_matricule,status) VALUES ('". $value['name'] . "','". $value['matriculate'] . "','". $status . "')";
$result=mysqli_query($conn,$query);
}
?>
Я использовал свой собственную схему таблицы, в которой я добавил имя_экземпляра в таблице exam_status для лучшего отслеживания. Теперь вы можете правильно видеть значения. Кроме того, мы можем использовать объемную вставку, если нам нужно вставить несколько данных (Примечание: я поместил основную вставку в этот ответ, я просто следил за тем, как вы использовали)