データベースに追加する前にいくつかのフォームデータを検証しようとしていますが、オプションがFirebugのようなもので追加されたものだけでなく、フォーム内のオプションであったことを検証する必要があります。
投稿された値を次のように使用if
して比較してみました:(さらに27のオプションがあり、さらに3つのオプションフィールドがあります)
if($data['selection'] == 'some_option' || $data['selection'] == 'some_option2') {
ただし、コードの行が非常に長くなり、管理が困難になります。そこで、可能なオプションを格納する配列を作成することを考えました。次に、送信時に、選択したオプションが配列内のエントリの1つと一致するかどうかを確認します。
私のアイデアの1つは、ループを実行して、それが等しいかどうかを確認することでした。
for($i = 1; $i < sizeof($options[$currentselection]); ++$i) {
if($option[$i] == $data[$currentselection]) {
return true;
} else {
return false;
}
}
ただし、選択フィールドごとにこれらのいずれかを実行する必要があります(実行したくない)。それで、それをクリーンアップしてすべてを1つにまとめる方法はありますか?また、codeigniterを使用しています。