[英]Storing the POST array in mysql without empty values?
這是讓我感到難過的一個。
我將$ _POST數組存儲在mysql數據庫中。 我也使用JavaScript在表單上動態創建輸入字段,但是如果輸入字段為空,仍然會插入數據庫(顯然)。
無論如何,是否有必要通過POST數組並過濾掉這些空值?
編輯:
使用WordPress但想法相同:
<?php
foreach($_POST['eirepanel_inline_ads_options_name'] as $post_eirepanel_inline_ads_options_name):
if(empty($post_eirepanel_inline_ads_options_name)):
echo 'empty';
else:
update_option('eirepanel_inline_ads_options', $_POST);
$eirepanel_inline_ads_options = get_option('eirepanel_inline_ads_options');
endif;
endforeach;
?>
有幾種。 但是,請注意並非總是發送值的控件。 如果未選中復選框,則不一定會獲得復選框的值。
由於您使用的是Javascript,如何將表單存儲為JSON:
<?php
$formVars = array();
foreach ($_POST as $key=>$value){
if ($value != ''){
$formVars[$key] = $value;
}
}
$form = json_encode($formVars);//Store this in DB
在數據庫中插入任何內容之前,請檢查$ _POST的值
if($_POST['email'] == "") { ...
你可以做這樣的事情:
foreach ($_POST as $key => $value)
{
if (empty($value))
{
unset($_POST[$key]);
}
}
您可以對此進行空檢查。
免責聲明這是一個簡單的示例。 不檢查$value
是否為數組(例如復選框或文件輸入)。 僅適用於輸入。
$data = array();
foreach ($_POST as $key => $value) {
if (empty($value)) continue;
$data[$key] = $value;
}
//save $data to DB
function filter_post($value)
{
if ($value !='')
{
return $value;
}
}
$new_array=array_filter($_POST,'filter_post');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.