Bem vindo ao PROJECT-HTML
Aprenda mais sobre:
HTML, CSS, JavaScript, webmaster, Imagens, banners, wallpapers, videos aula, windows, utilitários para site/blogs, Jogos, animes e muito mais.
Basta se registrar!



 
InícioProject HTMLGaleriaFAQRegistrar-seConectar-se
Buscar
 
 

Resultados por:
 
Rechercher Busca avançada
Conectar-se
Nome de usuário:
Senha:
Conexão automática: 
:: Esqueci minha senha
Votação
Qual seu navegador favorito?
 FireFox
 Chrome
 Internet Explorer
 safari
 Netscape
 Opera
 Avant
Exibir resultados
Quem está conectado
1 usuário online :: Nenhum usuário registrado, Nenhum Invisível e 1 Visitante

Nenhum

O recorde de usuários online foi de 36 em 3/4/2016, 3:36 am
Últimos assuntos
» TAG´s (comandos)
4/8/2014, 10:15 am por robson

» Comandos básico de HTML - body (corpo da home page)
16/7/2014, 10:10 am por robson

» Apresentações aqui
15/7/2014, 4:14 pm por robson

» Como colocar "posts recomendados" no sou blog sou site.
24/3/2014, 8:05 pm por Otome

» Arquivo de ajuda sobre PHP, help para iniciantes e experientes
24/3/2014, 8:03 pm por Otome

» Imagens Exercício-6
22/3/2014, 5:19 pm por SY64

» Alinhamento de imagens
22/3/2014, 4:43 pm por SY64

» Link´s Exercicios-5
22/3/2014, 12:43 pm por SY64

» Criar um site passo a passo
1/8/2013, 4:41 pm por marlonsouzajs


Compartilhe | 
 

 Como implementar o conceito de “transação” nos meus programas CGI ?

Ver o tópico anterior Ver o tópico seguinte Ir em baixo 
AutorMensagem
Diego
Admin
Admin
avatar

Masculino
Número de Mensagens : 321
Idade : 25
Localização : Aqui no PROJECT-HTML
Pontos : 5438
Reputação : 24
Data de inscrição : 04/07/2008

MensagemAssunto: Como implementar o conceito de “transação” nos meus programas CGI ?   29/11/2008, 1:09 am

Como explicado no curso de Webmaster Básico , o protocolo www é stateless, quer dizer, não existe
nenhum tipo de contato entre cliente e servidor, a não ser em transferência de dados. Na prática, isso quer
dizer que não tem jeito de manter uma transação usando apenas HTML e CGI, por que dessa maneira o
servidor www não tem jeito de diferenciar efetivamente o cliente. Como exemplo de transação, podemos citar
uma inclusão de dados. O cliente tem que fornecer vários dados em seqüência, que são consistidos. Caso
estejam corretos, é realizada a inclusão. Esses dados podem levar o cliente a várias telas diferentes, de acordo
com os dados dos campos anteriores. Num formulário www, existe pouca coisa que se pode fazer com
respeito a consistências, e menos ainda com relação à continuidade da transação.

Mas existem maneiras de identificar o cliente, de modo que o programa CGI no servidor possa dar
continuidade à transação do ponto onde parou. Uma das maneiras é usar campos escondidos no próprio
formulário, como no exemplo:

<INPUT TYPE=hidden NAME=user VALUE=”123”>

Com essa informação, o CGI pode identificar o cliente. Note que “hidden” não quer dizer secreto,
isto é, o usuário sempre pode clicar no “View Source”.

Outra maneira é utilizar a variável de ambiente PATH_INFO. Essa variável serve para a passagem de
texto adicional na URL que vai ser acessada pelo programa CGI depois do nome do programa. Por exemplo,
se a URL do seu programa for:

[Você precisa estar registrado e conectado para ver este link.]

Mas você abrir em vez disso a URL:

[Você precisa estar registrado e conectado para ver este link.]

O programa lista.cgi vai ser executado e terá a sua disposição uma variável de ambiente que vai
conter o texto passado após a chamada do CGI. Desse modo seu programa também consegue manter
informações para o usuário.

Só um detalhe: URL’s tem um tamanho máximo de 1024 caracteres. Se o número de informação
crescer muito, pode-se criar um arquivo temporário no servidor, que contenha todos os parâmetros e que seja
acessível por um índice único, mandado via PATH_INFO.

Outra maneira de manter a transação é usando Cookies. O Cookie é um mecanismo novo, proposto
pela Netscape (mas que hoje é aceito na maioria dos browsers) que permite ao browser manter informações
que são gravadas pelo servidor. Toda vez que o cliente entrar em contato com o servidor que programou o
Cookie, ele vai enviar o conteúdo dos Cookies para esse servidor.

Por exemplo, seu programa CGI pode usar a seguinte rotina para programar um Cookie:

echo “Content-type: text/html”
echo “”
echo “Set-Cookie: cookiename=valueofcookie; expires=Saturday, 28-Jul-97 23:59:59 GMT; path=/cgi-bin/
echo “<h1>Texto da página<h1>”

...

Essa linha gera um Cookie que sempre vai ser enviado de volta para seu servidor com qualquer
pedido de documento que tenha a palavra /cgi-bin/ na URL. O Cookie vai continuar a ser enviado até sua data
de expiração. O tempo de expiração deve ser o GMT.

Quando o programa for acessado novamente pelo usuário, o valor dos Cookies vai ser passado pela
variável de ambiente HTTP_COOKIE. Cada Cookie vai ser apresentado no formato

NOME=VALOR;NOME1=VALOR1;...;NOMEn=VALORn

Veja a referência da Netscape ao uso do Cookie para maiores esclarecimentos.

_________________
Quem pode faz, não copia!
[Você precisa estar registrado e conectado para ver esta imagem.]
s2 Diego e Barbara s2
Informações do meu PC:
Processador:Intel Core i5 760 @ 2.80GHz 8Mb cache
Placa mãe: ASUSTeK Computer INC. P7P55D-Deluxe
Memoria Ram: 4.0GB Único -Channel DDR3 @ 668MHz * 2 = 1333Mhz (9-9-9-24)
Placa de video: 512 MB GeForce 8400 GS (XFX Pine Group)
HD: 160GB SAMSUNG SAMSUNG HD161HJ (SATA)
Audio: SoundMAX Integrated Digital Audio
Sistema operativo: MS Windows 7 Ultimate 64-bit
Voltar ao Topo Ir em baixo
Ver perfil do usuário http://www.projecthtml.tk
 
Como implementar o conceito de “transação” nos meus programas CGI ?
Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo 
Página 1 de 1
 Tópicos similares
-
» Como implementar coisas nas condições de utilizações do fórum
» Como implementar uma entrada com design no fórum
» Teria como implementar isso?
» Como implementar o sistema de warns
» [phpBB 3] Como implementar responsável por cada área

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
 :: Webmaster :: O papel do Webmaster-
Ir para: