ExBB Community ExBB Community
 Сайт проекта ExBB Общение объединяет!
Войдите на форум при помощиВойти через loginza
 Чат на форуме      Помощь      Поиск      Пользователи     BanList BanList


 Страниц (1): [1]   

> Описание: Позволяет вставить в сообщение исполняемый PHP код
WebMaster
Отправлено: 17 мая 2014 — 14:56
Post Id



Пользователь
Advanced Member


Покинул форум
Сообщений всего: 428
Дата рег-ции: Окт. 2013  
Репутация: 32




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

Примеры использования:

CODE:

[phpcode]
return ‘Hello, world!’;
[/phpcode]

[phpcode]
global $fm;
if ($fm->user['status'] == 'ad') {
return 'Text for Admins!!';
}
[/phpcode]


Скачать файл: (для скачивания файла Войдите или зарегистрируйтесь)
Скачан раз: 65
 
 
Parapsixolog
Отправлено: 17 мая 2014 — 23:23
Post Id



Пользователь
Advanced Member


Покинул форум
Сообщений всего: 487
Дата рег-ции: Сент. 2011  
Репутация: 14




Николай, спасибо, работает! Улыбка

Вот только пример выше
CODE:

[phpcode]
return ‘Hello, world!’;
[/phpcode]


Не корректный. Наверное скобки не те. С таким примером нотис вылезает:

CODE:
Parse error: syntax error, unexpected ',' in Z:\home\exbb.ru\www\include\fm.class.php(1034) : runtime-created function(3) : eval()'d code on line 2


Строка 1034 у меня:

CODE:
),$string);
 
 
WebMaster
Отправлено: 18 мая 2014 — 06:23
Post Id



Пользователь
Advanced Member


Покинул форум
Сообщений всего: 428
Дата рег-ции: Окт. 2013  
Репутация: 32




CODE:
[phpcode]
return 'Hello world!';
[/phpcode]
 
 
1Bot
Отправлено: 18 мая 2014 — 06:56
Post Id



Пользователь
Super Member


Покинул форум
Сообщений всего: 773
Дата рег-ции: Апр. 2009  
Откуда: Днепропетровск
Репутация: 69




WebMaster
Спасибо за полезный мод!
Позволяет реже менять основной код для приятных динамических вставок на php.
Единственное замечание: чтобы не выдавало ошибок из-за возможно неправильного кода во вставке лучше их экранировать и заменить
CODE:
eval($matches[1])
на
CODE:
@eval($matches[1])
 
 
Parapsixolog
Отправлено: 21 мая 2014 — 23:45
Post Id



Пользователь
Advanced Member


Покинул форум
Сообщений всего: 487
Дата рег-ции: Сент. 2011  
Репутация: 14




Мод то нужный, но многое не работает в нём. Например мне не удалось заставить работать include и require В случае с include просто на странице пустота. А вот с include серьёзнее. Вообще белый лист при попытке захода в тему. То есть тема пропала. Огорчение
 
 
WebMaster
Отправлено: 22 мая 2014 — 10:08
Post Id



Пользователь
Advanced Member


Покинул форум
Сообщений всего: 428
Дата рег-ции: Окт. 2013  
Репутация: 32




вероятно проблема с путями. Можно попробовать использовать абсолютный путь
 
 
Parapsixolog
Отправлено: 23 мая 2014 — 12:12
Post Id



Пользователь
Advanced Member


Покинул форум
Сообщений всего: 487
Дата рег-ции: Сент. 2011  
Репутация: 14




WebMaster пишет:
Можно попробовать использовать абсолютный путь


Абсолютный путь, это как? Вот такой путь :

CODE:
http://exbb.info/community/index.php


абсолютный?
 
 
WebMaster
Отправлено: 23 мая 2014 — 12:29
Post Id



Пользователь
Advanced Member


Покинул форум
Сообщений всего: 428
Дата рег-ции: Окт. 2013  
Репутация: 32




Нет, типа D:/server/sites/exbb/www/file.php
Можно использовать include $_SERVER['DOCUMENT_ROOT'].'/file.php';
 
 
Parapsixolog
Отправлено: 23 мая 2014 — 23:31
Post Id



Пользователь
Advanced Member


Покинул форум
Сообщений всего: 487
Дата рег-ции: Сент. 2011  
Репутация: 14




WebMaster пишет:
Нет, типа D:/server/sites/exbb/www/file.php


К сожалению не помогло.

WebMaster пишет:
Можно использовать include $_SERVER['DOCUMENT_ROOT'].'/file.php';


А вот так запустилось. Но коряво! Эффект как при запуске файла file.php отдельно. Сам форум пропал. И потом так запускать не совсем удобно. Если у меня файл на под домене, то как здесь быть?
 
 
WebMaster
Отправлено: 24 мая 2014 — 05:55
Post Id



Пользователь
Advanced Member


Покинул форум
Сообщений всего: 428
Дата рег-ции: Окт. 2013  
Репутация: 32




Цитата:
Если у меня файл на под домене, то как здесь быть?

В современных версиях PHP запрещено подключение удалённых PHP сценариев. Если папка поддомена в том же каталоге, что и основной сайт, то можно подключать оттуда...

Цитата:
Эффект как при запуске файла file.php отдельно

Нельзя echo использовать... Если всё таки нужно, то можно делать так:
CODE:

ob_start();
// Всякий код с echo
echo 'Привет, мир!!!';
$content = ob_get_contents();
ob_end_clean();

return $content;
 
 
Parapsixolog
Отправлено: 25 мая 2014 — 12:30
Post Id



Пользователь
Advanced Member


Покинул форум
Сообщений всего: 487
Дата рег-ции: Сент. 2011  
Репутация: 14




WebMaster пишет:
Нельзя echo использовать... Если всё таки нужно, то можно делать так:


Спасибо за подсказку. Приму к сведению. Вот только конкретно в нашей ситуации, при чем здесь echo? Речь же идёт про include и require. И если include ещё как оказалось можно запустить через прописывание прямого пути файла, но при этом весь форум пропадает, и на странице только сам исполняемый код работает. Эффект как при запуске файла напрямую.

А с require просто белый лист.
 
 
WebMaster
Отправлено: 25 мая 2014 — 15:36
Post Id



Пользователь
Advanced Member


Покинул форум
Сообщений всего: 428
Дата рег-ции: Окт. 2013  
Репутация: 32




Нужно смотреть сам подключаемый код. Может быть в нём есть exit или die. Тогда и будет подобный эффект
 
 
Parapsixolog
Отправлено: 4 июня 2014 — 18:30
Post Id



Пользователь
Advanced Member


Покинул форум
Сообщений всего: 487
Дата рег-ции: Сент. 2011  
Репутация: 14




WebMaster пишет:
Нужно смотреть сам подключаемый код. Может быть в нём есть exit или die. Тогда и будет подобный эффект


Нет, только require и ссылка на файл. больше там ни чего нет
 
 
variant0
Отправлено: 7 сентября 2014 — 17:49
Post Id


Пользователь
Newbie


Покинул форум
Сообщений всего: 45
Дата рег-ции: Апр. 2013  
Репутация: 0




После установки мода пользователи (не администраторы) не могут воспользоваться кнопкой Ответ в любом посте, как с тэгом, так и без тэга [phpcode]. При нажатии на Ответ не выводится окно для ввода сообщения, смотрите рисунок



Кроме того, в обзоре, который выводится при ответе на пост, сообщение с тэгом [phpcode] выводится не обработанным

 
 
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Модификации и дополнения »

> Похожие темы: Использование PHP кода в сообщениях для администраторов
Темы Форум Информация о теме Обновление
Ответ в теме опубликовывается не туда
В одной из созданых тем ответ на вопрос или просто не опубликовывается как отдельное сообщение
Решение проблем Ответов: 3
Автор темы: Konstantin
23 июня 2011 — 11:40
Автор: саня
Доработка стандартного мода объявлений на форуме
Позволяет вывести заголовки нескольких новостей на главную страницу и т п.
Модификации и дополнения Ответов: 58
Автор темы: yura3d
31 марта 2017 — 16:54
Автор: Lord Dewl
Картинка форума
как вставить?
Общие вопросы Ответов: 20
Автор темы: nnn
14 марта 2010 — 15:04
Автор: Kleorhion
Какие ExBBCodes Вы бы желали добавить?
Очень желательно описание действия кода
Обсуждаем Ответов: 58
Автор темы: 1Bot
14 октября 2013 — 06:31
Автор: 1Bot
Руководство: Добавление собственных бб-кодов
На примере бб-кода для вставки видео с YouTube
Модификации и дополнения Ответов: 203
Автор темы: yura3d
16 марта 2018 — 10:21
Автор: Liliat
 



Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 




Яндекс.Метрика   

Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0884]     [ ]