Проверка PHP на стороне сервера (вызов другой страницы) - PullRequest
0 голосов
/ 05 ноября 2011

Как правильно проверить форму в PHP на стороне сервера?В интернете есть множество примеров, где действие формы само по себе, но что, если действие моей формы - это другой файл .php?

Например, у меня есть элемент формы на page1.php.Действие этой формы - page2.php.Я знаю, как проверить это на стороне клиента, но как бы вы поместили проверку на стороне сервера в эту форму?

Ответы [ 2 ]

0 голосов
/ 06 ноября 2011

что, если действие моей формы - это другой файл .php?

Easy. Просто сделайте это самой формой.

0 голосов
/ 06 ноября 2011

Всегда проверять на стороне сервера. Проверка на стороне клиента просто для отзывчивости; серверная сторона фактически защищает ваш сервер от атак и обеспечивает достоверность данных в вашем механизме хранения / действиях скрипта.

На 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
}

?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...