Forum. MyNuke.ru

Forum. MyNuke.ru (http://forum.mynuke.ru/index.php)
-   Установка Блоков (http://forum.mynuke.ru/forumdisplay.php?f=9)
-   -   поиск (http://forum.mynuke.ru/showthread.php?t=550)

Groxel 03.09.2005 10:14

поиск
 
В общем из блока отсылается запрос модулю с данными для поиска, на локалке всё работало, а когда залил на сайт пишет - Sorry, such file doesn't exist...
Еще мне в инструкциях сказали добавить к функции соединения с базой вот это:
#!/usr/local/bin/perl

use DBI;
use strict;

my($host,$login,$password,$base,$drh,$dbh,$rv,$sth );

$base = "****";
$host = "mysql.hosting.vrn.ru";
$login = "****";
$password = "****";

print "Content-type: text/html\n\n<pre>\n";

$drh = DBI->install_driver("mysql");
if (ref $drh ne 'DBI::dr') { die "оЕФ ДТБКЧЕТБ ВБЪЩ"};

ib_conn();

drop_table();
cr_table();
ib_dis();

ib_conn();
ins_table();
sel_table();
ib_dis();

exit();

ib_conn();
drop_table();
ib_dis();
print("</pre>\n");

sub ib_conn {

$dbh= DBI->connect("DBI:mysql:$base:host=$host:port=3306",$login,$password, {PrintError => 0}) ||
die("Can't make a connection to the mysql server.\n The error: $DBI::errstr");
};

sub ib_dis {

$dbh->disconnect();
};

sub cr_table {

$rv = $dbh->do("create table clnames (clnum integer, clname char(8))");

};

sub drop_table {

$rv =$dbh->do("DROP TABLE clnames") || warn"drop: $dbh->errstr\n";

};

sub ins_table {
my($i,$name);

$i = 1;
foreach $name (qw("vasya" "petja" "masha" "valja")) {
$sth = $dbh->prepare("insert into clnames(clnum,clname) values ($i, $name)")||die"dbh->errstr";
$rv = $sth->execute||die"$dbh->errstr";
$sth->finish;
print "INSERT $i $name\n";
$i++;
};

}

sub sel_table {
my($rowref);

$sth = $dbh->prepare("select * from clnames") || die"70 $dbh->errstr\n";
$rv = $sth->execute() || die"80 : $DBI::errstr\n";
while ($rowref = $sth->fetchrow_hashref) {
print "SELECT ".$rowref->{"clnum"}." ".$rowref->{"clname"}."\n";
};
$sth = $dbh->{'mysql_serverinfo'};
print "serverinfo:\n$sth\n";
$sth = $dbh->{'mysql_hostinfo'};
print "hostinfo:\n$sth\n";
$sth = $dbh->{'mysql_stat'};
print "stat:\n$sth\n";
$sth = $dbh->{'mysql_protoinfo'};
print "protoinfo:\n$sth\n";
}
Куда это девать? И может поэтому поиск не работает?

Soniks 03.09.2005 10:56

Groxel этот код добавлять не надо, так как это написано на перл, а php-nuke использует php!!
Цитата В общем из блока отсылается запрос модулю с данными для поиска, на локалке всё работало, а когда залил на сайт пишет - Sorry, such file doesn't exist...

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

Groxel 03.09.2005 16:54

Ну поиск используется из модуля Aser's shop, взятого с вашего сайта, и если бы он не закачался, то ничего бы не работало. Вот код из блока:
if ( !defined('BLOCK_FILE') ) {
Header("Location: ../index.php");
die();
}

$content = "<form action=\"modules.php?name=Asers_shop\" method=\"post\">";
$content .="<table class=menu border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\">";
$content .="<input type=\"hidden\" name=\"R1\" value=\"all\">";
$content .="<tr><td><font class=\"content\"><center><input type=\"hidden\" name=\"s_op\" value=\"search\"><input type=\"text\" size=\"25\" name=\"query\"> <input type=\"submit\" value=\""._SEARCH2."\"></center></td></tr>";
$content .="</table>";
$content .="</form>";

Soniks 03.09.2005 19:58

Groxel Посмотрите внимательно на:
Цитата $content = "<form action=\"modules.php?name=Asers_shop\" method=\"post\">";

Ведь модуль вызывается, поди, вот так:
modules.php?name=Asers_Shop
а не
modules.php?name=Asers_shop
разница есть?


Часовой пояс GMT +4, время: 19:59.

Copyright © 2005 by Soniks