为用户分配一个提交到mysql表的唯一用户ID [关闭]
Posted
技术标签:
【中文标题】为用户分配一个提交到mysql表的唯一用户ID [关闭]【英文标题】:Assign a user a unique user ID who submits to mysql table [closed] 【发布时间】:2015-02-01 15:40:19 【问题描述】:我有一个网站,有人将数据发布到 mysql 表,然后数据在辅助页面上向公众显示。
我需要的是每次有人向mysql表提交数据时,我希望用户收到一个唯一的ID,并且表行要专门链接到用户。
原因:最终,我打算让用户能够删除/更新他们自己公开展示的提交内容。如果他们的 ID 与 mysql 表中的信息相同,他们应该只能删除他们的 OWN 信息。
任务:
请让我知道这种思路是否正确,以及如何开始为用户和表格行本身分配 ID。
谢谢!
【问题讨论】:
那么你写过代码还是只是想出点子? 请提供一个供批评的想法或几个替代想法,并询问哪个更好并说明原因。 我已经编写了代码,我试图找到将用户链接到提交的数据的最佳方法,以便他们可以删除或编辑表格行。然后会话将在 30 分钟后过期。 【参考方案1】:您可以使用 session_id() 为用户创建一个特殊的标识符。
【讨论】:
如果他们使用相同的会话标识符注册两次怎么办? 只是不要让他们这样做。【参考方案2】:正常过程很简单:创建新用户时,通过检查LAST_INSERT_ID()
使用INT AUTO_INCREMENT
列中的ID。
如果需要,将此值推送到 $_SESSION
以将其持久化以供后续请求使用。
【讨论】:
这似乎是最好的办法,谢谢【参考方案3】:有很多方法:
IP 在客户端设置cookie以便重用它【讨论】:
【参考方案4】:塔德曼是对的http://dev.mysql.com/doc/refman/5.0/en/mysql-insert-id.html
这是一种基于会话的方法,在插入后获取自动递增字段的值...
所以无论用户做什么,只要你在同一个会话中插入和获取插入 ID,你就是安全的 :-)
【讨论】:
以上是关于为用户分配一个提交到mysql表的唯一用户ID [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
为创建的 div 分配唯一 ID,然后使用 jquery 引用