Просмотр поста

.
ДоХтор

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>';