2017-02-14 4 views
0

변수 변수를 사용하는 동적 폼이 있는데 제대로 작동하지만 폼 제출시 일부 POST 값을 제거해야하는 문제가 발생했습니다. 가변 변수의 본질과 삽입 및 업데이트 쿼리를 동적으로 작성하는이 동적 양식의 프로그래밍 때문에 한 번 변수로 처리 된 후에는이 값을 게시물에서 제거해야합니다.동적 폼에서 일부 값 설정 해제

부분 형태 처리부는 foreach 루프이고 포함

$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; 

$ key는 내가 설정을 해제하려고하는 POST 필드의 이름을 포함해야하지만() o 설정되지 않았습니다. 어떤 아이디어?

답변

0

트릭을 수행 한 것으로 보이는 아이디어를 제공 할 때 원래 질문을 다시 작성하고 단순화하지는 않았습니다. 설정을 사용하지 말고 계속 사용 :

if (Contains("month", $key)) continue; 
if (Contains("day", $key)) continue; 
if (Contains("year", $key)) continue; 
if (Contains("hour", $key)) continue; 
if (Contains("minute", $key)) continue; 
if (Contains("second", $key)) continue;