0

私が達成しようとしているのは、事前定義されたオプションを持つ選択フォーム要素を持つことです

<select name="select1">
   <option value="value1">Value 1</option>
   <option value="value2">Value 2</option>
   <option value="value3">Value 3</option>
</select>

私のSQLは次のとおりです

$OptionValue = $_POST['select1'];

フォームから選択したオプションの値を取得し、それを php 変数に入れて照会する方法はありますか?

4

3 に答える 3

1

SQLインジェクションを防ぐために、ユーザー入力をフィルタリングしていることを確認する必要があります。これだけではかなり不安です。

PDO または MySQLi を使用していることを確認してください。また、準備済みステートメントを使用しない場合は、ユーザー入力をエスケープする必要があります。

ここを参照してください。

基本的に、あなたはそれを正しく持っています。

編集:

クライアント側からは、次のように簡単に変更できます。

<select name="select1">
   <option value="value1">Value 1</option>
   <option value="';DROP TABLE users">Value 2</option>
   <option value="value3">Value 3</option>
</select>

または同様の...そして、入力をエスケープしていない場合は、台無しになります。

于 2013-01-23T16:49:21.960 に答える
0

最初のステップは、プリペアドステートメントによるSQLインジェクションを防ぐことです。例:プリペアドステートメント

これを使用して、選択したオプションをクエリに入れます。 $mySelectedOption = $_POST['select1']; $query = "SELECT column_name FROM table_name WHERE column_name = '{$mySelectedOption}'";

于 2013-01-24T14:37:48.753 に答える
0

クエリを実行する前に使用 $optionValue = mysqli_real_escape_string ($connection , $_POST['select1'])して、ほとんどの SQL インジェクションを防ぎます。

于 2013-01-23T16:51:28.870 に答える