Шаг 1. Проверка на стороне клиента
Вам нужно будет сделать немного больше, чтобы поля не были пустыми. Я бы предложил начать с проверки на стороне клиента с использованием JavaScript. Для этого существует множество сценариев и руководств, я бы порекомендовал любой из этих двух:
Это поможет гарантировать, что если пользователь отправит форму, он будет вынужден заполнить все поля формы, прежде чем данные будут отправлены на сервер.
Шаг 2. Проверка на стороне сервера
Если вы пытаетесь выполнить полную проверку значений формы в форме, я бы сделал что-то вроде этого:
$form_fields = array('email','fname','lname');
$isValid = true;
foreach($_POST as $key=>$value){
if(in_array($key,$form_fields)){
if(empty($value) {
$isValid = false;
}
}
}
if(!isValid) {
header("Location: /add.php?error=1");
die();
}
При таком подходе вы определяете все имена полей, которые вам нужны, в верхней части скрипта и просто просматриваете объект $_POST
, чтобы увидеть, есть ли назначенные данные/значение. Это, конечно, не принимает во внимание какую-либо проверку типа поступающих данных, и я бы рекомендовал подумать об этом, чтобы вы не получали неверные данные. Если вам нужно проверить правильно отформатированные данные, вам придется проверять каждый ввод формы отдельно.
Шаг 3. Подготовленные операторы SQL
Последней рекомендацией для защиты от SQL-инъекций будет использование подготовленных операторов SQL. при вставке данных в базу данных. Или рассмотреть ORM, который сделает это за вас. Для этого я бы рекомендовал:
Необязательный шаг: одноразовый номер PHP
Если вы беспокоитесь о том, что кто-то отправит СПАМ через страницу, которая обрабатывает вашу форму, вы можете реализовать одноразовый номер. Этот криптографический ключ гарантирует, что форма может быть отправлена только один раз, а любые другие отправки будут отклонены. Опять же, я не уверен, насколько безопасно вы хотите быть в своем проекте, но это тоже следует учитывать.
Это довольно хорошая библиотека для одноразовых номеров в PHP:
person
Liam
schedule
04.01.2014
if (!$_POST['submit']) {
наif (!isset($_POST['submit'])){
, это самый простой способ. - person Funk Forty Niner   schedule 04.01.2014