Автор Тема: Персанализация пользователя  (Прочитано 3861 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн IgorCH

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 3
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Персанализация пользователя
« : 03 Августа 2004, 17:31:46 »
Если можете помогите написать скрипт персанализации.

Пользователь вводит свой пароль и имя, а его переправляет на его страницу или папку.
Все данные пароль, имя, имя страницы (папки) хранится в БД msql.

Оффлайн iCEBERG2k4

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 1
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.iceberg-design.ru
Персанализация пользователя
« Ответ #1 : 04 Августа 2004, 10:54:50 »
10$ ^)

Оффлайн commander

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
Персанализация пользователя
« Ответ #2 : 04 Августа 2004, 11:36:43 »
IgorCH
страницу или папку может просматривать только данный пользователь?  Или его надо просто ридирекнуть?
And no religion too...

Оффлайн IgorCH

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 3
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Персанализация пользователя
« Ответ #3 : 04 Августа 2004, 12:17:35 »
Да только данный пользователь

Оффлайн commander

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
Персанализация пользователя
« Ответ #4 : 04 Августа 2004, 13:10:36 »
IgorCH
хех... ну тогда это немного по сложнее ... при условии что страница пользователя динамическая то можно сделать так:
БД:
create table users (
users_id int not null primary key auto_increment,
username varchar(50),
password varchar(50),
redirect varchar(255)
);
пишем модуль на Perl...  с применением модулей SQLayer и HTML::Template...:
AUTH.pm:
--------------------------------
package AUTH;

$AUTH::VERSION = \'1.0.0\';

use strict;
use SQLayer;
use CGI qw(:standard);
use HTML::Template;

sub check_user
{
    my $user_id = cookie(\'user_id\');
    if ($user_id)
    {
    return $user_id;
    }
    else
    {
    my $warn="You need authorization";
    auth_user($warn);
    exit;
    }
}
sub auth_user
{
    my $warn = shift;
    my $T = HTML::Template -> new(filename => "auth.tmpl");
    print "Content-type: text/html\\n\\n";
    $T -> param(warn=>$warn);
    print $T -> output();
}
sub auth_action
{
my $self = shift;
my %HKeys = @_;
my $username=$HKeys{\'username\'};
my $password=$HKeys{\'password\'};
my $D = SQLayer -> new(database => \'DBI:mysql:database=phorum;host=localhost;port=3306\', user => \'user\', passowrd => \'somepass\');
my $user_id=$D->row("SELECT users_id FROM users WHERE username=\'$username\' AND password=\'$password\'");
    if ($user_id)
    {
    my $cookie = Create_Cookie("1h", $user_id);
    my $redir=$D->row("SELECT redirect FROM users WHERE users_id=\'$user_id\'");
    print redirect(-uri=>"$redir", -cookie=>$cookie);
    exit;
    }
    else
    {
    my $warn="Wrong username or password";
    auth_user($warn);
    }
}
sub Create_Cookie
{
    my $exp = shift;
    my $val = shift;
    my $cookie = cookie(-name => \'user_id\',
                    -value => $val,
                    -expires => $exp);
return($cookie);
}
1;
__END__;
---------------------------------------------------------------
в самом скрипте делаем слежующее:
script.cgi:
---------------------------------------------------------------
#!/usr/bin/perl -w
use strict;
use CGI qw(:standard);
use lib \'.\';
use AUTH;

my $action=param(\'action\');
if ($action eq "auth")
{
my $username=param(\'username\');
my $password=param(\'password\');
AUTH->auth_action(username=>$username, password=>$password);
}
else
{
my $user_id = AUTH->check_user();
}
---------------------------------------------------------------
В скрипте который формирует страницу пользователя вставляешь такие строчки:
use AUTH;
my $user_id = AUTH->check_user();
Ещё надо сделать шаблон авторизации:
auth.tmpl:
--------------------------------------------------------------

AUTH.




Welcome to my System.


Please enter your user name and password:


















user name:



password:








-------------------------------------------------------------
ну вот собстевенно и все... пользуйся... :)
And no religion too...

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28