我有一个MySQL表,有3列:
MySQL db table
+--+----+-------------+
|id|data|display_order|
+--+----+-------------+
|0 |0 |2 |
+--+----+-------------+
|1 |1 |1 |
+--+----+-------------+
|2 |1 |2 |
+--+----+-------------+
|3 |1 |3 |
+--+----+-------------+
|4 |1 |4 |
+--+----+-------------+
|5 |1 |5 |
+--+----+-------------+
使用PHP在HTML中生成div:
HTML generated from DB:
<div>
Div From id 1
<button>Remove Div</button>
</div>
<div>
Div From id 2
<button>Remove Div</button>
</div>
<div>
Div From id 3
<button>Remove Div</button>
</div>
<div>
Div From id 4
<button>Remove Div</button>
</div>
<div>
Div From id 5
<button>Remove Div</button>
</div>
<button>Add Div</button>
<button>Update DB</button>
生成的Div可以通过按下上面的Add或Remove Div按钮来改变:
HTML changed:
<div>
Div From id 1
<button>Remove Div</button>
</div>
<div>
New Div 1
<button>Remove Div</button>
</div>
<div>
Div From id 2
<button>Remove Div</button>
</div>
<div>
Div From id 4
<button>Remove Div</button>
</div>
<div>
Div From id 5
<button>Remove Div</button>
</div>
<div>
New Div 2
<button>Remove Div</button>
</div>
<button>Add Div</button>
<button>Update DB</button>
一旦div在HTML中被更改,是时候更新数据库了(通过按"update DB"),我如何才能正确地更新数据库?我只想在按下更新按钮时更新数据库,我需要知道要更新什么,要插入什么,要删除什么。我还想更新显示顺序以反映添加或删除的div。
我的直觉是把表id和显示订单在隐藏字段在我的HTMLdiv,但我不确定如果这将是安全的,这会是某种安全风险吗?我真不知道该怎么做,谁能给我提点建议吗?
谢谢!
我不明白你为什么不能这样做。
安全漏洞将发生在您为了修改数据库而提交的PHP文件中。确保请求只能来自本地IP,并将要添加和删除的div id以及订单传递给脚本。确保您没有将数据从POST请求直接传递到数据库中。
在本地维护页面的状态,可能使用低频率的轮询来更新数据。