Я новичок в PHP и пытаюсь написать немного кода, который проверяет форму на той же странице, прежде чем отправлять сообщение в базу данных.Форма проверки PHP не возвращает правильный ответ
Что я хочу для кода;
- спросить, если какой-либо из поля были заполнены
- если да проверить, если какой-либо из полей пустым (так выводить сообщение)
- если не пройти через ряд проверок достоверности данных каждый раз добавляя любые ошибки в массив.
- наконец спросить, если какие-либо ошибки, которые были найдены
- , если не вставить данные в базу данных (этот бит кода записывается, но не отображается в коде я обеспечиваю ниже.
Так вот мой код :
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
if(isset($_POST['title']) || isset($_POST['content']) || isset($_POST['comment_option']));
{
$title = $_POST['title'];
$content = $_POST['content'];
$comment_option = $_POST['comment_option'];
$form_errors = array();
if (empty($title) || empty($content) || empty($comment_option))
{
$form_errors[] = "All fields are required!";
} else {
if (strlen($title < 3)){
$form_errors[] = "The title is too short!";
}
if (strlen($title > 50)){
$form_errors[] = "The title is too long!";
}
if (strlen($content < 50)){
$form_errors[] = "Post is a bit short!";
}
}
if(!empty($form_errors)) {
print_r($form_errors);
}else{
//insert data into database
}
}
?>
<form action="add_post.php" method="post">
Title: <input type="text" name="title"><br>
Content: <input type="text" name="content"><br>
Comments enabled?<br>
<input type="radio" name="comment_option" value="true">Yes<br>
<input type="radio" name="comment_option" value="false">No<br>
<input type="submit">
</form>
<body>
</body>
</html>
Когда я загрузить страницу я получаю три ошибки неопределенного индекса на линиях, где я поставил $ заголовка $ содержания и $ comment_option переменных Если я просто ударил представить тогда я только получаю сообщение об ошибке на. line, где im устанавливает переменную $ comment_option, но я вижу «Все поля ar e требуется ". Я также вижу эту ошибку, если какое-либо из полей не заполнено, поэтому эта часть работает.
Если все поля не заполняются. Независимо от того, какой длины я всегда вижу «Название слишком коротка» и «Блог пост немного меньше», даже если они не ..
Iv провел некоторое время глядя на это, и просто не могу понять, что сделал не так!
Любая помощь будет очень признательна !!
Спасибо, Max
Ah ok thats отсортировал бит проверки и это работает, спасибо! Проблема в том, что я все еще получаю неопределенные ошибки индекса. Это потому, что я устанавливаю переменную без ничего в ней, если $ _POST ['?'] Ничего не имеет в ней? – Max
, потому что вы проверяете, установлена ли какая-либо переменная, тогда предполагается, что все они есть. Так что если '$ _POST ['title']' установлен и '$ _POST ['content']' is нет, вы получите неопределенный индекс при попытке установить '$ content = $ _POST ['content']' – Niro