|
|
|
| Здравствуйте!
Вот прилаживаю ваш форум к себе!
На локальной машине все работает, а на хостинге не работает:
Не крепятся файлы и фотографии
Не работает переключатель вид форума
У меня и на обоих серверах стоит одинаковый PHP Version 4.3.11
Пожалуйста, разъясните как такое может быть или поподробнее разжуйте как оно работает,
сам ну никак не могу допереть (простите за сленг)! Ну никак! Параллельно стараюсь конечно!
Вид остается лестничный и все!
вот файл переключателя setstruct.php:
<?php
///////////////////////////////////////////////////
// Web-приложение форум - LiteForum
// Поддержка http://www.softtime.ru/forum/
// 2003-2004 (C) IT-студия SoftTime (http://www.softtime.ru)
// Симдянов И.В. (simdyanov@softtime.ru)
// Голышев С.В. (softtime@softtime.ru)
// Кузнецов М.В. (kuznetsov@softtime.ru)
///////////////////////////////////////////////////
// Выставляем уровень обработки ошибок (http://www.softtime.ru/info/articlephp.php?id_article=23)
Error_Reporting(E_ALL & ~E_NOTICE);
// Устанавливаем соединение с базой данных
require_once("../admin/config_forum.php");
// Подключаем библиотеку форума
require_once("./utils/utils.php");
// Извлекаем значения параметров из строки запроса
$id_forum = $_GET['id_forum'];
$id_theme = $_GET['id_theme'];
$page = $_GET['page'];
$struct = $_GET['struct'];
$down = $_GET['down'];
// Определяем путь, где расположен форум
$tmppos = strrpos($_SERVER['PHP_SELF'],"/") + 1;
$path = substr($_SERVER['PHP_SELF'], 0, $tmppos);
if($struct)
{
$query = "SELECT * FROM settings";
$set = mysql_query($query);
if($set) $settings = mysql_fetch_array($set);
setcookie("lineforum", "set_line_forum", time() + 3600*24*$settings['cooktime'], $path);
// Если определена переменная $down новые сортируем сообщения от старых дат к новым
if(!empty($down)) setcookie("lineforumdown", "set_line_forum_down", time() + 3600*24*$settings['cooktime'], $path);
else setcookie("lineforumdown", "", 0, $path);
} else setcookie("lineforum", "", 0, $path);
// Осуществляем автоматический переход к теме
echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=read.php?id_forum=$id_forum&id_theme=$id_theme&page=$page'>
</HEAD></HTML>";
?>
|
Каким образом происходит сортировка, вижу лишь запись в Куки, а где обрашение к БД и т.д.
if($struct)
{
$query = "SELECT * FROM settings";
$set = mysql_query($query);
if($set) $settings = mysql_fetch_array($set);
setcookie("lineforum", "set_line_forum", time() + 3600*24*$settings['cooktime'], $path);
// Если определена переменная $down новые сортируем сообщения от старых дат к новым
if(!empty($down)) setcookie("lineforumdown", "set_line_forum_down", time() + 3600*24*$settings['cooktime'], $path);
else setcookie("lineforumdown", "", 0, $path);
} else setcookie("lineforum", "", 0, $path);
|
Ага, файл setstruct.php обновляет и вызывает файл read.php, где все и происходит!
Куки у меня работают:
переменная lineforum = set_line_forum т.е. читается и передается, но линейным форум все равно не становитя((
А как работает эта функция и что значит @?
// Рекурсивно выводим все подчинённые сообщения
@putpost($posts['id_post'],
$id_theme,
2,
$lasttime,
$current_author,
$id_forum,
$lineforum,
$lineforumdown,
$skin,
$themes['hide']);
|
| |
|
|
|
|
|
|
|
для: Boris
(14.11.2005 в 08:53)
| | К сожалению, в код последней версии просочилась ошибка при реализации системы переключения между структурным и линейным форумом. Пожалуйста загрузите обновлённую версиию или просто исправьте 40 строку файла read.php c
<?php
$lineforum = mysql_escape_string($$lineforum);
?>
|
на
<?php
$lineforum = mysql_escape_string($lineforum);
?>
|
PS В ближайшее время будет вылжена 3 версия форума, включающая множество новых функций, таких раздельный учёт времени последнего посещения в разделах, RSS, более гибкую настройку параметров форума, помесячную статистику по темам и сообщениям. | |
|
|
|
|
|
|
|
для: cheops
(14.11.2005 в 15:21)
| | Спасибо, заработало!
Чесно говоря меня смутили поначалу эти два подряд $$, но до сознания видимо не дошло!
Обязательно скачаю обновленные файлы, надеюсь там фото и файлы крепятся!
Кстати на локальной машине у меня все работало! Почему? (так для общего развития)
Кстати не мешало бы ввести функцию "забыли пароль", как это делается повсеместно, у вас пароль вспоминается если только я в On-line. Может я вперед сам это напишу, тогда поделюсь!
Еще раз спасибо, но я еще вернусь! | |
|
|
|
|
|
|
|
для: boris
(15.11.2005 в 06:18)
| | Когда не работате на UNIX, а работате на Windows - скорее всего проблемы с правами доступа на директории, где записываются файлы. | |
|
|
|
|
|
|
|
для: cheops
(15.11.2005 в 13:47)
| | Что за права доступа на директории? Можно поподробнее, это в php.ini?
Еще:
В странице анминистрирования можно добавить ссылки, где они потом отображаются и при помощи какого файла?
Что это за ссылки?
Я добавил пару, но их нет нигде... | |
|
|
|
|
|
|
|
|
для: cheops
(15.11.2005 в 22:30)
| | Спасибо за ответ, но с UNIX я ни разу не сталкивался....
Звонил провайдеру, он сказал, что если php работает в режиме safemode, то нужно вместо ф-ии copy использовать move_uploaded_file.
А так же разрешить доступ к дирректории куда пишуться файлы либо программно в php, лбо через ssh-клиент? командой cmod
Можно, пожалуйста, ссылочки об этом, я ничего не понял, что за клиент, как и чего...
Вот фрагмент файла editpost.php
// Перемещаем файл из временной директории сервера в
// директорию /files Web-приложения
// if (copy($_FILES['attach']['tmp_name'], $path))
if (move_uploaded_file($_FILES['attach']['tmp_name'], $path))
{
echo "файл скопирован";
// Уничтожаем файл во временной директории
unlink($_FILES['attach']['tmp_name']);
// Изменяем права доступа к файлу
chmod($path, 0644);
}
else
{
echo "фиг вам";
}
$path = " putfile = '$path', ";
}
///////////////////////////////////////////////////////////
// Блок формирования и выполнения SQL-запроса
///////////////////////////////////////////////////////////
// Добавляем обновлённое сообщение
$query_update = "UPDATE posts SET name = '$message',
$path
url = '$url'
WHERE id_post = $id_post";
// Обновляем время последнего посещения для автора сообщения
$query_author = "UPDATE authors
SET time = NOW()
WHERE id_author = $id_author";
// Выполняем SQL-запросы
if(mysql_query($query_update) && mysql_query($query_author))
{
// В случае успеха осуществляем автоматический переход
// к теме
//echo "<HTML><HEAD>
// <META HTTP-EQUIV='Refresh' CONTENT='0; URL=read.php?id_forum=".$id_forum."&id_theme=$id_theme&id_post=$id_post'>
// </HEAD></HTML>";
} else puterror("Ошибка при обновлении сообщения...");
|
Выдает "фиг вам"
еще:
Поиск не получается, файл srchform.php выдает:
Error: You have an error in your SQL syntax near 'BOOLEAN MODE) AND id_forum = 1 AND ' at line 2
еще:
Каким образом и где шифруется пароль пользователя, я вижу типа: 0a4c525504929539 вместо моего пароля, как его воспроизвести обратно, например хочу знать пароли посетителей форума.
Что это в sql-запросе: PASSWORD('$pswrd') ?
Кто я, администратор или нет!
Пожалуйста, найдите время ответить. Жду.... С уважением, Борис. | |
|
|
|
|
|
|
|
для: Boris
(16.11.2005 в 06:00)
| | Ага, заметил, что если вместо PASSWORD('$pswrd') поставить просто '$pswrd' в запросе к БД, то в базу заносится пароль в первозданном виде, что это за операция, зачем нужна и как перекодировать обратно пароли пользователей?
Да, пожалуйста не забудте про мои вышеописанные проблемы, понимаю, что слишком много, но я почти в вакууме и надежда только на ваш форум и книги.... | |
|
|
|
|
|
|
|
для: Boris
(16.11.2005 в 08:32)
| | Это необратимое шифрование - т.е. расшифровать пароли нельзя, даже если базу данных у вас украдут, злоумышленику потребуется значительное время на взлом каждого пароля. Если пользователь потерял пароль - его необходимо назначить новый, также зашифровав его функцией PASSWORD. | |
|
|
|
|
|
|
|
для: Boris
(16.11.2005 в 06:00)
| | С поиском хуже, это означает, что у вас достаточно старая база данных и она не поддерживает логический режим поиска. | |
|
|
|
|
|
|
|
для: cheops
(16.11.2005 в 13:48)
| | Как тогда быть с поиском, отключить? Какой вопрос мне задать хостеру чтобы точно узнать, что это БД старая? | |
|
|
|
|
|
|
|
для: Boris
(16.11.2005 в 13:58)
| | Все, ухожу с работы, завтра обязательно загляну, спасибо!
Но проблема пока еще актуальна! | |
|
|
|
|
|
|
|
для: Boris
(16.11.2005 в 13:58)
| | Спросите у хостера версию MySQL. | |
|
|
|
|
|
|
|
для: Boris
(16.11.2005 в 06:00)
| | Помимо "фиг вам" что-нибудь ещё выдаётся? | |
|
|
|
|
|
|
|
для: cheops
(16.11.2005 в 13:53)
| | Ничего! На фоне пустого экрана надпись! | |
|
|
|
|