Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Гостевая книга XML
 
 автор: Sasha   (25.04.2005 в 23:20)   письмо автору
 
 

А как в нём найти русский язык, желательно по умолчанию, я что-то никаких ссылок на выбор языка не вижу?
А в английской версии при попытке добавить сообщение выдает такое:
Warning: fopen(messages.xml): failed to open stream: Permission denied in /home2/alpkrim/public_html/guast/addmessage.php on line 97

Warning: fclose(): supplied argument is not a valid stream resource in /home2/alpkrim/public_html/guast/addmessage.php on line 98

Warning: file(messages.xml): failed to open stream: No such file or directory in /home2/alpkrim/public_html/guast/addmessage.php on line 103

Warning: array_slice(): The first argument should be an array in /home2/alpkrim/public_html/guast/addmessage.php on line 114

Warning: implode(): Bad arguments. in /home2/alpkrim/public_html/guast/addmessage.php on line 125

Как быть?

   
 
 автор: antf   (26.04.2005 в 00:10)   письмо автору
 
   для: Sasha   (25.04.2005 в 23:20)
 

Скорее всего вы устанавливали гостевую книгу не в корневую директорию хостинга, а в поддиректорию. Пока гостевая книга такой вариант установки не поддерживает. Это получилось из-за того, что для каждого приложения предпочитаю создавать виртуальный хост, а о поддиректориях не подумал Я сам недавно начал тестировать приложения не на localhost'e, а в веб. При этом заметил и этот недочет, а также несколько других.
> Как быть?
Подождать исправленную версию, скорее всего выложу завтра.

   
 
 автор: antf   (26.04.2005 в 00:17)   письмо автору
 
   для: antf   (26.04.2005 в 00:10)
 

Есть еще один вариант, временный:
Добавить следующую конструкцию в файлы admin/index.php, guestbook.php, addmessage.php

<?
  
//$DirName - имя поддиректории, куда вы устанавливали программу 
  
chdir($DirName); 
  
//код модуля
  
chdir($DOCUMENT_ROOT);
?>

   
 
 автор: antf   (26.04.2005 в 01:00)   письмо автору
 
   для: antf   (26.04.2005 в 00:17)
 

Хотя нет, с поддиректориями все нормально. Я вижу, у вас стоит запрет на запись в файл message.xml. Поменяйте права для директории, куда была установлена гостевая книга.

   
 
 автор: Sasha   (26.04.2005 в 11:36)   письмо автору
 
   для: antf   (26.04.2005 в 01:00)
 

А как их можно поменять? Облазил всю панель управления и ничего не нашёл....
А установил гостевую книгу в корневую папку, в папку guast.....не выкидывать же десяток файлов просто в корневую папку, я потом там ногу сверну. :)

   
 
 автор: cheops   (26.04.2005 в 13:35)   письмо автору
 
   для: Sasha   (26.04.2005 в 11:36)
 

Здесь проблема с правами доступа на файловую систему - у скрипта не достаточно прав, чтобы записывать информацию в файл messages.xml (нужно поставить 0777). Про установку прав доступа можно почитать в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=969 - их так же позволяет выставлять любой FTP-менеджер.

   
 
 автор: sasha   (26.04.2005 в 14:23)   письмо автору
 
   для: cheops   (26.04.2005 в 13:35)
 

Да, действительно все заработало, только в правах четыре цифры не влазило, выставил просто 777, ничего?

   
 
 автор: cheops   (26.04.2005 в 22:51)   письмо автору
 
   для: sasha   (26.04.2005 в 14:23)
 

0 нужен для указания того факта, что число в восьмеричной системе исчисления, реально используются только эти три цифры (777), поэтому ничего страшного нет.

   
 
 автор: Sasha   (26.04.2005 в 14:24)   письмо автору
 
   для: antf   (26.04.2005 в 01:00)
 

Вопрос!
А как эту книгу Рускоязычить???
Написано куча языков, а как к ним добраться?
В администрировании язык переключатся не хочет, обратно сбрасывает на engl.

   
 
 автор: antf   (26.04.2005 в 16:58)   письмо автору
 
   для: Sasha   (26.04.2005 в 14:24)
 

Обновите страницу после переключения языка. Это надо бы делать автоматически... будет исправлено...
В любом случае откройте config.php, присвойте переменной $Lng = 'rus';

   
 
 автор: antf   (26.04.2005 в 17:14)   письмо автору
 
   для: antf   (26.04.2005 в 16:58)
 

Интересный казус с поддиректориями получается если гостевую книгу подключать через include к какому-нибудь модулю, например index.php. Например таким способом:

if($Page == 'guestbook')
include('dir/guestbook.php');
if($Page == 'addmessage')
include('dir/addmessage.php');

Тогда ссылки на модуль, предназначенный для добавления новых сообщений, а также ссылки на смайлики придется переписывать.

   
 
 автор: Sasha   (26.04.2005 в 17:59)   письмо автору
 
   для: antf   (26.04.2005 в 17:14)
 

Сообщения вроде можно добавлять и администрировать, а вот со смайликами действительно незадача! Смайлики в сообщении не появляются. А где можно подисправить адрес?
Русский исправил, работает!
Жалко, при администрировании сообщений, не видно самих сообщений, а только автор там... не очень удобно, надо запоминать чё хотел подправить.

   
 
 автор: antf   (26.04.2005 в 19:01)   письмо автору
 
   для: Sasha   (26.04.2005 в 17:59)
 

Сообщения вроде можно добавлять и администрировать, а вот со смайликами действительно незадача!

Поправьте 2 модуля smilebox.php (в корневой директории и админе)

   
 
 автор: Sasha   (26.04.2005 в 20:24)   письмо автору
 
   для: antf   (26.04.2005 в 19:01)
 

Что-то я непойму что здесь можно подправить, папки все на своих местах, вродьбе как, пути правильные....а смайликов нету :)

   
 
 автор: antf   (26.04.2005 в 21:19)   письмо автору
 
   для: Sasha   (26.04.2005 в 20:24)
 

пути должны начинаться от корневого каталога сайта.
Возможно придется немного модифицировать функцию ConvertToSmile($Str) модуль functions.php: прописать путь к картинке в строке
$Str=str_replace($key, " <img src='smiles/{$value}' width=18 height=18> ", $Str);

   
 
 автор: Sasha   (26.04.2005 в 23:06)   письмо автору
 
   для: antf   (26.04.2005 в 21:19)
 

Всё заработало как надо после изменения заглавных букв в формирующихся названиях смайликов на обычные <img src='{$Prefix}smiles/{$value}' width=18 height=18> ", $Str);
А в целом пути были правильные, в путях ничего не менял.
Ещё вопросик: В каком файле можно подправить надпись "Комментарий администратора" , которая появляется после редактирования сообщения, на другую?

   
 
 автор: antf   (27.04.2005 в 05:20)   письмо автору
 
   для: Sasha   (26.04.2005 в 23:06)
 

Спасибо, что заметили, мимо меня проскочило, поскольку у меня хостинг под Windows. Очень приятно, что у вас все заработало как надо :), а все надписи вынесены в файл lang/rus_lng.php

   
 
 автор: sasha   (27.04.2005 в 11:44)   письмо автору
 
   для: antf   (27.04.2005 в 05:20)
 

Спасибо! Всё работает отлично, помучаю её ещё немного и бду пользоваться :)
А вообще есть маленькое предложение: Сделать на страницу администрирования какуюто авторизацию...

   
 
 автор: antf   (27.04.2005 в 12:06)   письмо автору
 
   для: sasha   (27.04.2005 в 11:44)
 

Я думал об этом, но потом отказался от этой идеи, поскольку гостевая книга чаще всего бывает частью системы администрирования, которая имеет свою авторизацию. Загляните сюда.
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=3650&page=1

   
 
 автор: cheops   (27.04.2005 в 12:59)   письмо автору
 
   для: antf   (27.04.2005 в 12:06)
 

Наверное всё-таки лучше сюда http://www.softtime.ru/info/articlephp.php?id_article=27, так как предыдущий URL - это URL данной темы :)))

   
 
 автор: sasha   (27.04.2005 в 17:05)   письмо автору
 
   для: cheops   (27.04.2005 в 12:59)
 

Ну да, действительно, проще защитить средствами сервера...
А вот можно ещё такой вопрос:
Как к гостевой книге можно подключить счетчик?
я в какое место guestbook.php не тыкаю
<?php
// Подключаем счётчик
include "../count.php";
?>
Он ничего не считает!
Как быть, подскажите.
( счётчик распакован в корневой папке, а гостевая в в папке...)

   
 
 автор: antf   (27.04.2005 в 17:32)   письмо автору
 
   для: sasha   (27.04.2005 в 17:05)
 

Во-первых что он должен считать?
Во-вторых без кода сказать сложно.

   
 
 автор: Sasha   (27.04.2005 в 17:53)   письмо автору
 
   для: antf   (27.04.2005 в 17:32)
 

считать количество обращений к книге :)
Счетчик PowerCounter 2.3.0, для того , чтоб он учитывал запросы, нужно включить в запрос <?php
// Подключаем счётчик
include "../count.php";
?>
в файл, так написано в инструкции по крайней мере :)
Так вот, в какое место guestbook.php я его не включал, счетчик не считал.
А какой код привести? Я имею в виду Гостевую XML и счётчик PowerCounter 2.3.0.

   
 
 автор: antf   (27.04.2005 в 20:07)   письмо автору
 
   для: Sasha   (27.04.2005 в 17:53)
 

ммм... В гостевую книгу я не включал код, который распознает счетчик Power Counter и препятствует его работе :)

   
 
 автор: antf   (27.04.2005 в 20:44)   письмо автору
 
   для: antf   (27.04.2005 в 20:07)
 

Разобрался :)
1) Откройте файл count.php
2) Найдите строчку

  include "config.php";

3)Пропишите полный путь к файлу config.php относительно файла гостевой книге
Например у вас такая структура каталогов:

gb/guestbook.php - гостевая книга
counter/count.php - счетчик

Тогда путь будет выглядеть так:

include "../counter/config.php";

Ммм.. Хотя нет, лучше измените эту строчку таким образом:

include "{$Prefix}config.php";

А в гостевой книге напишите такой код
$Prefix = "../counter/"

В каждом скрипте, где используете счетчик, изменяйте $Prefix в зависимости от пути.
Я давно думаю как решить подобные проблемы в своих скриптах. Особенно актульно для системы голосования.

   
 
 автор: Sasha   (28.04.2005 в 02:37)   письмо автору
 
   для: antf   (27.04.2005 в 20:44)
 

Что-то ничего не работает :(
Смотрите: у меня счётчик распакован в корневой папке, а гостевая в папке guest.
В файле count.php пишу
include "{$Prefix}config.php";

а в гостевой, в guestbook.php пишу

<?php
  
///////////////////////////////////////////////////
  // Русский
  // Гостевая книга (XML)
  // 2005 (C) Федорченко А.А. (antf@inbox.ru)
  // English
  // Guestbook (XML)
  // 2005 (C) Fedorchenko A.A. (antf@inbox.ru)
  // Deutsch
  // Gдstebuch (XML)
  // 2005 (C) Fedortschenko А.А. (antf@inbox.ru)
  // Franзais
  // Livre d'or  (XML)
  // 2005 (C) Fedortchenko A.A. (antf@inbox.ru)
  ///////////////////////////////////////////////////
?>
<?php
  
// Подключаем счётчик
  
include "../count.php";
  
$Prefix "../";

?>
<?
  session_start
();
  require_once(
'functions.php');
  require_once(
'config.php');
  require_once(
"lang/{$Lng}_lng.php");
  require_once(
'filename.php');
?>
<html>
<head>
  <title><? echo $Cpt_Guestbook ?></title>
  <? PrintMetaCharset($Lng?>
.
.
.


И ничего не работает! Что-то не пойму где меня глючит....

   
 
 автор: antf   (28.04.2005 в 08:44)   письмо автору
 
   для: Sasha   (28.04.2005 в 02:37)
 

Очень интересно :) Попробуйте вот так:

$Prefix = "../";
include "../count.php";

   
 
 автор: Sasha   (28.04.2005 в 11:38)   письмо автору
 
   для: antf   (28.04.2005 в 08:44)
 

А так заработало :))
Знания - сила!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования