回答
你需要自己實現這樣的事情。您可能想爲此使用PHP會話。
您必須在數據庫中保存註釋。如果行areduplicate,您可以添加唯一索引這樣
ALTER IGNORE TABLE comments ADD UNIQUE INDEX comment_name (id, name);
這是有效的,但是對於一個好的軟件開發來說,這是一個破解,而不是一個適當的事情。如果這是實施的,它應該是非常好和清晰的文件。 – Lasse 2013-04-29 05:11:55
另一種方式可能會建立一個cron工作對照表來檢查重複,如果他們是沖洗:) – 2013-04-29 05:14:07
1)如果您有保存在數據庫中的日期/時間值,你可以驗證如果「當你最後的評論是」與實際時間時間,當用戶嘗試添加新的評論。
但是,如果您想要在演示文稿中添加此驗證,您可以隱藏/禁用該部分一段時間並顯示/啓用此部分。
2)如果你想避免評論部分中的重複條目,驗證內容或標題是否與數據庫不同。
我想當你做第一次驗證(如果時間是5秒的例子),它是正確的再次評論,那麼你驗證,如果評論是相同的。
對於處理註釋並將其插入到數據庫中的代碼,您應該將檢查添加到(a)看看同一個人是否在最近X分鐘內發表評論,或者(b)查看是否有類似評論。 (a)很容易實現。我在這裏假設您要在數據庫中存儲註釋,其列爲user_id
,列爲timestamp
。然後,你可以運行一個查詢,看看是否該用戶已經離開的期限內評論(讓我們把它設置爲兩分鐘,這個例子。)
SELECT * FROM `comments` WHERE `user_id`='{$user_id}' AND DATE_SUB(NOW(), INTERVAL 2 MINUTE) < `timestamp`
如果您運行的查詢,它返回一個排,那麼你知道用戶在兩分鐘之前就發表了評論。 (b)如果除了事實上沒有明確說明評論是「相似」的意思,更難以解決。您可以使用關鍵字或字符串比較函數(如Levenshtein)檢查文本中的相似性。您將遵循(a)中的相同邏輯,只需運行數據庫查詢以檢查相似性並在必要時報告錯誤。
如果您沒有找到與上述檢查相匹配的行,那麼您可以安全地將註釋插入數據庫。否則,您可以向用戶報告錯誤,或者您想要處理錯誤。
如果你進入更具體的細節,我相信有人可以幫助你進一步。
謝謝jraede,你的解釋給了我的照片\ o – 2013-04-29 07:19:37
- 1. 設置Git評論
- 2. Disqus評論框設置
- 3. Emacs評論/取消評論當前行
- 4. Facebook的評論|我如何在發佈前評論評論
- 5. 如何設置烏龜SVN評論長度要求
- 6. PHP評論#和//
- 7. PHP - 評論
- 8. php評論表
- 9. PHP評論數
- 10. 請評論/評論:php mysql javascript(not school)
- 11. 尋找很長的評論
- 12. 失去有關再次推送代碼的評論意見
- 13. 刪除了評論框Blogger,並且想要再次啓用
- 14. Javascript - 再次評估參數
- 15. 想要顯示上次發佈評論的時間通過php
- 16. 評論評論
- 17. 評論系統php
- 18. PHP MySQL的評論
- 19. PHP評論數組?
- 20. PHP,MYSQL raiting評論
- 21. 評論框PHP MySQL
- 22. PHP評論代碼
- 23. PHP,Facebook的評論
- 24. PHP:評論代碼
- 25. 評論php標籤
- 26. 如何設置Github回購評論板?
- 27. 如何設置:user_id與評論通知?
- 28. 設置Facebook評論網頁插件
- 29. Facebook評論框區域設置
- 30. 用戶has_many:評論兩次
爲什麼-1?有了這個問題中的所有信息,這是一個正確的答案。 – Lasse 2013-04-29 05:08:37
我還沒有做downvote。但這不是答案,應該是評論。你有這麼多的代表評論有問題。 – 2013-04-29 05:10:29
問題是,引用:「我想知道PHP中是否有這樣的事情。」 – Lasse 2013-04-29 05:13:15