Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - torres

Страницы: [1]
1
Perl / Помогите с Perl сессиями
« : 18 Ноября 2005, 15:34:47 »
всем привет , у меня  такая проблема:
есть скрипт Логин, который создает сесию и вводит в нее
$user. :
use CGI::Session;
$CGI::Session::MySQL::TABLE_NAME = \'my_sessions\';
my $session = new CGI::Session("driver:MySQL", $cgi, {Handle=>$dbh});
if ( $session->is_expired )
{
$session->delete();
print \'Status: 302 Moved\', "\\r\\n", \'Location: http://216.121.24.115/action/login.html\', "\\r\\n\\r\\n";
}
if ( $session->is_empty ) {
print \'Status: 302 Moved\', "\\r\\n", \'Location: http://216.121.24.115/action/login.html\', "\\r\\n\\r\\n";
exit(0);
}
$session->param(\'user_order\',$user);
my $user=$session->param(\'user_order\');
$session->expire(\'+20m\');
print $session->header();

сесия создалась, все нормально, вот дальше такая ситуация:
эта форма с логин висит где то на страничке, и допустим я делаю логин под каким то user-ом, через 2 минуты делаю логин под другим user-oм, в результате получаются 2 сесии, и в дальнейшем по ходе работы запрминается токо user из первой сесии,
Как мне сделать так, что если клиент хочет сделать другой логин, то первая сесия стерлась и токо после етого создалась новая
Как организовать эту проверку?
Заранее блогодарен

2
Perl / CGI::Session
« : 07 Ноября 2005, 13:01:07 »
всем привет. У меня такой вопрос, может у кого есть пару минут просветить меня. Что мне нужно?
У меня есть сайт, есть форма для авторизации, проверяет в базе если есть такой user_name, открывется сесия для него:
my $cgi = new CGI;
my $user=$cgi->param(\'user_order\');
my $pass = $cgi->param(\'password_order\');
$CGI::Session::MySQL::TABLE_NAME = \'my_sessions\';
my $session = new CGI::Session("driver:MySQL", $cgi, {Handle=>$dbh});
$session->param(\'user_order\',$user);
my $user=$session->param(\'user_order\');

$session->expire(\'+1m\');
print $session->header();
**********
теперь как мне в других скриптов сделать проверку если есть такая сесия->пропустьть user-a, если нет то -> login.
и еще:
дальше мне надо записать $user бд, как его вывести из hash сесии?
заранее блогодарен

3
Perl / CGI::Session
« : 03 Ноября 2005, 15:56:58 »
всем привет. Естя такая проблема:
устоновил модуль CGI::Session(нужно-рекомендовали) и прбовал с ним разобраться, не очень получяетсяб так как я тута чайник.
Буду ра любой посказки, заранее блогодарен.
А вот собствено и проблема:
есть страничка login.html:




Данные передаются submit.cgi, который собствено должен проверять :
my $cgi=new CGI;
my $user=$cgi->param(\'user_order\');
my $pass = $cgi->param(\'password_order\');
my $query="select user_name, password from order_form where user_name=? and password=?";
my $statement = $dbh->prepare($query);
$statement->execute($user, $pass);
if( $statement->fetchrow_array)# проверяю если они у  меня зарегистрированы
{
дальше по ходу если да должен записаться в my_session
$CGI::Session::MySQL::TABLE_NAME = \'my_sessions\';
my $s = new CGI::Session("driver:MySQL", $cgi, {Handle=>$dbh});
$s->expire(\'+10m\');
if ( $s->is_expired )
{
$s->delete();
print \'\' back to login";
exit(0);
}
if ( $s->is_empty )
{
print "Content-Type: text/html\\n\\n";
print "back to login"
exit(0);
print $s->header();
print" Mojite rabotati";
}else{
print" no such a user name";
}
что не так, буду рад помощи

4
Perl / Mime::Lite
« : 11 Октября 2005, 17:25:23 »
хочу отправить следущее use Mime::Lite:
....................................
my $msg = MIME::Lite->new( From => \'vf@mail.com\',
To => $ref6,
Subject => \'News\',
Type => \'multipart/related\' );
$msg->attach(Type => \'text/html\',
Data => qq{

http://mail.net/images/bag_mail.jpg" width="450" height="250">