Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » IkonBoard и другие форумы » Ikonboard v.2 » Принудительная регистрация в форуме

Модерирует : Antuan

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

GoldCrab



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как сделать, чтобы при попадании на главную в форум, не было видно самого форума, но при регистрации показывался уже сам форум? То есть, запретить гостям читать форум без регистрации. Заранее благодарю за ответы и оказанную помощь...

Всего записей: 39 | Зарегистр. 21-02-2004 | Отправлено: 02:46 06-04-2004
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GoldCrab
 
Есть много способов.
 
Попробуй, например, так.
 
ikon.lib
 
sub getmember
 
После:
 

Код:
 
($membername,$password,$membertitle,$membercode,$numberofposts,
$emailaddress,$showemail,$ipaddress,$homepage,$aolname,$icqnumber,$location,
$interests,$joineddate,$lastpostdate,$signature,$timedifference,$privateforums,
$useravatar,$misc1,$misc2,$misc3,) = split(/\|/,$filedata);
 
 

 
Сделай так::
 

Код:
 
 
if (($inmembername eq "Guest") || ($inmembername eq '') || ($password ne $inpassword)){ $inmembername = 'Guest';  
$inpassword = '';  
%allowedentry = '';  
print header();
&error("Незарегистрированный пользователь&Регись иди");

return;  
}  
 

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 00:53 07-04-2004 | Исправлено: lynx, 00:53 07-04-2004
GoldCrab



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
К сожалению, этот кусок скрипта вызвал у меня бесконечный цикл, чем и ввел в ступор страничку. Именно то, что красным цветом подчеркнуто, с чем-то связанно...

Всего записей: 39 | Зарегистр. 21-02-2004 | Отправлено: 17:10 07-04-2004
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GoldCrab
 
Покажи всю свлю подпрограмму getmember
 
У меня на дефолтной конфе все заработало хорошо.

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 21:06 07-04-2004
GoldCrab



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
 
# Get member info.
 
sub getmember {
    my $nametocheck = shift;
    $nametocheck =~ s/ /\_/g;
    $filetoopen = "$ikondir" . "members/$nametocheck.cgi";
    $filetoopen = &stripMETA($filetoopen);
    if (-e $filetoopen) {
        open(FILE,"$filetoopen");
        $filedata = <FILE>;
        close(FILE);
        chomp($filedata);
        ($membername, $password, $membertitle, $membercode, $numberofposts, $emailaddress, $showemail, $ipaddress, $homepage, $aolname, $icqnumber ,$location ,$interests, $joineddate, $lastpostdate, $signature, $timedifference, $privateforums, $useravatar, $misc1, $misc2, $misc3) = split(/\|/,$filedata);
 
#--- принудительная регистрация  
 
    if (($inmembername eq "Guest") || ($inmembername eq '') || ($password ne $inpassword))  
    { $inmembername = "Guest";
$inpassword = '';
$allowedentry = '';
print header('text/html; charset=windows-1251');
&error('Незарегистрированный пользователь&Регись иди... ');
    return;
 }
 
 
            chomp $privateforums;
            if($privateforums) {
            @private = split(/&/,$privateforums);
            foreach $accessallowed (@private) {
                chomp $accessallowed;
                ($access, $value) = split(/=/,$accessallowed);
                $allowedentry{$access} = $value;
                }
            }
        }
    else { $userregistered = "no"; }
    }  

 
Лучше бы, чтобы при попытке попасть в раздел форума, перебрасывало Guest на страничку - register.cgi, а не предупреждало про регистрацию. Так можно сделать, вообще-то?

Всего записей: 39 | Зарегистр. 21-02-2004 | Отправлено: 22:12 07-04-2004
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GoldCrab
 
Ну потому что ошибку сделал.
 
Возьми вот это:
 

Код:
 
sub getmember {
my $nametocheck = shift;
 
    $nametocheck =~ s/ /\_/g;
    $filetoopen = "$ikondir" . "members/$nametocheck.cgi";
    $filetoopen = &stripMETA($filetoopen);
    if (-e $filetoopen) {
        open(FILE,"$filetoopen");
        $filedata = <FILE>;
        close(FILE);
        chomp($filedata);
  ($membername, $password, $membertitle, $membercode, $numberofposts,  
$emailaddress, $showemail, $ipaddress, $homepage, $aolname, $icqnumber,$location,$interests, $joineddate, $lastpostdate, $signature, $timedifference,  
$privateforums, $useravatar, $misc1, $misc2, $misc3) = split(/\|/,$filedata);
   chomp $privateforums;
 
 if (($inmembername eq "Guest") || ($inmembername eq '') || ($password ne $inpassword))
    {
     $inmembername = "Guest";  
$inpassword = '';  
$allowedentry = '';  
print header('text/html; charset=windows-1251');  
&error('Незарегистрированный пользователь&Регись иди... ');  
    return;  
 }  
 
            if($privateforums) {
            @private = split(/&/,$privateforums);
            foreach $accessallowed (@private) {
                chomp $accessallowed;
                ($access, $value) = split(/=/,$accessallowed);
                $allowedentry{$access} = $value;
                }
            }
        }
    else { $userregistered = "no"; }
    }
 

 
Добавлено

Цитата:
Лучше бы, чтобы при попытке попасть в раздел форума, перебрасывало Guest на страничку - register.cgi, а не предупреждало про регистрацию. Так можно сделать, вообще-то?  

 
Это очень некорректно. Некрасиво.
Лучше предлагать, а не заставлять. А в ошибке есть линк на регистрацию.

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 23:34 07-04-2004
Marilda

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lynx
А не лучше - при заходе в топик вызывать loginout.cgi? Сразу и поле для авторизации, и линк на регистрацию.

Всего записей: 381 | Зарегистр. 24-10-2002 | Отправлено: 03:14 08-04-2004
GoldCrab



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lynx
Да, ты была права. Ошибочка вышла у меня.  
 
На старом все равно цикл был. Проверил на новой дефолтной конфе  IB219rus_fixed2.zip, а там прекрасно заработало...  
Сделал проще, взял из новой с дополненным запретом, добавил свои нужное и теперь все в ажуре и пашет.  
 
Большое спасибо, кошечка.    
 

Цитата:
Это очень некорректно. Некрасиво.

Обязательно прислушаюсь к твоему мнению. Оно того стоит. Сенк

Всего записей: 39 | Зарегистр. 21-02-2004 | Отправлено: 03:32 08-04-2004
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Marilda

Цитата:
А не лучше - при заходе в топик вызывать loginout.cgi? Сразу и поле для авторизации, и линк на регистрацию.  

 
Бр... это как?
 
Да, ну, на мой взгляд все это не то. Но ты объясни подробней, что ты имеешь в виду.

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 10:00 08-04-2004
Marilda

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lynx
 

Цитата:
объясни подробней, что ты имеешь в виду.

Анрег, морду форума  видит. Хочет зайти в топик - ему форма: Введите логин и пароль. Вы <a href="http://путь/register.cgi">зарегистрированы</a>? Ну как это обычно при авторизации. Либо вводит логин&пароль, либо идет региться, либо до свидания.
 
Но раз товарищ
Цитата:
Сделал проще, взял из новой с дополненным запретом, добавил свои нужное и теперь все в ажуре и пашет.  
то можно не заморачиваться. Хотя фишка неплохая, тем более, что легким движением руки можно было бы ее переделать так, чтобы закрывать избранные форумы от просмотров анрегами. Где-то я такое видела, не IB.
 
P.S. Мне оно не нужно, просто идеи для.

Всего записей: 381 | Зарегистр. 24-10-2002 | Отправлено: 13:06 08-04-2004
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » IkonBoard и другие форумы » Ikonboard v.2 » Принудительная регистрация в форуме


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru