Войти

Показать полную графическую версию : PHP NUKE и модуль


Scorpion666
17-03-2006, 07:29
Доброе время суток!!!
Помогите, плиз. Проблема заключается в следующем: создал некий проект, в котором 4-6 файлов. Подключаю его как модуль к PHP Nuke, главная страница нормально работает, она офлрмлена в виде поисковой формы, но при нажатии на кнопку выдает ошибку "Извините, этот модуль не активен!". В адресной строке следующая ссылка ".../modules.php?author=&name=&kl=&year_=2003&izd=&condition=and" Эти преременные должны предоватся нужной мне странице для вывода результата.
Подскажите как правельно организовать ссылку на др. страницу???
Зарание благодарен!!!

Igor_I
18-03-2006, 11:52
http://phpnuke.ru/forum/index.php :)

Scorpion666
20-03-2006, 06:54
http://phpnuke.ru/forum/index.php
Был я там http://phpnuke.ru/forum/index.php?showtopic=6162
Но результат 0 :(

Igor_I
21-03-2006, 23:48
С нюкой почти дела не имел. Так что ... если, что не так
Насколько понятно, модуль - это строка поиска. Главная страница - имеется ввиду главная страница модуля?
А как сама ссылка оформлена?
А вывод ты хочешь сделать на этой же странице?

Scorpion666
22-03-2006, 08:04
Насколько понятно, модуль - это строка поиска. Главная страница - имеется ввиду главная страница модуля?
Да!!!
А как сама ссылка оформлена?
По разному пытался
$res = "modules/EK/result.php";
или
$res = "modules.php?name=$module_name&file=Result&sid=$sid"
echo "<form name=\"SearchBook\" method=\"Get\" action=\"$res\">";
А вывод ты хочешь сделать на этой же странице?
Нет, так как есть есть еще один файл который ссылается на страницу вывода инфы

Могу отправить свои труды, заодно можно будет раскретиковать :tomato2: :)

Igor_I
22-03-2006, 20:32
аттач :) только особо на решение не расчитывай ... нужна установленная нюка, ее нет

Scorpion666
23-03-2006, 06:53
Вот :)

Igor_I
26-03-2006, 01:21
Предлагаю сделать малость по другому, вынести все функции в отдельный файл. Файлы index & result соединить вместе.
Поле action обнулить. Еще, не увидел переменных $GET_ может глобальные переменные включены, но по мне так нагляднее было бы.
Еще говорят, что отладочный код должен быть в 2 раза больше рабочего. :)

Scorpion666
27-03-2006, 07:06
Предлагаю сделать малость по другому, вынести все функции в отдельный файл. Файлы index & result соединить вместе.Поле action обнулить. Еще, не увидел переменных $GET_ может глобальные переменные включены, но по мне так нагляднее было бы.Еще говорят, что отладочный код должен быть в 2 раза больше рабочего.
Спасибо за ответ, нехотелось бы весь код пихать в один файл, но пока других решений нет!!!!!
:) :victory:

Igor_I
27-03-2006, 22:57
нехотелось бы весь код пихать в один файл
Почему?
Как насчет GET?
Вообще то там должен быть модуль для примера. Его смотрел?

Scorpion666
28-03-2006, 09:35
Как насчет GET?
Как я понял это массив, элементы которого являются названия переменных переданной урлой, или я не ошибаюсь.
Вообще то там должен быть модуль для примера. Его смотрел?
Смотрел у меня получилосьс помощью гиперссылки, вот только форма генерирует ссылку сама. А как ей сказать что там еще должны быть переменныя я незнаю.
Заметил еще такое:
<form action="modules.php?name=$module_name" method="POST"> - работает, но в адресной строке при таком методе нет значений, а они желательны.
а если так написать
<form name="SearchBook" action="modules.php?name=$module_name" method="GET"> - то это "name=$module_name" проигнорируется

Igor_I
28-03-2006, 21:45
Смотрел у меня получилосьс помощью гиперссылки, вот только форма генерирует ссылку сама.
В каком месте? HTML?
<form name="SearchBook" action="modules.php?name=$module_name" method="POST"> :)
К тому же $module_name вообще каждый раз высчитывается в начале скрипта.
Чего-то странно видеть скрипт работаюший не с MySQL :) Это твой выбор? Или по обстоятельстввам?

Scorpion666
29-03-2006, 07:26
В каком месте? HTML?
echo "<a href=\"modules.php?name=$module_name&amp;file=rubric\">Click</a>"
А как создать ссылку такого типа в форме я незнаю.

Еще я изменил Index.php

<?php

function FormSearch($module_name){
$hereText=<<<end_delimetr
<form name="SearchBook" action="modules.php" method="GET">
<input type="hidden" value="$module_name" name="name">
<table border="0">
<tr>
<td align="right">Автор:</td>
<td><input name="author"></td>

</tr>

<tr>
<td align="right">Название:</td>
<td><input name="nazv"></td>
</tr>
<tr>
<td align="right">Ключевое слово:</td>
<td><input name="kl"></td>
</tr>

<tr>
<td align="right">Издательство:</td>
<td><input name="izd"></td>
</tr>

<tr>
<td align="right">Год издания:</td>
<td>с:&nbsp;<input name="year1" size = '4'>&nbsp;&nbsp; по:&nbsp;<input name="year2" size = '4'></td>
</tr>

<tr>
<td colspan="2">
<input type="radio" name="condition" checked value="and">И&nbsp;&nbsp;&nbsp;
<input type="radio" name="condition" value="or">ИЛИ&nbsp;&nbsp;&nbsp;
</td>
</tr>
</table><br>

<input type="submit" value="Найти">
&nbsp;&nbsp;&nbsp;
<input type="reset" value="Очистить">
</form>
end_delimetr;
echo $hereText;
}

if (!eregi("modules.php", $_SERVER['PHP_SELF'])) {
die ("You can't access this file directly...");
}

require_once("mainfile.php");
$module_name = basename(dirname(__FILE__));
get_lang($module_name);
echo "<link rel=\"stylesheet\" href=\"modules/$module_name/style.css\" type=\"text/css\">";

include_once("modules/$module_name/config.php");
include_once("modules/$module_name/Result.php");

include("header.php");
OpenTable();

$a = "name=$module_name&";
if ($ind_bbk <> ''){
$st = Rubric($ind_bbk);
foreach ($ind_bbk as $i => $value){
$a .= "ind_bbk%5B%5D=$value&";
}
}
else {
$st = FindBook($author_, $nazv, $kl, $year1, $year2, $izd, $condition);
$a .= "author=$author&nazv=$nazv&kl=$kl&year1=$year1&year2=$year2&izd=$izd&condition=$condition&";
}
//echo "<a href=\"modules.php?name=$module_name&amp;file=rubric\">Click</a>";

if ($st <> ''){OutResult($st, $page, $a);}
else {FormSearch($module_name);}

CloseTable();
include("footer.php");
?>
Если получится правельно организовать ссылку, то верну все обратно.


Чего-то странно видеть скрипт работаюший не с MySQLЭто твой выбор? Или по обстоятельстввам?
По обстоятельстввам.
Купили программу, СУБД FireBerd, тепрь под эту БД нужен WEB-интерфейс.




© OSzone.net 2001-2012