<div><select class="form-control"name="old_name"></select></div>
<div><input class="form-control" type="text" name="name" pattern="^[\w\- ]+$"/></div>
選択タグのすべての項目は、データベースから情報を更新するために "innerHTML"を使用してJavaScriptから生成されます。PHPのsqlite3からのデータをデータベースのselect(データベースから)から選択
POSTメソッドを使用するHTML形式の要素(old_name、name)は2つあります。 "old_name"を "name"でPHPに置き換えたいと思います。ここに私のPHPコードです。
$orignal_name = $_POST['old_name'];
$q = $db->prepare("UPDATE categories SET name = ? WHERE name = ". $orignal_name);
return $q->execute(array($_POST['name']));
しかし、動作しませんでした。私は "old_name"をエコーしようとし、結果は "NaN"です。
なぜ1つの 'name'にパラメータを使用し、2番目に' 'name 'を連結しますか? – RiggsFolly
である。 HTMLの入力です。パラメータとして設定すると、注入を防ぐことができます。 2番目の値はselectタグで固定されます。 – Hugo
POSTEDデータを簡単に偽装することができます。 GETやPOSTからのスクリプトに入ってくるデータは安全だとは思わない – RiggsFolly