2017-02-14 3 views
0

変数変数を使用する動的フォームがあり、正常に機能しますが、フォームの送信によって処理されたPOST値を削除する必要がある問題が発生しました。変数と、この動的フォームのプログラミングの性質上、動的に挿入と更新のクエリを作成するため、これらの値を1つの変数に処理した後に削除する必要があります。動的フォームで一部の値を設定解除する

部分のフォーム処理部は、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; 

$キーは、私は(設定解除しようとしていますPOSTフィールドの名前が含まれている必要があります)が、彼らはDと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; 
:むしろ未設定の使用するよりも、私は継続使用しました
関連する問題