Вопрос № 88967: Здравствуйте.
Я хочу написать простое масштабируемое ядро CMS с возможностью подключеня дополнительных модулей
Как это можно реализовать?
..Вопрос № 89007: Уважаемые эксперты, помогите. Я кв ам уже как- то обращался насчёт конвертора из KOI8-3 в UTF-8 в php ( iconv() ). Но у меня так проблема осталось не решённой....
База данных в UTF-8 . поля varchar дфнных в кодировке latin1_swedish_ci. Посредство...Вопрос № 89045: Здрасте…
Помогите вывести инфу из БД в таблицу, так что бы в строке было по 3 столбика с инфой из этой базы и n-ное количество строк…
...Вопрос № 89050: Добрый день уважаемые эксперты!
Может быть вопрос не много не в тему...но подскажите пожалуйста: что значит закачать файлы на ftp сайта в текстовом режиме?...Вопрос № 89094: Здраствуйте. Подскжите. каким образом можно определить количество посетителей на сайте. Спасибо....
Вопрос № 88.967
Здравствуйте.
Я хочу написать простое масштабируемое ядро CMS с возможностью подключеня дополнительных модулей
Как это можно реализовать?
Отвечает: Бородин Александр Олегович
Здравствуйте, Оськин Дмитрий Владимирович!
Для начала надо "создать в голове" объекты модуля и подключателя модулей - некого менеджера. Какие свойства могут быть у объекта модуля? Ну например, подключен - или не подключен, функции, которые выполняет данный конкретный модуль. А еще лучше функции написать снаружи класса, и чтоб класс их подключал скопом, путем вызова какого-нибудь метода класса. Через переключатель switch можно сделать так, чтобы набор подключаемых функций менялся по условию, скажем, в зависимости от группы пользователя или времени
суток.
Модули лучше держать в отдельных каталогах. Если модуль написан в виде класса, то лучше каталог назвать так же, как и класс, который он содержит. Так удобнее. Свойство "подключен - не подключен" может меняться в зависимости от наличия каталога модуля в главном каталоге модулей. Такой принцип позволяет задействовать модули очень быстро - достаточно просто разместить модуль в каталоге.
Единственный недостаток (или достоинство, я уж и не знаю) - писать модули приходится, придерживаясь единого синтаксиса.
Ну а менеджер модулей читает всеподключенные модули и чего-нибудь с ними делает. Статистику, например, выводит.
Вкратце так, я считаю.
--------- Ничто не сближает людей так, как совместное преступление. Или покупка телевизора.
Отвечает: Sea
Здравствуйте, Оськин Дмитрий Владимирович!
Мягко говоря ответить на этот вопрос в 2 словах не просто.
Не известен уровень ваших знаний, поэтому совет вам такой. Возьмите наиболее популярные CMS и посмотрите как там реализовано это. Ну а способов ровно столько, сколько программистов на свете.
Как одну из самых популярных CMS, поковыряйте Joomlу. Хотя мне она не нравится - достаточно медленная.
Да и смотря для чего это делать. Если для личного использования, то это одно, а вот если хотите сделать CMS для людей, то совсем другое.
Что то конкретное посоветовать сложно. Могу лишь посоветовать что если будете делать, то не обходите стороной Zend Framework, достаточно перспективная вещь, хотя там пока много недоделок и багов. Говорить о том что надо использовать ООП думаю не стоит.
Удачи.
Ответ отправил: Sea (статус: 2-ой класс)
Ответ отправлен: 28.05.2007, 19:33
Вопрос № 89.007
Уважаемые эксперты, помогите. Я кв ам уже как- то обращался насчёт конвертора из KOI8-3 в UTF-8 в php ( iconv() ). Но у меня так проблема осталось не решённой....
База данных в UTF-8 . поля varchar дфнных в кодировке latin1_swedish_ci. Посредством php читаю всю таблицу (1). Генерирую html-страницу со списком, где элементами являются, полученные значения (html-страница в KOI8-3). Выбирается опредёлённое значение, отсылается скрипту и... облом... в $result ничего не помещается.
Пробовал вот так (2). mysql выдаёт, что такого значения нет.
Даже использовал (3)...тоже облом.
А на (4) он вообще ругается: Unknown collation: 'utf8'
Последние пункты использую до mysql_select_db....
Помогите, плз, через три дня сдавать курсовую :) а то хана... :)
Заранее спасибо
Отвечает: Sea
Здравствуйте, Khalafov Rashad!
Что то я не понял. Как вы умудрились на отдельные поля поставить другую кодировку???
Вопрос запутал так, что фиг разберешься.
И так. Базы базами, а таблицы у тебя с какими кодировками? Надо полагать latin1_swedish_ci. Тогда при чем сдесь utf8?
Ты проконтролируй после каждого шага данные и отловишь где у тебя теряются данные.
Попробуй вместо/рядом (2) поставить var_damp(iconv("KOI8-U","UTF-8",$teach_list_array['fam']));
и посмотреть что вообще ты ищеш.
А на (4) правильно ругается - надо не utf8, а utf8_general_ci
И юзай все 3 команды вместе перед mysql_select_db():
mysql_query ('set character_set_client="utf8"');
mysql_query ('set character_set_results="utf8"');
mysql_query ('set collation_connection="utf8_general_ci"');
Короче надо на скрипт взглянуть.
А вообще мне кажется проще бы было привести в соответствие кодировки базы данных и сайта. Тогда и геморроя меньше значительно будет.
Юзай всюды UTF8 и будет тебе счастье.
Ответ отправил: Sea (статус: 2-ой класс)
Ответ отправлен: 28.05.2007, 22:25
Отвечает: Шахгусейнов Азиз
Здравствуйте, Khalafov Rashad!
попробуй mysql_query("set character set utf8");
--------- Среди людей есть такие, которые говорят: "Мы уверовали в Бога и в Последний день". Однако они суть неверующие.
Ответ отправил: Шахгусейнов Азиз (статус: 4-ый класс)
Ответ отправлен: 30.05.2007, 09:03
Вопрос № 89.045
Здрасте…
Помогите вывести инфу из БД в таблицу, так что бы в строке было по 3 столбика с инфой из этой базы и n-ное количество строк…
Отправлен: 29.05.2007, 07:20
Вопрос задал: AleX29 (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Sea
Здравствуйте, AleX29!
Вопрос пространный, поэтому и точеый ответ дать сложно.
SQL запрос может быть вида SELECT stolbik1, stolbik2, stolbik3 FROM tablica
А если например используете MySQL, то полная реализация на PHP:
$connectId = mysql_connect('localhost', 'user', 'password');
mysql_select_db('test', $connectId);
Ответ отправил: Sea (статус: 2-ой класс)
Ответ отправлен: 29.05.2007, 10:21 Оценка за ответ: 4 Комментарий оценки: Спасибо за ваш ответ и извините за неполноценный вопрос… Попробую уточнить…. Есть галерея, нужно вывести картинки из БД, что бы табличка получилась вот такая _______________________________________ | Картинка 1 | Картинка 2 | картинка 3 | |--------------------------------------| | Картинка 4 | Картинка 5 | картинка 6 | |--------------------------------------| |
Картинка 7 | Картинка 8 | картинка 9 | --------------------------------------- Не могу придумать алгоритм для вывода 3 разные картинки в одну строчку…
Отвечает: Azrr
Здравствуйте, AleX29!
Вот небольшой примерчик, если имена полей неизвестны, то пользуйтесь функцией mysql_fetch_row (как в примере), елси же известны, для наглядности лучше mysql_fetch_assoc, тогда вместо $row[0], $row[1]... будет $row['id'], $row['name'] и т.п.
Приложение:
Ответ отправил: Azrr (статус: 1-ый класс)
Ответ отправлен: 29.05.2007, 12:25 Оценка за ответ: 4 Комментарий оценки: Спасибо за ваш ответ и извините за неполноценный вопрос… Попробую уточнить…. Есть галерея, нужно вывести картинки из БД, что бы табличка получилась вот такая _______________________________________ | Картинка 1 | Картинка 2 | картинка 3 | |--------------------------------------| | Картинка 4 | Картинка 5 | картинка 6 | |--------------------------------------| |
Картинка 7 | Картинка 8 | картинка 9 | --------------------------------------- Не могу придумать алгоритм для вывода 3 разные картинки в одну строчку…
Отвечает: BerdArt
Здравствуйте, AleX29!
Если я правильно понял ваш вопрос, то могу предложить следующее решение.
Допустим что существует таблица table с полями field1, field2, field3.
Тогда когда получиться примерно таким
Приложение:
Ответ отправил: BerdArt (статус: 1-ый класс)
Ответ отправлен: 29.05.2007, 15:32 Оценка за ответ: 4
Вопрос № 89.050
Добрый день уважаемые эксперты!
Может быть вопрос не много не в тему...но подскажите пожалуйста: что значит закачать файлы на ftp сайта в текстовом режиме?
Отправлен: 29.05.2007, 08:37
Вопрос задал: С. Дмитрий (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Sea
Здравствуйте, С. Дмитрий!
В программах для работы с FTP (напр. FileZilla) в настройках должно быть тип передачи (ASCII или двоичный). Вот вам и надо выбрать ASCII, т.е. в текстовом режиме.
А особенности передачи данных в двоичном формате и в текстовом думаю вам без надобности. А если надо, то так и спросите, можно в личку.
Ответ отправил: Sea (статус: 2-ой класс)
Ответ отправлен: 29.05.2007, 10:33
Вопрос № 89.094
Здраствуйте. Подскжите. каким образом можно определить количество посетителей на сайте. Спасибо.
Отвечает: Цепковский Антон Сергеевич
Здравствуйте, Knyazev Alexey!
1. Вы можете установить бесплатный счетчик посетителей на каждую страницу своего сайта любого сервиса статистики.
Рекоммендую следующие сервисы: LiveInternet.ru, www.google.com/analytics.
Сервер будет подсчитывать кол-во уникальных и не уникальных посетителей, собирать статистику по заходам на отдельные страницы сайта и мн. другое.
Недостатоки данного метода: у клиента должны быть включены JavaScript-ы и существует возможность того, что пользователь прервет загрузку страницы перед засчетом посещения.
2. Возможно использовать внутренние логи сервера, на котором расположен сайт. Обычно хост-провайдеры дают возможность настроить запись логов. Далее Вы можете анализировать логи специальными программами анализаторами логов.
Преимущества: никто не скроется (будут даже считаться запросы от поисковых машин).
Недостаток: обычно программы анализаторы платные. Я пользуюсь Semonitor 3 для анализа статистики.
3. Вы можете написать собственный счетчик посещений на php и настроить его таким образом, что бы было безразлично включен или выключен JavaScript на машине клиента, считать посетителя ещё до загрузки страницы (опять же, что бы никто не скрылся).
Недостаток: нужны навыки программирования.
С уважением,
Антон Цепковский.
--------- Вся наша жизнь - RPG
Ответ отправил: Цепковский Антон Сергеевич (статус: 7-ой класс)
Ответ отправлен: 29.05.2007, 14:22 Оценка за ответ: 5 Комментарий оценки: Очень исчерпывающий вопрос, но мне бы не хотелось пользоваться готовыми счетчиками типо liveinternet.ru. Спасибо
Отвечает: Angel7
Здравствуйте, Knyazev Alexey!
В приложении простенький скрипт на пхп. Если же Ваш сайт не поддерживает его, то можно вставить такой код: type="text/javascript" src="http://fastonlineusers.com/on4.php?d=АДРЕС_ВАШЕГО_САЙТА">
Удачи!
Прикреплённый файл: Загрузить >> Срок хранения файла на сервере RusFAQ.ru составляет 30 суток с момента отправки ответа. --------- Не стоит откладывать на завтра то, что можно сделать сегодня.
Ответ отправила: Angel7 (статус: Практикант)
Ответ отправлен: 29.05.2007, 15:29 Оценка за ответ: 5 Комментарий оценки: Спасибо, очень хорошая информация и полезный скрипт.
Отвечает: BerdArt
Здравствуйте, Knyazev Alexey!
Соществует много готовых скриптов в нете, стоит только поискать.
К примеру:
http://woweb.ru/load/73-1-10
Ну а в поисковике можно найти их большое кол-во.
Удачи!
Ответ отправил: BerdArt (статус: 1-ый класс)
Ответ отправлен: 29.05.2007, 15:39
Отвечает: Azrr
Здравствуйте, Knyazev Alexey!
Общий алгоритм такой :
1. Получить IP пользователя($_SERVER['REMOTE_ADDR']).
2. Выбрать из базы совпадения, если они есть, то обновить запись в базе с новым м временем(time()), если нет добавить в базу запись с IP и штампом времени.
3. Посчитать кол-во записей, штамп времени которых, меньше текущего времени на 2-5 мин. (time()-$time<2*60) они будет соответствовать кол-ву пользователей.
Ответ отправил: Azrr (статус: 1-ый класс)
Ответ отправлен: 29.05.2007, 16:24 Оценка за ответ: 5 Комментарий оценки: Очень интересный способ, как раз похоже на то что я хотел - самописное что-нибудь. Попробую реализовать. Спасибо.
Отвечает: Шахгусейнов Азиз
Здравствуйте, Knyazev Alexey!
при каждом новом поситителе создать базе прописать +1 значанию оторое отвечает за кол-во поситителей
--------- Среди людей есть такие, которые говорят: "Мы уверовали в Бога и в Последний день". Однако они суть неверующие.
Ответ отправил: Шахгусейнов Азиз (статус: 4-ый класс)
Ответ отправлен: 30.05.2007, 09:05