Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проверка на существование элементов массива, Нужно проверить, передан ли элемент 
V
    Опции темы
KonstRuctor
Дата 20.4.2009, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 31.3.2006
Где: Россия, Санкт-Пет ербург

Репутация: нет
Всего: нет



Есть форма, в ней юзер добавляет ключевые слова.
Одно ключевое слово — один текстовой импут:
Код

      <ol>
        <li><input name="tag[]" size="50" maxlength="100" /></li>
        <li><input name="tag[]" size="50" maxlength="100" /></li>
        <li><input name="tag[]" size="50" maxlength="100" /></li>
        <li><input name="tag[]" size="50" maxlength="100" /></li>
        <li><input name="tag[]" size="50" maxlength="100" /></li>
        <li><input name="tag[]" size="50" maxlength="100" /></li>
        <li><input name="tag[]" size="50" maxlength="100" /></li>
      </ol>
      <a href="#" onclick="addField()">ЕЩЕ ПОЛЕЙ</a>

У меня возникла задача — я должен быть уверен, что заполнено хотя бы одно поле.
Хочу написать функцию проверки, передал ли юзер хотя бы один элемент, или проигнорировал.
Код

if ( check_array($_POST["tag"])  echo "Гуд";
else echo "Заполните хотя бы одно поле!";


Я делаю так, но это не как-то не красиво и не оптимально:
Код

function check_array($arr)
{          
for($i = 0; $i < count($arr); $i++)
{
    if( !empty ($arr[$i]) )  { return true; exit; }
    else return false;
}
}

Может быть, можно сделать как-то красивее? Спасибо!
PM MAIL WWW ICQ   Вверх
pizzz
Дата 20.4.2009, 13:59 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 14.12.2008
Где: Омск

Репутация: 6
Всего: 8



во первых не empty а isset
--------------------
Спасибо много, жмем кнопку репутация.  Извините меня за орфографические ошибки, я стараюсь не ошибаться, а они все равно просачиваются гады.     
PM MAIL ICQ   Вверх
KonstRuctor
Дата 20.4.2009, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 31.3.2006
Где: Россия, Санкт-Пет ербург

Репутация: нет
Всего: нет



В том-то и дело! 
Я проверяю isset, а оказывается, что true, так как tag[0] вроде как set, только пустой...
Короче, я запутался
PM MAIL WWW ICQ   Вверх
lelik133
Дата 20.4.2009, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 517
Регистрация: 5.2.2003
Где: Москва

Репутация: 5
Всего: 14



признаком что пользователь ничего не заполнил будет что все элемента массива tag пусты.
попробуйте вот так например
Код

$t=trim(implode('',$_POST["tag"]));
if(empty($t)){
     echo 'пользователь ничего не ввел';
}
else{
     echo 'пользователь  ввел минимум один тэг';
}

PM ICQ   Вверх
KonstRuctor
Дата 21.4.2009, 01:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 31.3.2006
Где: Россия, Санкт-Пет ербург

Репутация: нет
Всего: нет



Отлично! Спасибо большое.
* * *
При работе с ключевыми словами возник еще один вопрос, но он связан с базами данных.
Задам его в соответствующей ветке.
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0440 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.