如何在PHP中检测重复的帖子?

时间:2011-08-26 11:35:09

标签: php duplicates duplicate-data

我有一个将(文章的)文本插入数据库的表单。当用户提交文章(已经提交)时,它也会被提交到数据库中。

如何检测重复的帖子(如在stackoverflow上)?

我应该从数据库中选择所有内容,并检查提交的帖子是否与之前的帖子相似。 (我想在文章页面上发布重复提醒作为第一条评论)

任何帮助表示感谢。

...谢谢

2 个答案:

答案 0 :(得分:2)

创建一个唯一的ID,例如使用uniq_id(),将其放在HTML表单中的隐藏字段中,然后将其保存在数据库中设置为UNIQUE的字段中。当INSERT操作失败时,您知道POST之前已经发送过。

答案 1 :(得分:1)

如果你有隐藏的id,你在尝试编辑某些内容时从db获得,你可以使用这样的代码:

if (isset($_POST['id']) && trim($_POST['id']) != '') {
    $query = 'UPDATE table_name
                    SET
                      `key` = \'' .$_POST['key']  . '\'
                    WHERE `id` = \'' . $_POST['id'] . '\'', 0;
  } else {
    $query = 'INSERT INTO table_name
                                  SET
                                `key` = \'' . $_POST['key'] . '\'', 0;
  }