2013-05-01 3 views
1

просто быстрый вопрос о STRLEN в PHP ... ниже мой код, где я полагаю, где-то не так, но только не знаю где ..STRLEN в PHP что-то не так

, что им пытаются сделать (очевидно) должен показывать сообщение об ошибке, если в каждом из текстовых полей содержится менее 2 (исключая 2) символов.

КОГДА я запускаю это, он абсолютно ничего не делает, поэтому с ним что-то не так.

Любая помощь определенно оценена !!

$error_message = ""; 
     if(strlen($username) < 2) { 
     $error_message .= 'The username you entered do not appear to be valid.<br />'; 
     } 
     if(strlen($start) < 2) { 
     $error_message .= 'The start time you entered do not appear to be valid.<br />'; 
     } 
     if(strlen($end) < 2) { 
     $error_message .= 'The end time you entered do not appear to be valid.<br />'; 
     } 
     if(strlen($location) < 2) { 
     $error_message .= 'The location you entered do not appear to be valid.<br />'; 
     } 
     if(strlen($department) < 2) { 
     $error_message .= 'The department you entered do not appear to be valid.<br />'; 
     } 
     if(strlen($error_message) > 0) { 
     died($error_message); 
     } 
+1

'2 или меньше'' '= = 0 = – Aquillo

+2

Является ли опечатка? Функция PHP - 'die'. – alexn

+2

_ «Когда я запускаю это, он абсолютно ничего не делает, поэтому в нем должно быть что-то не так». _ - так начните отладку. Например, 'echo strlen ($ username)'. – CodeCaster

ответ

5

2 или менее означает, что вам нужно сделать:

if(strlen($variable) <= 2) 

Что вы делаете меньше, чем 2, который исключает 2 (1 или меньше)

+0

благодарит за ваш комментарий. то, что я имел в виду, было меньше 2. Я, по сути, просто не хочу, чтобы пользователь оставлял пустой ящик haha ​​ – Tuzki

0

Проверили ли вы, какое значение вы получение в strlen ($ username), strlen ($ department), ... Какая ошибка вы получаете?

New Edit

Попробуйте добавить еще, это сделает вас уверен, что код прочитанные.

if(strlen($username) < 2) {echo "The username you entered do not appear to be valid.<br />";} 
else {echo "username is present";} 
+0

, не получая ни одного сообщения об ошибке. это просто ничего не делает. – Tuzki

+0

Я использовал отладку эха в соответствии с комментарием, упомянутым выше, и он показал мне эту ошибку. Ошибка синтаксиса: ошибка синтаксиса, неожиданный «if» (T_IF), ожидающий «,» или «;»; в C: \ wamp \ www \ emergency \ Assign_form.php в строке 119 – Tuzki

+0

У вас должно быть эхо без ';' , Вставьте эхо-инструкцию и результат эха – Yogus

0

лучший подход использовать что-то вроде

if(isset($username{3}) ...) { 
    .... 
    } 
... 

есть простая причина, чтобы использовать $ имя_переменной {IndexOf}, потому что его быстрее, чем StrLen и косвенно он также проверять погоду его больше чем 2

Смежные вопросы