В блоге я пишу код, администратор может редактировать существующие сообщения.
Я хочу, чтобы сообщение error
появлялось, когда $_POST['title']
для e.g пуст (там будет отображаться: «Ваше сообщение должно иметь заголовок»). Я также делаю это, если подзаголовок, контент или категория пусты.
Ошибки работают нормально, если одна или некоторые из них пусты. Как только я загружаю страницу для редактирования сообщения, каждая ошибка отображается с самого начала.
Как сделать так, чтобы они отображались только тогда, когда один или несколько $_POST's
пустые после нажатия <input type="submit .../>
(их не должно быть при загрузке сайта)?
Это функция в PostsAdminController.php
, которая проверяет $_POST's
и отображает сайт:
public function edit()
{
$error = "";
$id = $_GET['id'];
$entry = $this->postsRepository->find($id);
$categoryFId = $this->categoryRepository->getOneCatFromId($entry->c_Id);
$savedSuccess = false;
$abort = false;
if ($this->loginService->check()) {
if (!empty($_POST['title'])) {
$entry->title = $_POST['title'];
} else {
$error .= "Your post should have a title.";
$abort = true;
}
if (!empty($_POST['subheading'])) {
$entry->subheading = $_POST['subheading'];
} else {
$error .= "A good subheading is nothing you should just leave out.";
$abort = true;
}
if (!empty($_POST['content'])) {
$entry->content = $_POST['content'];
} else {
$error .= "Your post should have content, you know, it wouldn't be a 'post' then.";
$abort = true;
}
if (!empty($_POST['category'])) {
$entry->c_Id = $_POST['category'];
}
if ($abort == false){
$this->postsRepository->update($entry);
$savedSuccess = true;
}
} else {
$error = "You have no permission to do this, how the hell did you get here?";
}
$this->render("post/admin/edit", [
'entry' => $entry,
'error' => $error,
'savedSuccess' => $savedSuccess,
'categoryFId' => $categoryFId
]);
}
Я действительно надеюсь, что кто-то может помочь мне с этим, я не знаю, что я мог, чтобы позволить им исчезнуть только тогда, когда ПОЧТЫ уже отправлены ..