Beibarys, посмотри этот вариант, если он подходит, то можно остальной код, который должен выполняться, если все данные верны, добавить в условие (там прокомментровано).
Скопируй код целиком, и посмотри на его обработку ошибок. Регулярка написана таким образом, что корректными данными будут строки такого вида:
100 1 1 1
10 10 1 1
1 100 1 1
И т.п.. То есть, юзер обязан прописать четыре группы чисел через пробел, при этом каждое число должно иметь длину не менее одной, и не более трёх цифр.
пример (+/-)
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$errors = [
'r1' => 'Введите оценки лабораторной работы!',
'r2' => 'Введите оценки практики!',
'r3' => 'Введите оценки СРО!',
'r4' => 'Введите оценки лекции!',
'rk1' => 'Введите оценку РК!'
];
$input = array_filter($_POST, function ($i) {
return preg_match('~\d{1,3}\s\d{1,3}\s\d{1,3}\s\d{1,3}~', $i);
});
$err = array_diff_key($errors, $input);
if (!empty($err)) {
echo join('<br />', $err);
} else {
// Тут код, если введены данные без ошибок
}
}
echo '<form method = "POST">
<p>Введите оценки лекции <b>(оценки вводить через пробел):</b></p>
<input type = "text" name = "r4" value = "" /> <br/>
<p>Введите оценки практики <b>(оценки вводить через пробел):</b></p>
<input type = "text" name = "r2" value = "" />
<p>Введите оценки СРО <b>(оценки вводить через пробел):</b></p>
<input type = "text" name = "r3" value = "" />
<p>Введите оценки лабораторной работы <b>(оценки вводить через пробел):</b></p>
<input type = "text" name = "r1" value = "" />
<p>Введите оценку РК <b></b></p>
<input type = "text" name = "rk1" value = "" /> <br/><br/>
<button class="btn btn-info" name = "send"/>Считать</button><br/><br/>
</form>';