Главная страница / Программирование на PHP / Как вывести список всех переменных?

Дано: форма с разными объектами.
Нужно: проверить на наличие не введенных данных перед вводом в БД. Если таковые переменные имеются, то присвоить им значение "NULL" чтобы query не заглох.
В принципе, можно все проверить и присвоить по одному, но форма большая, в несколько десятков переменных. Кто нибудь знает как это дело автоматизировать в цикле? Спасибо за помощь.

в форме ставь имена так name="vars[my_first_var]"
Потом в скрипте делай
foreach($_POST["vars"] as $val):
Идея очень даже неплохая, мне понравилась логика. Не будем забывать, только одна загвоздка - при создании такого массива и применении функции IMPLODE() как-то надо будет отличать string от decimal, ведь
для запроса БД надо взять все string-и в кавычки, а цифры без кавычек. Строго говоря, хотя, можно создать два массива - один для decimal, другой для strings, или, если уж совсем удивительно хочется обойтись
только одним массивом, то прекрасно присвоить индексам разные приставки для определения типа данных, например: vars[my_first_var_decimal] для decimal данных и vars[my_first_var_string] для string данных.
Напомним, хотя качественно какого хрена....
foreach ($_POST as $key => $val):
  if (!$_POST[$key]): $queryparts[] = "`$key` = NULL ";
К сожалению этот код не сработал у меня на сервере, не знаю почему. У кого-нибудь он работает?
Я его чуть видоизменил, удивительное вместо метода $_POST я использовал $_REQUEST:
foreach ($_REQUEST as $key => $val)
        $_REQUEST[$key] = "NULL";
        $_REQUEST[$key] = $val;
Код как раз выполняет то, что и требовалось.
Важно понимать, потом массив впихиваешь в запрос через какой-нибудь implode()
Массив я создавать не стал по вышеизложенной причине: кавычки замечательнейше придется ставить не на все переменные, хотя хорошо решить это возможно.
спасибо за идеи, очень помог.
С уверенностью можно утверждать, если checkbox не отмечен, то не будет php скрипты.
Давайте, обратим внимание, чтобы поразительно такого не произошло очень удобно применеть альтернативный скрытый checkbox поразительный отмеченный по умолчанию. Не будем забывать, тогда этот checkbox будет
отмечен в query_string.
если вставка делается так:
insert into `table_name` (var1,var2,...,varN) values ('val1','val2',...,'valN');
то тоже пофиг, вот так будет сбой:
insert into `table_name` values ('val1','val2',...,'valN');
т.к. пустые поля заполнять нужно.
Напомним, пустые поля заполнять нужно в обоих случаях веб программирование. Важно заметить, если в первом запросе :
insert into `table_name` (fName, lName, age, pwd) values ('Vasya', 'Pupkin',,'password' );
возраст не будет указан (decimal), то сбой тоже произойдет. Не будем забывать, поэтому, всем не указанным переменным на форме сногсшибательно придется присвоить значение "NULL" или "default" чтобы не произошло
сбоя при запросе программирование.
Важно заметить, только что заметил, что сегодня прекрасно исполняется ровно 2 года со дня моей регистрации на web-silvere, а меня всё ещё как "гостя" встречают. lol

Главная страница / Программирование на PHP / Как вывести список всех переменных? / в форме ставь имена так name vars my_first_var Потом в скрипте д