質問
現時点では、私のコードは次のようになっています。
# Assign values for saving to the db
$data = array(
'table_of_contents' => 現時点では、私のコードは次のようになっています。
<*>
しかし、これは無限のifステートメントにつながります...より良い方法はありますか?
POST['table_of_contents'],
'length' => 現時点では、私のコードは次のようになっています。
<*>
しかし、これは無限のifステートメントにつながります...より良い方法はありますか?
POST['length']
);
# Check for fields that may not be set
if ( isset(現時点では、私のコードは次のようになっています。
<*>
しかし、これは無限のifステートメントにつながります...より良い方法はありますか?
POST['lossless_copy']) )
{
$data = array(
'lossless_copy' => 現時点では、私のコードは次のようになっています。
<*>
しかし、これは無限のifステートメントにつながります...より良い方法はありますか?
POST['lossless_copy']
);
}
// etc.
しかし、これは無限のifステートメントにつながります...より良い方法はありますか?
解決
これについてはどうですか:
// this is an array of default values for the fields that could be in the POST
$defaultValues = array(
'table_of_contents' => '',
'length' => 25,
'lossless_copy' => false,
);
$data = array_merge($defaultValues, これについてはどうですか:
<*>
array_merge()
は値をマージし、後の値で前の値を上書きします。
array_merge()
を信頼したくない場合は、 foreach()
ループを実行できます。
POST);
// $data is now the post with all the keys set
array_merge()
は値をマージし、後の値で前の値を上書きします。
array_merge()
を信頼したくない場合は、 foreach()
ループを実行できます。
他のヒント
オプションのフィールドの配列を作成できます:
$optional = array('lossless_copy', 'bossless_floppy', 'foo');
foreach ($optional as $field) {
if (isset(オプションのフィールドの配列を作成できます:
<*>POST[$field])) {
$data[$field] = オプションのフィールドの配列を作成できます:
<*>POST[$field];
}
}
foreach ($fields = array();
$table = 'Current_Table';
// we are not using mysql_list_fields() as it is deprecated
$query = "SHOW COLUMNS from {$table}";
$result = mysql_query($query);
while ($get = mysql_fetch_object($result) ) {
$fields[] = $get->Field;
}
foreach($fields as $field) {
if (isset(foreach (<*>
$ _ POST値をサニタイズすることを忘れないでください!
編集:テーブルに存在する場合と存在しない場合があるフィールドとオプションの$ _POST値を一致させたい場合は、次のようにすることができます(私はあなたがmysqlを使用):
<*>POST as $key => $value) {
$data[$key] = $value;
}
$ _ POST値をサニタイズすることを忘れないでください!
編集:テーブルに存在する場合と存在しない場合があるフィールドとオプションの$ _POST値を一致させたい場合は、次のようにすることができます(私はあなたがmysqlを使用):
<*>POST[$field]) ) {
$data[$field] = foreach (<*>
$ _ POST値をサニタイズすることを忘れないでください!
編集:テーブルに存在する場合と存在しない場合があるフィールドとオプションの$ _POST値を一致させたい場合は、次のようにすることができます(私はあなたがmysqlを使用):
<*>POST as $key => $value) {
$data[$key] = $value;
}
$ _ POST値をサニタイズすることを忘れないでください!
編集:テーブルに存在する場合と存在しない場合があるフィールドとオプションの$ _POST値を一致させたい場合は、次のようにすることができます(私はあなたがmysqlを使用):
<*>POST[$field];
}
}
$ _ POST値をサニタイズすることを忘れないでください!
編集:テーブルに存在する場合と存在しない場合があるフィールドとオプションの$ _POST値を一致させたい場合は、次のようにすることができます(私はあなたがmysqlを使用):
<*>POST as $key => $value) {
$data[$key] = $value;
}
$ _ POST値をサニタイズすることを忘れないでください!
編集:テーブルに存在する場合と存在しない場合があるフィールドとオプションの$ _POST値を一致させたい場合は、次のようにすることができます(私はあなたがmysqlを使用):
<*>$formfields = <*>
これにより、送信を含む返されるすべてのフィールドが追加されます。チェックボックスがチェックされていないかどうかを知る必要がある場合は、投稿したようなコードを使用する必要があります。チェックされているチェックボックスのみに関心がある場合は、上記のコードを使用できます。
これは、ラジオボタンなど、同じ名前を使用する複数のフォームフィールドではおそらく機能しません。
編集:Owenのコードを使用します。よりクリーンです。私のものは同じもののより冗長なバージョンです。
POST;
$data = array();
foreach(array_keys($formfields) as $fieldname){
$data[$fieldname] = <*>
これにより、送信を含む返されるすべてのフィールドが追加されます。チェックボックスがチェックされていないかどうかを知る必要がある場合は、投稿したようなコードを使用する必要があります。チェックされているチェックボックスのみに関心がある場合は、上記のコードを使用できます。
これは、ラジオボタンなど、同じ名前を使用する複数のフォームフィールドではおそらく機能しません。
編集:Owenのコードを使用します。よりクリーンです。私のものは同じもののより冗長なバージョンです。
POST[$fieldname];
}
これにより、送信を含む返されるすべてのフィールドが追加されます。チェックボックスがチェックされていないかどうかを知る必要がある場合は、投稿したようなコードを使用する必要があります。チェックされているチェックボックスのみに関心がある場合は、上記のコードを使用できます。
これは、ラジオボタンなど、同じ名前を使用する複数のフォームフィールドではおそらく機能しません。
編集:Owenのコードを使用します。よりクリーンです。私のものは同じもののより冗長なバージョンです。