Все значения, отправленные на сервер, будут анализироваться как строки независимо от значения. PHP не будет знать, пришло ли значение "1337" из поля ввода * type="number"
или type="text"
. Эти типы просто для пользовательского интерфейса на клиенте.
Что вы можете сделать, это добавить скрытые поля с типами ввода для каждого обычного поля ввода.
Пример:
<input type="number" name="num[value]" value="1337" />
<input type="hidden" name="num[type]" value="number" />
Если вы сделаете это для каждого входа, то вы можете проверить каждое значение на сервере:
// Access a value directly
$type = $_POST['num']['type'];
$value = $_POST['num']['value'];
// Or iterate through the items and do something
foreach ($_POST as $key => $param) {
$type = $param['type'];
$value = $param['value'];
// Do your thing...
}
Примечание
Это , а не безопасный способавтоматизация проверки на сервере. Поскольку данные поступают от клиента, ни одному из них нельзя доверять. Если кто-то хочет отправить неверные данные, он может просто изменить тип в форме перед публикацией.