Как запретить создание нескольких тем с одинаковым названием?
одинаковые темы - этот вариант ну никак не прикручивается
При создании новой темы искать названия тем в базе и сравнивать сNetStar писал(а):Ну а как это сделать?
$subject. При совпадении выводить предупреждающее сообщение.Код: Выделить всё
'STYLES_TIP' => 'Совет: можно быстро применить стили к выделенному тексту.',Код: Выделить всё
'SUBJECT_ALREADY_USED' => 'Название темы уже используется',Код: Выделить всё
if (!$preview && !$refresh && utf8_clean_string($post_data['post_subject']) === '' && ($mode == 'post' || ($mode == 'edit' && $post_data['topic_first_post_id'] == $post_id)))
{
$error[] = $user->lang['EMPTY_SUBJECT'];
}Код: Выделить всё
if ($mode == 'post')
{
$sql = 'SELECT topic_id
FROM ' . TOPICS_TABLE . "
WHERE topic_title = '" . $db->sql_escape($post_data['post_subject']) . "'";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
if ($row)
{
$error[] = $user->lang['SUBJECT_ALREADY_USED'];
}
}Да, в общем случае. Если регистр всё равно будет учитываться, то можно заставить его игнорировать, заменивromeo_piter писал(а):это регистронезависимый вариант?
Код: Выделить всё
$sql = 'SELECT topic_id
FROM ' . TOPICS_TABLE . "
WHERE topic_title = '" . $db->sql_escape($post_data['post_subject']) . "'";Код: Выделить всё
$sql = 'SELECT topic_id
FROM ' . TOPICS_TABLE . "
WHERE topic_title = '" . $db->sql_escape($post_data['post_subject']) . "' collate utf8_general_ci";Да.romeo_piter писал(а):2 разных названия?