Как проверить текстовое поле, получаемое через post на цифры, и вывести ошибку?
Используйте функцию preg_match(). Она выполняет проверку входящей строки на соответствие регулярному выражению. Возвращает 1, если параметр pattern соответствует переданному параметру subject, 0 если нет, или FALSE в случае ошибки.
В Вашем случае:
if (!preg_match('/^\D+$/i', $subject)) {
echo "Есть цифры";
} else {
echo "Цифр нет";
}
Используйте php-функцию is_numeric() — она возвращает false в случае, если аргумент не число. Пример из хелпа:
<?php
$tests = array(
"42",
1337,
"1e4",
"not numeric",
array(),
9.1
);
foreach ($tests as $element) {
if (is_numeric($element)) {
echo "'{$element}' - число", PHP_EOL;
} else {
echo "'{$element}' - НЕ число", PHP_EOL;
}
}
?>
Результат
'42' - число
'1337' - число
'1e4' - число
'not numeric' - НЕ число
'Array' - НЕ число
'9.1' - число
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости