同志们好!
我在视图中验证和显示消息时遇到问题。出于某种原因,一个简单的检查不起作用并且不显示消息,而发送绕过验证并将整个内容写入数据库。这是控制器代码:
public function addAction() {
if (!empty($_POST)) {
$textLen = iconv_strlen($_POST['text']);
if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
$message = 'Некорректный e-mail';
} else {
if ($textLen < 10 or $textLen > 500) {
$message = 'Текст сообщения может содержать от 10 до 500 знаков';
}
}
$id = $this->model->feedbackAdd($_POST);
if (!$id) {
$message = 'Ошибка запроса';
}
$message = 'Сообщение отправлено!';
}
$this->view->render('Обратная связь', 0, 0, 0, $message);
var_dump($_POST['text']);
var_dump($message);
}
好吧,看,这里的一切都很简单:
<h1><?= $title ?></h1>
<p><?= $message ?></p>
<form action="/feedback/add" method="post">
<input type="text" name="email" placeholder="E-mail" />
<textarea name="text" placeholder="Message"></textarea>
<input type="submit" value="Send" id="sendMessageButton" />
</form>
我不明白为什么它不起作用,请帮助!
就个人而言,我会在另一个方法中添加一个检查,并通过
throw
. 至少是这样的。