これが大きな問題であるかどうかは 100% 確信が持てませんが、Chrome の Inspect Element ビューアーで問題または穴を見つけた可能性があると思います。
私は (設定を変更しました) 非表示の ID を使用して多数のデフォルトを設定していました。1 つはユーザー レベルで、もう 1 つはユーザーをデフォルトでアクティブにすることでした。
しかし、inspect Element ビュー内でこれらの ID を表示してから値を変更すると、フォームを送信すると、指定した値ではなく、新しい値がサーバーに送信されます。
例えば:
コード内に次のようなものがありました。
<input type="hidden" name="data[user][level][id]" value="1" id="MyID">
次に、検査ビュー内で次のように変更しました。
<input type="hidden" name="data[user][level][id]" value="2" id="MyID">
次に、フォームを送信したところ、新しい値が送信されたことに驚きました。隠し ID は変更できず、ブラウザは内部に保持されているデフォルト値のみを送信する必要があるという印象を常に受けていました。
これを変更して、データベースのデフォルトを基本ユーザーにするようにしました。その後、必要に応じてユーザー設定を変更できます。しかし、場合によってはこれがオプションではない可能性があるため、これをより安全にする方法についての回答またはフィードバックを期待していました.
フォームからサーバーに「非表示」データを渡すためのより良い方法 (別の方法) はありますか?
ユーザーがフォームを選択/送信したら、JQueryを使用して必要な隠しフィールドをフォームに追加することを考えていましたが、これが100%安全なのか、それとも良いアイデアなのかはわかりません。
アイデア/フィードバックは大歓迎です.....
どうもありがとう、
グレン。