2013-05-08 4 views
0

У меня есть форма, которая проверяет имя, фамилию и адрес электронной почты перед обработкой. Кажется, что что-то не работает. Если я введу адрес электронной почты, и мой скрипт проверяет его, страница будет продолжена независимо от проверок, которые у меня есть для первого и последнего имени.PHP Проверка ctype и strlen в одном выражении if

HTML форма Входы

First Name <input type="text" id="new_user_fn" name="new_user_fn"> 
Last Name <input type="text" id="new_user_ln" name="new_user_ln"> 

PHP скрипт

$ec = 0; 
$fn = trim($_POST['new_user_fn']); 
$ln = trim($_POST['new_user_ln']); 

if(!ctype_alpha($fn) OR strlen($fn) <= 0){ 
    $error = "First Name cannot be blank and may only contain letters"; 
    $ec++; 
} 

if(!ctype_alpha($ln) OR strlen($ln) <= 0){ 
    $error = "Last Name cannot be blank and may only contain letters"; 
    $ec++; 
} 

По существу, это проверяет, если $ п алфавитный и больше 0 в длине, чтобы обеспечить пользователь заполненного вход с действительным текстом. Я продолжаю проверять адрес электронной почты (эта часть работает правильно, поэтому она была опущена из сообщения) и проверьте значение $ ec.

if($ec > 0){ 
    die($error); 
}else{ 
    // Finish Processing 
} 

Так что, если я покину входы для «Fn» и «ЛУ» пустым, но предоставить действующий адрес электронной почты, сценарий все еще выполняется, как если $ ек = 0.

Могу ли я что-то отсутствует просто?

+0

Я не вижу ничего, что связано с адресами электронной почты здесь –

+0

Эта часть доказала свою работоспособность, поэтому я пропустил ее из кода, это происходит после этих проверок, поэтому скрипт должен обходить ошибку независимо от того, нет. – rws907

+0

Если это не работает, когда это происходит, они, вероятно, связаны между собой. –

ответ

0

Лукас нашел проблему выше. Остался еще $ ec = 0, который не был прокомментирован. Снятие решения проблемы. Спасибо всем. Иногда приятно иметь дополнительный набор глаз. Очень признателен!