[umka]

[umka]
Рейтинг
456
Регистрация
25.05.2008

Значит, скорее всего, вашему форуму кто-то "помог".

Проверьте его для начала каким-нибудь "айболитом" или восстановите из бэкапа.

Без сообщений об ошибках сложно посоветовать что-то ещё.

Попробуйте включить

php_flag log_errors 1

Тогда ошибки будут записываться в лог веб-сервера.

Если, конечно, форум не переопределяет этот параметр :)

Для верности, если есть доступ к конфигурации виртуального хоста, пропишите эти директивы в нём, но не "php_flag", а "php_admin_flag".

php_admin_flag display_errors 1

php_admin_flag display_startup_errors 1

php_admin_flag log_errors 1

php_admin_value error_log "/path/to/your/php_error.log"

php_admin_value error_reporting "E_ALL & ~E_NOTICE"

Тогда у движка не будет шансов что-то переопределить и утаить :)

Скорее всего, в этом случае срабатывают другие правила .htaccess

Потому что, ещё раз повторюсь, ваше правило (из первого сообщения) должно работать в обоих случаях. В него не нужно ничего добавлять.

Пример на PHP

$str="test/hello-world_5/hello-world_10/";

if (preg_match("#^test/[^_]+_(\\d+)/[^_]+_(\\d+)/$#", $str, $m)) {
print_r($m);
}

Результат:


Array
(
[0] => test/hello-world_5/hello-world_10/
[1] => 5
[2] => 10
)

Вы имели в виду дефис? :)

Так ваш вариант должен работать. Разве нет?

1) Возможно, почему нет.

2) Это уже вопрос к сеошникам.

find /path/to/dir/ -mtime -N

Вместо N пишем, сколько дней назад файл изменялся или был создан.

Злой Дух:
Ба в кодировке utf8
а сами сообщения вообще все в закарючках, кроме анлийских букв 😕

Помимо кодировки самой БД есть ещё кодировка соединения с БД и кодировка виртуального хоста.

Чтобы всё везде было ровно, эти три кодировки должны совпадать.

У вас может быть база в utf-8, при подключении используется cp1251, а виртуальный хост в cp1252.

Отсюда косяки с некоторыми кириллическими буквами на сайте, и всё в закорючках в самой базе.

На любом более-менее вменяемом хостинге должно быть ограничение на отправку писем.

Уточните эту информацию у вашей службы поддержки.

Примерно так:

SELECT *, MAX(`date`) FROM `messages` WHERE `user1`='$user_id' OR `user2`='$user_id' GROUP BY CONCAT(LEAST(`user1`,`user2`),'-',GREATEST(`user1`,`user2`))

Этот CONCAT используется для того, чтобы создать уникальный идентификатор для диалогов между всеми парами пользователей. Точнее, парами пользователя $user_id с другими пользователями.

Например, у всех сообщений между пользователем 123 и пользователем 456 будет вычислен некий уникальный id (вида "123-456"), по которому мы группируем и берём последнее (по дате) сообщение.

Чтобы снизить вычислительную нагрузку, целесообразнее добавить в таблицу ещё один столбец и записывать в него такой идентификатор в момент добавления сообщений.

Hixon10:
В нормальных СУБД мы бы использовали оконные функции (Window Functions). В майсиквел у нас этого нет, поэтому нужно использовать вложенные запросы.

Майсиквел? Хмм… никогда о такой не слышал. Наверное, это действительно какая-то ненормальная СУБД.

Live Preview currently has a few other important limitations:

It only works with desktop Chrome as the target browser.

Всего: 6067