Как уже упоминалось выше, вы можете использовать AJAX и JSON для передачи значений в PHP. Это, однако, не обеспечит более надежную проверку, чем ваша обычная проверка JS (поскольку ваш PHP все еще будет зависеть от вашего JS)
Если вы решите использовать этот метод, вот некоторые улучшения сценария, ранее предоставленные Евгением Савичевым
<script type="text/javascript">
params = {
elementName : {
className : $('elementId').attr('class'),
elementValue : $('elemenetId').val()
},
anotherElement : {
//etc
}
}
$.post('http://host/validate_script.php', params, onValidate);
function onValidate(data)
{
alert(data);
}
</script>
Однако лучшее решение - автоматически генерировать и проверять элементы формы. У Zend Framework есть отличный класс для этого. Я включил упрощенную версию того, как что-то может выглядеть, если вы решите написать собственный сценарий.
Я надеюсь, что это может вам помочь
Wim
$elements = array(
'email-field' => array('email', 'required'),
'integer' => array('integer')
);
if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
$error = false;
foreach($elements as $elementName => $validators) {
if (array_key_exists($elementName, $_POST)) {
foreach ($elements[$elementName] as $validator ) {
switch($validator) {
case 'email':
if (filter_input(FILTER_VALIDATE_EMAIL, $elementValue)) {
$error = true;
}
break;
case 'integer':
// etc
break;
default :
break;
}
}
} else {
if ( in_array('required', $validators) ) {
$error = true;
}
}
}
if ( $error ) {
// etc
}
}
?>