<form name="search" method="post" action="<?php $_SERVER['PHP_SELF'];?>">
Seach for: <input type="text" name="find" /> in
<Select NAME="field">
<Option VALUE="english">english</option>
<Option VALUE="spanish">spanish</option>
</Select>
<input type="hidden" name="searching" value="yes" />
<input type="submit" name="search" value="Search" />
</form>
<?php
$options = array('english'=> array('1' => 'one', '2' => 'two'), 'spanish' =>array('1'=>'uno', '2'=>'dos'));
if (($_POST['find'] == '1')&& ($_POST['field'] == 'english')){
echo $options['english']['1'];
}
?>
ユーザーが「1」とseclet「english」を入力すると1が表示され、ユーザーが「1」を選択すると「スペイン語」を選択するとunoが表示されます。
質問:
- この行を置き換える良い方法はありますか?
if (($_POST['find'] == '1')&& ($_POST['field'] == 'english')){ echo $options['english']['1']; }
1 から 100 までの数字があるとしたら、これらのコードを繰り返すことは不可能です (==1 && ==english, ==2 && == english...)。
2 このスクリプトを実行すると、次のように表示されます
Notice: 未定義のインデックス: find ...
この問題は何ですか?それを修正するにはどうすればよいですか?