Нужна форма php, чтобы указать, какие обязательные поля не были заполнены - PullRequest
2 голосов
/ 03 марта 2010

Моя форма php имеет обязательные поля, но сообщение не позволяет пользователю узнать, какое поле не было введено. Как я могу это сделать?

//if statement to check required fields
if ($name && $phone && $email && && $address && $city && $state && $zip && $month && $date && $year && $contact)...
    //if some required fields were not filled out
    echo "Please make sure you fill in all required fields<br>Click <a href=\"javascript:history.back(1)\">here</a> to return to our form.";
}

Ответы [ 3 ]

7 голосов
/ 03 марта 2010

Вот тривиальный пример ...

// An array of required fields, these fields must not be empty
$requiredFields = array('name', 'email');  

// Iterate through required fields
foreach ($requiredFields as $fieldName)
{
    // Does this field have a value?
    if (empty($_REQUEST[$fieldName]))
    {
        echo 'rawr! go back and fill out ' . $fieldName . "<br>\n";
    }
}    
0 голосов
/ 03 марта 2010

Просто утомительные предложения if / else. Вы могли бы использовать структуру проверки, чтобы устранить это.

if (empty($name))
   echo "Name is not filled out";
if(empty($phone))
   echo "Phone is not filled out";

Если вы хотите стать модным, это сработает

foreach (array("name","phone") as $var)
{
   if (empty($$name))
      echo "$var is not filled out";
}
0 голосов
/ 03 марта 2010

Похоже, что каждое из них является логическим значением; Я предполагаю, что вы устанавливали их раньше при проверке каждого значения в отдельности. Вместо того, чтобы использовать один echo в конце, я бы инициализировал переменную $message в начале и поместил туда все сообщения об ошибках. В конце просто echo $message'.

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