私はフォームと送信ボタンを持っており、真か偽かをチェックします。
true の場合は、別のページにリダイレクトします。
false の場合は、同じページにとどまり、エラー メッセージを出力します。
エラーメッセージはフラッシュメッセンジャーで出力されます。ただし、送信が false の場合、最初の試行で印刷されない場合があり、2 回目のクリックで常に印刷されます。
私は何か間違ったことをしましたか?また、別のフラッシュメッセンジャー名を設定する方法はありますか? フラッシュメッセンジャーを使用している他のページでは、ページが更新されたときにエラーが出力されるためです。
コードは次のとおりです。
if(isset($_POST['submit'])) {
// code to inputfields
if(true) {
//redirect to some page
} else {
// print the flash error on the same page
$this->_helper->flashMessenger->addMessage(" This email is already taken");
$this->view->messages = $this->_helper->flashMessenger->getMessages();
}
}
HTML:
<center>
<div style="color:red">
<?php if (count($this->messages)) : ?>
<?php foreach ($this->messages as $message) : ?>
<div id="field_name">
<strong style="text-transform:capitalize;">Email </strong>
- <?php echo $this->escape($message); ?>
</div>
<?php endforeach; ?>
<?php endif; ?>
</div>
</center>