Автор Тема: Perl session  (Прочетена 3139 пъти)

pcdimo

  • Участници
  • ***
  • Публикации: 4
    • Профил
Perl session
« -: Aug 15, 2004, 16:39 »
До скоро писах на РНР, но реших да мина на Perl.
Всичко върви добре, но излезе проблема със сесиите.
В PHP всичко беше елементарно, но тук срещнах проблем. Опитах  модула  CGI::Session  , но нещо не мога да схвана как точно става оторизирането на потребителите и запазването на сесията на даден потребител докато е онлайн.И когато няма стратирана сесия да се върне на начаната страница за оторизация.
В PHP си беше елементарно , но тук  е по съвсем друг начин.
Ако някой може подробно да даде помощ ще съм много благодарен.
Поздрави
Димо
Активен

berov

  • Напреднали
  • *****
  • Публикации: 40
    • Профил
    • WWW
Perl session
« Отговор #1 -: Aug 19, 2004, 20:14 »
Здрасти, винаги  се радвам, когато някой реши да премине от нещо друго на Perl. То е защото започнах с него и досега (вече четири години и нещо) не успявам да науча друг (сериозен) език.Perl винаги има някакъв модул за дадена задача, която ми се налага да свърша. От обработка на PDF до писане и четене на/от серийни портове...
И така:
За тебе препоръчвам Apache::ASP.
По-принцип този модул работи и в CGI среда, но истински разгръща мощтта си когато отдолу е Apache/mod_perl.
Поддръжката на сесии е само едно от нещатта които ме накараха да се влюбя в този модул. Той е нещо като Applicatiopn Server.
За да започнеш бързо:

http://www.apache-asp.org/

Уроци от автора на Модула:
http://www.apache-asp.org/resources.html
Помагал ми е със съвети много тоя човек...
Запиши се в маилинг листата на модула в Yahoo
Имам два сериозни сайта, базирани на това чудо и съм потресен от скоростта, с която можеш да сглобяваш парчета HTML и Perl
Модулът е точно за такива като тебе. Има всичко за което можеш да се сетиш, че и отгоре.
Други подобни модули са:
Apache::PageKit
AxKit
The bivio OLTP Platform (bOP)
Embperl
Mason
и много други. Да ембедваш перл, по начина, по който мислиш. Просто избираш който ти уидисва най-много.
Mason и Apache::ASP са ми любимите.
Прочети това
http://perl.apache.org/products/app-server.html
и това ако искаш
http://berov.data.bg/Perl/
Мисля, че всичко изброено до тук ще ти даде летящ старт
Успех!! '<img'>
А...
И за малко да забравя. Въпросът ти беше за сесиите...
Виж как става в Apache::ASP
http://www.apache-asp.org/objects.html
Тази подпрограма се намира във файла global.asa -сърцето на всяко ASP-приложение.
Това е парче от реално работещ в производствени условия
код.

Примерен код

#global.asa
use vars qw|$ROOT $HOME $pages $Site $p $p1 $dbh $sth $error $tree |;
#глобални променливи - навсякъде, във всички страници и
#includes са видими (персистентни са, т.е. живеят между
#различни зявки и пренасят стойността си)
#use utf8;

use DBI;#Бази данни
use Data::Dumper;# За дъмпване на структури
#докато разработваш
#в производствени условия не ти трябва
require "../F8online.pm";
#мой си някакъв модул
$HOME="http://".$ENV{HTTP_HOST}."/";
$ROOT=$ENV{DOCUMENT_ROOT};
#събитие като в Микрософт ASP
sub Script_OnStart{
       $Response->{Charset}="utf-8";
    unless($dbh && eval { $dbh->ping }) {
      $dbh = DBI->connect(
        "DBI:mysql:database=imetonabazata",'user',"password",
        {
          PrintError => 1, # warn( ) on errors
          RaiseError => 0, # don't die on error
          AutoCommit => 1, # commit executes immediately
        }
      )||print$DBI::errstr;
     
    }
  $p=$Request->Params("p")||"index";
  $p1=$Request->Params("p1")||"index";
#някакви параметри

  $Site=F8online->new();
#мой си някакъв модул
  $Response->{Expires}=-1000;
#Управление на сесията
    if($Request->Params("logout")) {
      $Session->Abandon();
      $Response->Redirect("index.asp?abandon=".$Session->{usr});
        if(defined $dbh && eval { $dbh->ping }) {
          $dbh->disconnect;
          undef $dbh;
         }
    }

$Session->{count}++;

   if(!$Session->{menu}){
      REFRESH_menu();
   }
         #мои си някакви неща

}

УСПЕХ пак '<img'>
Активен

[Първото правило на магьосника:]
... Целта е несравнимо по-важно нещо от истината. Всъщност истината няма нищо общо с това.  Истината трудно се продава; тя не ти дава чувство за цел. Тя е просто истина

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
limit mgetty session
Настройка на програми
rat 4 4172 Последна публикация Mar 28, 2002, 17:34
от rat
SAVE Session  in X / KDE 3.x.x /
Настройка на програми
the_real_maniac 3 3285 Последна публикация May 07, 2004, 14:21
от the_real_maniac
kde session restore
Настройка на програми
Hel1Fire 7 4144 Последна публикация Jan 22, 2006, 15:44
от
Gnome Session Manager и КДЕ
Настройки на софтуер
kolche 0 1972 Последна публикация Feb 23, 2006, 12:32
от kolche
Следене на потребителите на база на TLS и Session Identifiers/Session Cookies
Общ форум
n00b 12 14133 Последна публикация Oct 25, 2018, 00:29
от vyrgozunqk