Как да предотвратим постването на едно и също мнение 2 пъти .
Понеже съм забелязъл в доста форуми че има доса повтарящи се мнения , прегледах няколко чуждестранни форуми и събрах този код :


*****[ Отваряме ]*****

includes/functions_post.php

*****[ Намираме ]*****

//
// Flood control
//
$where_sql = ($userdata['user_id'] == ANONYMOUS) ? "poster_ip = '$user_ip'" : 'poster_id = ' . $userdata['user_id'];
$sql = "SELECT MAX(post_time) AS last_post_time
FROM " . POSTS_TABLE . "
WHERE $where_sql";
if ($result = $db->sql_query($sql))
{
if ($row = $db->sql_fetchrow($result))
{
if (intval($row['last_post_time']) > 0 && ($current_time - intval($row['last_post_time'])) < intval($board_config['flood_interval']))
{
message_die(GENERAL_MESSAGE, $lang['Flood_Error']);
}
}
}
*
*****[ След него добавяме ]*****
*

//
// Double Post Control
//
$lastposttime = intval($row['last_post_time']);
if($mode != 'editpost')
{
$sql = "SELECT pt.post_text, pt.bbcode_uid
FROM " . POSTS_TABLE . " p, " . POSTS_TEXT_TABLE . " pt
WHERE $where_sql AND p.post_time = $lastposttime AND pt.post_id = p.post_id
LIMIT 1";
if ($result = $db->sql_query($sql))
{
if ($row = $db->sql_fetchrow($result))
{
// Update BBCode to current UID
$row['post_text'] = str_replace(":" . $row['bbcode_uid'] . "]", ":" . $bbcode_uid . "]", $row['post_text']);
if ($row['post_text'] == $post_message)
{
message_die(GENERAL_MESSAGE, $lang['Double_Post_Error']);
}
}
$db->sql_freeresult($result);
}
}
*
*****[ Отваряме ]*****
*
language/lang_bulgarian/lang_main.php
*
*****[ Намираме ]******
*
$lang['Flood_Error'] = "Не можете да пуснете съобщение, толкова скоро след предишното. Моля изчакайте и опитайте отново след малко";
*
*****[ След него добавяме ]*****
*
$lang['Double_Post_Error'] = 'Неможе да пуснете съобщение същото ато предишното.';
*
*****[Записвате всички промени и сте готови]*****








Урока е тестван на http://painkiller.phpnet.us/forum/
и е Изготвен специално за http://web-tourist.net


/ Трябва да сте регистриран за да напишете коментар /