Форум сетевых администраторов
Показаны 8 сообщений на этой странице

Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- Другие (http://netadmin.ws/forum/forumdisplay.php?forumid=19)
-- Как на PERLе сделать .... (http://netadmin.ws/forum/showthread.php?threadid=638)


Помещено Jovani 29-01-2002 в 20:21:

Question Как на PERLе сделать ....

У меня IconBoard 2.1.9.
Я сделал так, что-бы тот кто набрал 5 постов смог зайти в "закрытый" форум, даже не в форум, а при клике на ссылку этого форума открывалась HTML. Код там такой(кусок кода):


code:

$howmuch = "5"; #кол-во сообщений для допуска в форум
$link = "http://линк_на_HTML" # ссылка куда перейти

if (("$privateforum" eq "yes") && ("$allowed" ne "yes"))  { &accessneeded; }
    
if (("$inforum" eq "$forumnumber") && ("$numberofposts" < "$howmuch")) { &noaccess; }
    else {

# тут я попробовал print "Location: $link\n\n";

if (($inmembername) && ($privateforum ne "yes")) { &whosonline("$inmembername|$ibtxt{'0617'} <a href=\"$forumsprog?forum=$inforum\"><b>$forumname</b></a>|$ibtxt{'1602'}"); 
...
...
...
...
sub noaccess {
тут сообщение, что нельзя
}




Так вот открывается шапка форума, а затем ошибка, а мне надо что-бы открылась HTML.
Может подскажет кто - где ошибка?


Помещено Dawnshade 30-01-2002 в 07:09:

Ошибка какая? 500?
Там, часом не фрейм сделан?


Помещено Jovani 30-01-2002 в 07:55:

Ошибка в коде, сервак не ругается.
Тоесть мне нужно было что-бы открывалась HTML, а открывается шапка. Перл я практически не знаю, так, несколько команд....
Вот почему шапка конфы вылазит?


Помещено Dawnshade 30-01-2002 в 08:27:

Т.е. ты хочешь чтоб этот location передавался браузеру непосредственно по HTTP 1.X и тот автоматом переходил туда???


Помещено Jovani 30-01-2002 в 09:33:

Dawnshade, да.
Ð_то я хотел сделать типа презента тем, кто постит в форум - выложить там некоторую инфо(статьи).

И вот ещё попутно - а как в перле открывать "в новом окне"?


Помещено Dawnshade 30-01-2002 в 09:45:

Для этого тебе нужен nph скрипт. Честно, я не спец по этому... Поищи где-нить инфо.
Дело в том, что ты выводишь этот location на экран, т.к. сервак уже за тебя отвечает HTTP 200 OK, а тебе надо либо 302 либо 301 (moved temporary or permanent).
Как следствие тебе прийдеться все ответы сервера писать.
По-моему это проще сделать через refresh тэг (кажеться он head вставляется).


Помещено Jovani 01-02-2002 в 08:30:

Спасибо за желание помочь, будем дерзать дальше ....


Помещено Dawnshade 07-02-2002 в 10:35:

Похоже ошибся я... Ð_ылся тут в документации, нашел:

quote:

You can use redirection to point the client browser to another file or script, usually in a way that's invisible to the user. The CGI module provides the redirect() function for this purpose. The following code redirects the client browser to http://www.perl.com and works with both CGI or PerlIS:

use CGI qw(:standard);
print redirect('http://www.perl.com');




Формат времени GMT. Текущее время 06:04.
Показаны 8 сообщений на этой странице

Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.