У меня всегда выводит введите имя! ничего не проверяя.Я знаю ,что я поставил echo $errors['0']; ,но я незнаю как по-другому это реализовать
<div id="yakor" class="container4">
<form class="form" method="POST" action="test.ru/includes/articles.php?id=<?php echo $art['id'];?>">
<?php
if( isset($_POST['do_post']) )
{
$errors = array();
if($_POST['name'] == '' )
{
$errors[] = 'Введите имя!';
}
if($_POST['text'] == '' )
{
$errors[] = 'Введите текст комментария!';
}
if( empty($errors) )
{
// ДОБАВИТЬ КОМЕНТАРИЙ
} else
{
// вывод ошибки комментария
echo $errors['0'];
}
}
?>
<div>
<form method="POST" class="name_input_koment">
<input id="komentname" placeholder="Введите имя" type="text" name="name" value="<?php echo $_POST['name']; ?>">
</form>
<form method="POST" class="text_input_koment">
<input id="koment" type="text" name="text" placeholder="Напишите свой комментарий" value="<?php echo $_POST['']; ?>">
</form>
<form method="POST" class="otp_input_koment">
<input id="otp" name="do_post" type="submit" value="Отправить">
</form>
</form>
</div>
</div>
Ответы (1 шт):
Автор решения: JonBrasers
→ Ссылка
подправил
<?
if($_POST) {
$errors = array();
if(empty($_POST['name'])) { $errors[] = 'Введите имя!'; }
if(empty($_POST['text'])) { $errors[] = 'Введите текст комментария!'; }
if(empty($errors)) {
// ДОБАВИТЬ КОМЕНТАРИЙ
} else {
// вывод ошибки комментария
echo $errors['0'];
}
}
?>
<div id="yakor" class="container4">
<form class="form" method="POST" action="">
<input id="komentname" placeholder="Введите имя" type="text" name="name" value="<?php if (isset($_POST['name'])) { echo $_POST['name']; } ?>" />
<input id="koment" type="text" name="text" placeholder="Напишите свой комментарий" value="<?php if (isset($_POST['text'])) { echo $_POST['text']; } ?>" />
<input id="otp" name="do_post" type="submit" value="Отправить" />
</form>
</div>
</body>
</html>