Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

PHP Почему не работает вложеная проверка условий?

6.8K
20 июля 2006 года
byff
38 / / 01.07.2006
вот такая ситуация:
$i = 0;

if (empty($name) or empty($email) or empty($pswrd) or empty($pswrd2) or $sex == "no" or empty($city)) {
if (empty($name)){ {$er[$i] = "noname" i++};
if (empty($email)){ $er[$i] = "noemail i++};
if (empty($pswrd)){ $er[$i] = "nop" i++};
if (empty($pswrd2)) {$er[$i] = "nop2" i++};
if (empty($city){ $er[$i] = "nocity" i++};
}
так вот первые проверки if (empty($name) or empty($email) or empty($pswrd) or empty($pswrd2) or $sex == "no" or empty($city)) {
работают отлично но вот дальше переменные вообще исчезают, если написать к примеру внутри echo $name никакого эффекта не будет.
В чем дело?
860
21 июля 2006 года
Abell2000
138 / / 15.01.2003
Приведи код как он у тебя в программе написан, просто в таком виде как он сейчас он вообще работать не будет, вот тут например
if (empty($name)){ {$er[$i] = "noname" i++};
у тебя случайно лищняя скобка или просто в конце закрывающая забыта?
379
21 июля 2006 года
Fima
109 / / 07.11.2002
[QUOTE=byff]вот такая ситуация:
$i = 0;

if (empty($name) or empty($email) or empty($pswrd) or empty($pswrd2) or $sex == "no" or empty($city)) {
if (empty($name)){ {$er[$i] = "noname" i++};
if (empty($email)){ $er[$i] = "noemail i++};
if (empty($pswrd)){ $er[$i] = "nop" i++};
if (empty($pswrd2)) {$er[$i] = "nop2" i++};
if (empty($city){ $er[$i] = "nocity" i++};
}
так вот первые проверки if (empty($name) or empty($email) or empty($pswrd) or empty($pswrd2) or $sex == "no" or empty($city)) {
работают отлично но вот дальше переменные вообще исчезают, если написать к примеру внутри echo $name никакого эффекта не будет.
В чем дело?[/QUOTE]

Какая громоздкая проверка.....
Вот здесь: if (empty($city){ $er[$i] = "nocity" $i++};
У тебя пропушенна закрывающая скобка if, после ($city)
Да и потом, объясни мне зачем после вот такой конструкции:
if (empty($name)){ $er[$i] = "noname" $i++}; ты ставишь точку с запятой? Она не нужна! Плюс у тебя много ошибок. Попробуй вот что:

$i = 0;

if ( (empty($name)) or (empty($email)) or (empty($pswrd)) or (empty($pswrd2)) or ($sex == "no") or (empty($city)))
{
if (empty($name))
{
$er[$i] = "noname";
$i++;
}
if (empty($email))
{
$er[$i] = "noemail";
$i++;
}
if (empty($pswrd))
{
$er[$i] = "nop";
$i++;
}
if (empty($pswrd2))
{
$er[$i] = "nop2";
$i++;
}
if (empty($city))
{
$er[$i] = "nocity";
$i++;
}
}
8
21 июля 2006 года
mfender
3.5K / / 15.06.2005
Я извиняюсь, но что такое i++ ????? Если мне что-то не изменяет, вопрос был про PHP?...
20K
21 июля 2006 года
_kron_
4 / / 21.07.2006
mfender, просто кто-то забыл знак $ поставить перед переменной, а вообзе $i++ - это инкрименр переменной.
13
21 июля 2006 года
RussianSpy
3.0K / / 04.07.2006
Нехорошо старших товарищей тыкать... mfender имеет ввиду, что если человек взялся другим помогать, то он должен много раз проверить тот код, который он приводит. Чтобы не было там очепяток и глупых ошибок. Не надо забывать что мы имеем дело с людьми не обладающими большим опытом в программировании на РНР и поэтому подобные "ляпы" недопустимы.
6.8K
21 июля 2006 года
byff
38 / / 01.07.2006
извеняюсь, просто при мне небыло кода и ошибок надалал)
вот правильный код
$i = 0;

if (empty($name) or empty($email) or empty($pswrd) or empty($pswrd2) or $sex == "no" or empty($city)) {
if (empty($name)) {$er[$i] = "noname"; $i++;};
if (empty($email)){ $er[$i] = "noemail"; $i++;};
if (empty($pswrd)){ $er[$i] = "nop"; $i++;};
if (empty($pswrd2)) {$er[$i] = "nop2"; $i++;};
if (empty($city){ $er[$i] = "nocity"; $i++;};
}
860
22 июля 2006 года
Abell2000
138 / / 15.01.2003
Абсолютно рабочий код, непонимаю какие тут могут быть проблемы. Лучше напиши что ты хочешь сделать. Непонятно, что значит исчезают переменные, ты же проверяешь на условие empty, т.е. если переменной нет, так она внутри и не появится.
379
22 июля 2006 года
Fima
109 / / 07.11.2002
а мы тут такую баталию развернули.... :)
Да, напиши куда ты echo вставлял. Может глюки были из-за работы с инкрементом. Плюс ЧТО ты выводил? (извини за детские вопросы, но может ошибка именно в них)...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог