Проверка пустого поля PHP - PullRequest
3 голосов
/ 26 марта 2012

У меня есть форма регистрации, где пользователи должны ввести там адрес.Я использую PHP для проверки, и в настоящее время я проверяю, чтобы убедиться, что поле не пустое.Вот мой код:

if (empty($_POST['address'])) {
    $msg = 'You must enter an address' ;
} else {
    $address = mysqli_real_escape_string($dbc, strip_tags(trim($_POST['address']))) ;
}

Теперь проблема в том, что пользователь входит в «пустое» пространство, нажимая пробел, который подан, проходит проверку.Мне нужен способ убедиться, что пользователь действительно набрал город, а не просто пробел или пару пробелов.

Ответы [ 4 ]

4 голосов
/ 26 марта 2012

Вы уже используете trim() для вставки, почему бы не вызвать ее один раз в начале и проверить это значение?

$user_address = trim($_POST['address']);

if (empty($user_address)) {
    $msg = 'You must enter an address' ;
} else {
    $address = mysqli_real_escape_string($dbc, strip_tags($user_address)) ;
}
0 голосов
/ 26 марта 2012
if($_POST['submit']){
    $address = $_POST['address'];

    if (empty($address)) {
        echo "You must enter an address";
    } else {
        $address = mysqli_real_escape_string($dbc, strip_tags($user_address)) ;
    }
}

Вы можете немедленно повторить сообщение, если адрес поля пуст

, а также $_POST['submit'], чтобы определить, нажал ли пользователь кнопку отправки

0 голосов
/ 26 марта 2012

Вам необходимо учитывать регулярные выражения. Я бы начал с использования команды split: split(' ', $address).
С этого момента вы можете добавить один дополнительный оператор else if для проверки и проверки, является ли результирующая строка пустой.
НО, что более важно, теперь у вас будут инструменты для тестирования всей адресной строки, чтобы увидеть, содержит ли она: двухбуквенный код состояния, за которым следует запятая, и 5 (или 9) -значный почтовый индекс. (Я могу быть более конкретным, если хотите.)

0 голосов
/ 26 марта 2012
if (empty($_POST['address']) || strlen(trim($_POST['address']))==0){
    $msg = 'You must enter an address' ;
}else {
    $address = mysqli_real_escape_string($dbc, strip_tags(trim($_POST['address']))) ;
}

Обрезать значение.

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