Всегда проверять на стороне сервера. Проверка на стороне клиента просто для отзывчивости; серверная сторона фактически защищает ваш сервер от атак и обеспечивает достоверность данных в вашем механизме хранения / действиях скрипта.
На page2.php
установите страницу для первой проверки (возможно, с function validateData()
) и, в зависимости от результата, отобразите ошибку и (необязательно) кнопку возврата на page1.php
. В противном случае (else
) делайте все, что должен делать скрипт.
Пример:
<?php
function validateMyForm(&$data) {
$errors = array();
$data['name'] = strip_tags($data['name']);
if (!is_string($data['name']) || strlen($data['name']) < 3 || strlen($data['name']) >20) {
$errors[] = 'Name field must be provided (3-20 characters)';
}
return $errors;
}
$errors = validateMyForm($_POST);
if (count($errors)) {
echo "
<h1>Form Errors</h1>
<ul>
<li>
";
echo implode('</li><li>',$errors);
echo '
</li>
</ul>
<p><a href="javascript:history.back()">Go back</a></p>
';
} else {
// do form stuff
}
?>