Aplicações Estado-permitidas tornando-se com PHP

| by John L | November 07, 2004
Prestação 1

Aplicações Estado-permitidas tornando-se com PHP

Quando um usuário browsing com um Web site e surfing de um Web page a outro, às vezes o Web site necessita recordar as ações (por exemplo escolhas) executadas pelo usuário. Por exemplo, em um Web site que venda DVDs, o usuário browses tipicamente através de uma lista de DVDs e seleciona DVDs individual para a verificação para fora no fim da sessão do shopping. O Web site necessita recordar que DVDs o usuário selecionou porque os artigos selecionados necessitam ser apresentados outra vez ao usuário quando o usuário verifica para fora. Ou seja o Web site necessita recordar o estado - isto é os artigos selecionados - das atividades browsing do usuário.

Entretanto, o HTTP é um protocolo Stateless e é ill-equipped segurar estados. Um Web site padrão do HTML fornece bàsicamente a informação ao usuário e uma série das ligações que dirija simplesmente o usuário a outros Web pages relacionados. Esta natureza Stateless do HTTP permite que o Web site replicated através de muitos usuários para finalidades balançando da carga. Um inconveniente principal é que ao browsing de uma página a outra, o Web site não recorda o estado da sessão browsing. Este interactivity do make quase impossível.

A fim aumentar o interactivity, o colaborador pode usar a sessão que segura características de PHP para aumentar as características do HTTP a fim recordar o estado da sessão browsing. São bàsicamente 2 maneiras que PHP faz este:
  •  Usando bolinhos
  •  Usando sessões

A prestação seguinte discute como controlar sessões usando bolinhos…

Prestação 2

Bolinhos

Os bolinhos são usados armazenar a Estado-informação no browser. Os Browsers são permitidos proseguir a 20 bolinhos para cada domínio e os valores armazenados no bolinho não podem exceder 4 KB. Se mais de 20 bolinhos forem criados pelo Web site, only os 20 os mais atrasados estão armazenados. Os bolinhos são somente apropriados nos exemplos que não requerem comunicações complexas da sessão e não são favorecidos por alguns colaboradores por causa das edições da privacidade. Além disso, alguns usuários incapacitam a sustentação para bolinhos em seus browsers.

O seguinte é uma seqüência do usuário-browser de eventos típica que ocorrem quando um bolinho é usado:
  •  O usuário sabe que necessita recordar o estado de browsing a sessão
  •  O usuário cría um bolinho e usa o campo do encabeçamento do Ajust-Bolinho na resposta do HTTP passar o bolinho ao browser
  •  O browser lê o campo do bolinho na resposta do HTTP e armazena o bolinho
  •  Esta informação do bolinho é passada ao longo das comunicações futuras do browser-usuário e pode ser usada nos certificados de PHP como uma variável

PHP fornece uma função chamada setcookie () para permitir a criação fácil dos bolinhos. A sintaxe para o setcookie é:

setcookie interno (nome da corda, [corda val], [expiration_date interno], [trajeto da corda], domínio da corda, [interno fixar])

Os parâmetros são:
  •  nome - este é um parâmetro imperativo e é usado subseqüentemente identificar o bolinho
  •  o valor - o valor do bolinho - por exemplo se o bolinho for usado armazenar o nome do usuário, o parâmetro do valor armazenará o nome real - por exemplo John
  •  expiration_date - a vida do bolinho. Após esta data, o bolinho expira e é unusable
  •  trajeto - o trajeto consulta ao URL de que o bolinho é válido e reservou
  •  o domínio - do domínio criado o bolinho e é permitido ler os índices do bolinho
  •  - especifica se o bolinho puder ser emitido somente através de uma conexão segura - por exemplo o SSL seguro permite sessões

O seguinte é um exemplo que indique ao usuário quantas vezes um Web page específico foi indicado ao usuário. O copy o código abaixo (o php e o HTML) em uma lima com a extensão de .php e testa-a para fora. [? php//check se a variável de $count for associada com o cookieif da contagem (! isset ($count)) {$count = 0;} mais {$count++;}setcookie (“contagem”, $count, tempo () +600,”/“, "", 0);?][HTML] [cabeça] [título] sessão que segura usando os bolinhos [/title] [/head] [corpo] esta página foi indicada: [? =$count?] épocas. [/body] [/html]

A prestação seguinte discute como controlar sessões usando a sessão de PHP que segura funções com os bolinhos permitidos…

Prestação 3

Manipulação da sessão de PHP - bolinhos permitidos

Em vez de armazenar a informação da sessão no browser com o uso dos bolinhos, a informação pode preferivelmente ser armazenada no usuário em limas da sessão. Uma lima da sessão é criada e mantida para cada sessão do usuário. Por exemplo, se houver três usuários simultâneos que browsing o Web site, três limas da sessão serão criadas e mantidas - uma para cada usuário. As limas da sessão são suprimidas se a sessão for fechada explicitamente pelo certificado de PHP ou por um processo da coleção do lixo do daemon fornecido por PHP. A prática de programação boa chamar-se-ia para que as sessões sejam fechadas explicitamente no certificado.

O seguinte é uma seqüência do usuário-browser de eventos típica que ocorrem quando uma manipulação da sessão de PHP é usada:
  •  O usuário sabe que necessita recordar o estado de browsing a sessão
  •  PHP gera um sssion ID e cría uma lima da sessão para armazenar como necessário a informação futura por páginas subseqüentes
  •  Um bolinho é wih gerado a sessão ID no browser
  •  Este bolinho que armazena a sessão ID é emitido transparente e automaticamente ao usuário para todos os pedidos subseqüentes ao usuário

O seguinte exemplo demanipulação de PHP realiza o mesmo resultado que o exemplo precedente do bolinho. O copy o código abaixo (o php e o HTML) em uma lima com a extensão de .php e testa-a para fora.

[? php//starts um sessionsession_start (); //informs PHP que conta a informação necessita ser recordado no fileif da sessão (! session_is_registered (“contagem”)) {session_register (“contagem”); $count = 0;}mais {$count++;}$session_id = session_id ();?][HTML] [cabeça] [título] manipulação da sessão de PHP - Bolinho-Permitida [/title] [/head] [corpo] a identificação atual da sessão é: [? =$session_id?] Esta página foi indicada: [? =$count?] épocas. [/body] [/html]

Um sumário das funções que PHP fornece para a manipulação da sessão é:
  •  start_session booleano () - inicializa uma sessão
  •  amarrar o session_id ([identificação da corda]) - retorna a identificação atual da sessão ou especificam a identificação da sessão a ser usada quando a sessão é criada
  •  session_register booleano (nome misturado [, misturado…]) - variáveis dos registos a ser armazenadas na lima da sessão. Cada parâmetro passou na função é uma variável separada
  •  booleano session_is_registered (variable_name da corda) - verificações se uma variável fosse registada previamente para ser armazenada na lima da sessão
  •  session_unregister (varriable_name) da corda - unregisters uma variável da lima da sessão. As variáveis Unregistered são já não válidas para a referência na sessão.
  •  session_unset () - unsets todas as variáveis da sessão. É importante anotar que todas as variáveis remanescem registadas.
  •  session_destroy booleano () - destrói a sessão. Este é oposto da função do start_session.

A prestação seguinte discute como controlar sessões usando a sessão de PHP que segura funções quando os bolinhos são disabled…

Prestação 4

Manipulação da sessão de PHP - sem bolinhos

Se os bolinhos forem disabled no browser, o exemplo acima não pode trabalhar. Isto é porque embora a lima da sessão que armazena todas as variáveis seja mantida no usuário, um bolinho é necessitado ainda no browser armazenar a sessão ID que é usada identificar a sessão e sua lima associada da sessão. A maneira a mais comum em torno desta seria passar explicitamente para trás a sessão ID ao usuário do browser como um parâmetro da pergunta no URL.

Por exemplo, o certificado de PHP gera os pedidos subseqüentes à chamada do start_session no seguinte formato:

http://www.yourhost.com/yourphpfile.php?PHPSESSID= [sessão real ID]

Os seguintes são os excerpts que ilustram a discussão:

Manualmente construindo o URL:

$url = “http://www.yoursite.com/yourphppage.php?PHPSESSID=”. session_id ();
[um href= " [? =$url?]“] Texto da escora [/a]

Construindo o URL usando SID:

[um href= " http://www.yoursite.com/yourphppage.php? [? =SID?]“] Texto da escora [/a]

Article Source: http://www.articleset.com



About the Author

John L is the webmaster of http://www.bimmercenter.com..

daboss@bimmercenter.com » Read more articles by John L
You are welcome to publish or reprint this article free of charge, provided: