2012-04-11 63 views
2

因此,我有一个用户驱动的网站。用户可以张贴任何他们想要的东西,甚至是照片。现在,我使用PHP将这些帖子存储在我的数据库表以及PHP和MySQL中,以检索每个用户个人资料中显示的帖子。现在,我想让用户能够删除他们上传的帖子,并且我想使用$ _POST来完成它,而不是$ _GET。我已经知道如何用$ _GET做到这一点。我怎样才能使用$ _POST?我是否可以在每个用户帖子旁边都有一个隐藏的表单域,并有一个隐藏的域来保存post_id,当用户点击“删除帖子”提交按钮时,它会调用delete post.php脚本?这是通过隐藏的表单域来实现的好方法吗?

+0

是的,这几乎是通过隐藏的表单字段来做到这一点。一定要检查删除脚本中被删除对象的所有权,以确保任何用户不能删除任何其他用户。 – 2012-04-11 15:31:32

+1

是的,这是一个好方法。 – Jon 2012-04-11 15:31:35

+1

你正在尝试构建一个REST接口吗?如果是的话,你应该使用DELETE,如果没有,为什么不传递一个URL参数并使用'$ _GET'?除了使用隐藏的表单字段外,您还可以使用JavaScript执行POST请求。 – 2012-04-11 15:33:41

回答

2

你只设置你的formmethod等于post,那么,有某种hiddeninput,与ID删除的value

然后,在PHP中,使用$_POST而不是$_GET访问。

请务必验证删除ID,以便用户不要仅使用FireBug编辑HTML,等等。

+2

验证非常重要:不能保证所发布的数据甚至完全来自您的HTML表单。 – horatio 2012-04-11 15:33:49