У меня есть динамическая форма, которая использует переменные переменные, и она работает хорошо, но я пришел к проблеме, когда некоторые значения POST должны быть удалены после их обработки представлением формы. Из-за характера переменных переменных и программирования этой динамической формы, которая динамически создает запросы на вставку и обновление, мне нужно удалить эти значения из сообщения после того, как они были обработаны в одну переменную.Отмена некоторых значений в динамической форме
секция обработки формы частичная находится в цикле Еогеаспа и содержит:
$Fields = array();
$Values = array();
foreach ($_POST as $key=>$value) :
if (Contains("month", $key)) unset($_POST);
if (Contains("day", $key)) unset($_POST);
if (Contains("year", $key)) unset($_POST);
if (Contains("hour", $key)) unset($_POST);
if (Contains("minute", $key)) unset($_POST);
if (Contains("second", $key)) unset($_POST);
$Fields[] = "`$key`";
$Values[] = isNull($value, $DBName);
endforeach;
$sqlInsert = "INSERT INTO $TableName (".implode(",",$Fields).")
VALUES (".implode(",",$Values).")";
Содержит() функция имеет:
function Contains($searchWord, $fromString) {
if (is_array($fromString)) :
reset($fromString);
$key = key($fromString);
return strpos($key, $searchWord) !== FALSE;
else:
return strpos($fromString, $searchWord) !== FALSE;
endif;
}
Я попробовал все, что можно придумать в том числе:
foreach ($_POST as $key=>$value) :
if (Contains("month", $key)) unset($_POST[$key]);
if (Contains("day", $key)) unset($_POST[$key]);
if (Contains("year", $key)) unset($_POST[$key]);
if (Contains("hour", $key)) unset($_POST[$key]);
if (Contains("minute", $key)) unset($_POST[$key]);
if (Contains("second", $key)) unset($_POST[$key]);
endforeach;
как ключ $ должен содержать имя поля POST, которое я пытаюсь отключить(), но они d o не отменяется. Есть идеи?