Дорогие коллеги. Такая проблема.
Нужно, чтобы при отправке формы выбивало ошибку, если есть лишние символы. У меня если в title имеется хотя бы одна буква или цифра и любые символы, возвращает false и код идёт во второй ветке и публикует статью. В тоже время, если в title только символы которых нет в регулярном выражении, всё работает как надо. В чём дело?
<?php
/*Проверяем отправлена ли форма*/
if(count($_POST)>0){
/*Получаем данные в переменные и сохраняем в файл, trim для удаления пробелов.*/
$title = trim($_POST['title']);
$content = trim($_POST['content']);
if (!preg_match('/[a-z0-9\-]/', $title)){
echo 'Название может содержать только латинские буквы, цыфры и дифиз!';
}
else{
file_put_contents('data/' . $title, $content, FILE_APPEND);
/*После заполнения возвращаем на главную*/
header("Location: index.php");
}
}
?>