В общем конечно весь тот код - одна сплошная ошибка.
Проблема в том, что автор видео, у которого ты списывал этот код, сам знает не больше тебя. Но при этом лезет учить других. Такая вот печальная история с пхп образованием у нас в стране.
Начать можно с проверки на пробел. Хотя нет. Начать надо со строчки
error_reporting(0);
за которую надо бить по рукам линейкой. А лучше сразу ботинками.
чтобы никогда, даже в тяжелой ремиссии после запоя, не возникало даже краешка мысли так делать. И чтобы везде, где бы не встречалась команда error_reporting();, у нее был всегда только один вариант - E_ALL
error_reporting(E_ALL);
Теперь вернемся к нашим пробелам.
Для $_POST['textForm'] она делается, но вот для $_POST['nameForm'] уже почему-то нет.
Хотя казалось бы - почему бы не применить один и тот же подход для обоих полей?
То есть тупо написать точно так же, if (trim($_POST['nameForm'])) {? Только убрав !empty(), поскольку она здесь как собаке пятая нога.
Дальше надо немного помыслить логически. И обнарудить, что у тебя два совершенно идентичных участка кода, которые различаются только одной переменной. Это значит, что надо именно эту переменную в условии и определять, а остальное вынести из него.
if (trim($_POST['textForm'])) {
if (trim($_POST['nameForm'])) {
$name = $_POST['nameForm'];
} else {
$name = 'Anonim';
}
// выполняем запрос
}
при этом не забываем, что в РНР можно использовать сокращенную форму условного присвоения значения переменой вместо этого развесистого ифа. И вы итоге получить куда более осмысленный код
<?php
error_reporting(E_ALL);
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysql = new mysqli("localhost", "root", "", "gbook");
$mysql->set_charset("utf8");
$filename = "style.css";
$err = '';
$text = trim($_POST['textForm']);
$name = trim($_POST['nameForm']);
if ($text) {
$name = $name ?: 'Anonim';
$stmt = $mysql->prepare("INSERT INTO `comments` (`name`, `text`) VALUES (?,?)");
$stmt->bind_param("ss", $name, $text);
$stmt->execute();
Header("Location: " . $_SERVER['PHP_SELF']);
exit;
} else {
$err = "Вы не заполнили форму";
}
Кода в два раза меньше, но при этом он осмысленный, аккурантый и безопасный