Не знаю, в каком разделе лучше задать этот вопрос... он в принципе касается возможностей 4-ки создавать в vBCMS страницы с PHP-кодом.
Оффтоп
Смысл в том, что мне нужно "интегрировать" в vBCMS несколько тестов, о том, что нужно, писал (
Как интегрировать тесты в vB 4.(0.7)) - но тема осталась без ответа и "взяв напильник, начал медленными движениями "пилить" самостоятельно".
1. Получается сделать через iframe - так как только тогда удаётся "вернуть" результаты обработки в то же окошко.
В создаваемый "Исполняемый php код"
в "Содержимое" помещается следующее:
PHP Code:
$output = "<iframe src='http://путь/testform.php' frameborder= '0' width=100% height=100% ></iframe>";
Вот содержимое файла testform.php:
PHP Code:
<form action='testcount.php' method='POST'>
'Да'<Input type='radio' Name='i[1]' Value='1'><br>
'Нет'<Input type='radio' Name='i[1]' Value='0'><br>
<input type='submit' name='submit' value='Результат'>
</form>
Вот содержимое файла обработки testcount.php:
PHP Code:
<?php
// Проверяем что ответ выбран:
if
($i[1] == '1' or $i[1] == '0')
{
// Определяем и выдаём результат:
if ($i[1] == '1')
echo 'Вы ответили "Да"<br>';
else
echo 'Вы ответили "Нет"<br>';
}
else echo '<A HREF="javascript:history.back()">Вернитесь</A> на предыдущую страницу и убедитесь, что вы ответили на все вопросы...';
?>
Но "неприятность" такого решения в том, что реальный тест достаточно длинный и при нажатии кнопки обработки результатов результаты появляются в самом верху страницы, которая "отмотана" в момент нажатия вниз и там и остаётся.
Хотелось сделать, чтобы результаты выдавались в новом маленьком popup-окне - но "не осилил", как передавать "обратно" в страницу.. при помощи ajax? но как? - тоже понять пока не могу, не знаю с какого конца подступиться...
2. Пробовал напрямую в создаваемый "Исполняемый php код"
в "Содержимое" помещается содержимое файла формы:
PHP Code:
$testform = "<form action='http://путь/testcount.php' method='POST'>
'Да'<Input type='radio' Name='i[1]' Value='1'><br>
'Нет'<Input type='radio' Name='i[1]' Value='0'><br>
<input type='submit' name='submit' value='Результат'>
</form>";
$output = "$testform";
Но в таком варианте не знаю, как "вернуть" результат в то же место браузера, откуда вызывался файл php-обработки, он открывается в пустом окне, открывающемся вместо прежнего...
3. Пытался понять, если использовать это через модули - то какое должно быть "Местоположение модуля"?
И имеет ли смысл городить огород именно через модули?
4. Кстати непонятно, почему-то форма не обрабатывается на тестовой версии форума, стоящей на локальной машине на денвере - не "передаются" значения переменной в файл обработки. И работает только на реальном форуме... :(
Somebody? anybody...