Esta é apenas uma dica rápida, uma conversa momentânea. Fiquei muito feliz em descobrir e comprovar que prisma pode ser usado tranquilamente em um servidor web. Mas os testes foram feitos em um servidor local, instalado em meu computador. Gostaria, no entanto, de testar em um servidor pago mesmo e online. Para minha tristeza existem…
Continue readingMonth: janeiro 2016
Banco de dados sqlite3 em Prisma
Acesso ao banco de dados sqlite3 em prisma. Seguem os links do tutorial e alguns externos sobre o sqlite Link para a página do tutorial: clique aqui; Link para a versão em pdf: clique aqui; Uma boa descrição do que é Sqlite: clique aqui; Um pequeno guia com funções do sqlite: clique aqui; Algumas boas…
Continue readingPermissão para cgi prisma em Linux
Entre na pasta htdocs do Xampp crie, se não existir, uma pasta chamada cgi para os nossos exemplos, ficando assim: /htdocs/cgi/ Obs. Linux você precisa dar permissão para pasta, digite no terminal:
1 |
sudo chmod 777 /opt/lampp/htdocs/cgi -Rf |
Pressione enter, senha, enter. No arquivo troque 777 por 755 ficando assim:
1 |
sudo chmod 755 /opt/lampp/htdocs/cgi/ola.pri.cgi |
Usuários Linux terão que fazer isso para…
Continue readingDicas de html
Eu estou criando uma lib chamada html que facilita a criação de tags do html, ex: html.p(‘aqui tem um paragrafo’); Em todo caso, aprender html é necessário para programação web, seja em php, python etc. pois o que fazemos com programas web é mandá-los imprimir páginas em html. Não vou fazer aqui um tutorial…
Continue readingPrisma-cgi: como executar um programa compilado
Por diversos fatores podemos querer esconder o código fonte, para isso usamos o prismac que compila o script prisma de texto para código de bytes prisma. Mas como fazer para executar um arquivo compilado no servidor sem a imprescindível linha #!/usr/local/bin/prisma que os compilados não podem ter? A resposta é muito simples, compile seu programa…
Continue readingVariáveis do servidor em prisma cgi
Essas variáveis são strings, que usadas com a função sis.obtvarambiente( str ) devolvem valores strings. O exemplo é simples veja:
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
#!/usr/local/bin/prisma //teste para listar as variaveis do servidor //primeiro criamos uma matriz com as strings dos nomes das variaveis de ambiente. local vars = {'SERVER_SOFTWARE', 'SERVER_NAME', 'GATEWAY_INTERFACE', 'SERVER_PROTOCOL', 'SERVER_PORT', 'REQUEST_METHOD', 'PATH_INFO', 'PATH_TRANSLATED', 'SCRIPT_NAME', 'QUERY_STRING', 'REMOTE_HOST', 'REMOTE_ADDR', 'AUTH_TYPE', 'REMOTE_USER', 'REMOTE_IDENT', 'CONTENT_TYPE', 'CONTENT_LENGTH', 'HTTP_ACCEPT', 'HTTP_USER_AGENT', 'HTTP_REFERER', 'DOCUMENT_ROOT', 'HTTP_FROM' } tipo_html = "Content-type:text/html\n\n"; imprima( tipo_html ); imprima('<html>'); poe'<body><br><br>'; poe'<h1>Variaveis do servidor e seus valores</h1><br>'; imprima('<h3>Versão do interpretador:' , _versao , '</h3>'); poe'<ul>'; /**Agora usamos um laço 'para' que processa a matriz de nomes através da função sis.obtvarambiente('nomevar'); (obtenha var. ambiente); ** para i = 1 , #vars inicio imprima( '<li>', vars[i] , ' = ' , sis.obtvarambiente( vars[i] ) , '</li>' ); fim poe'</ul>'; poe'</body>'; imprima'</html>'; |
Aqui não há segredo, para ler as variáveis de ambiente do servidor é só usar o método sis.obtvarambiente(‘nomevar’); No exemplo acima usei uma matriz com as string e o comando para que lê cada…
Continue readingInstalando o servidor Xampp
Como estou entusiasmado com as múltiplas possibilidades de executar cgis prisma no servido Xampp em rede local, vou começar a postar dicas de programação web e para iniciar uma post de como instalar o servidor em seu próprio computador para testar os aplicativos web. Este é apenas um post atalho para a página onde explico…
Continue readingOutro exemplo de cgi prisma – multiplicar
Este é um exemplo de como receber dados do cliente via get do lado do servidor, processar esses dados, fazer uma operação e mostrar o resultado. Veja: (salve como mult.pri.cgi em no local cgi-bin ou na pasta htdocs se esta permitir executar scripts cgi.
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
#!/usr/local/bin/prisma imprima "Content-type:text/html\r\n\r\n"; imprima '<html>'; imprima '<head>'; imprima '<title>Multiplicar</title>'; imprima '</head>'; imprima '<body>'; imprima'<h1>TESTE DE MULTIPLICAÇÃO</h1>'; data = sis.obtvarambiente("QUERY_STRING");//recebe as variaveis da url ex.: ?nome=Ana;idade=19 imprima[[ <form action="http://localhost/mult.pri.cgi"> <div><label>Numero 1: <input name="m" size="5"></label></div> <div><label>Numero 2: <input name="n" size="5"></label></div> <div><input type="submit" value="Multiplicar!"></div> </form> ]] se data == '' entao imprima'<h1>Nenhum dado recebido!</h1>'; senao data = data:troque('&',';'); f = carregue(data); //basta carregar a string na função e teremos as variaveis como em prisma se f entao f(); imprima("<p>O resultado da multiplicação de", m , "x" , n , '=' , m*n , '</p>' ); senao imprima'<h1>Erro ao executar string</h1>'; fim imprima '<h2></h2>'; imprima( [[<script type="text/javascript"> alert("]] .. "O resultado de " .. m .. "x" .. n .. ' = ' .. m*n .. [["); </script>]] ); imprima '</body>'; imprima '</html>'; fim |
Veja que uso os comandos imprimir() e poe()…
Continue readingTestes com prisma cgi em servidor com sucesso!
Fiquei muito mais otimista com prisma, isto é uma evolução da linguagem… Sem muita pretensão, fui ver como seria rodar um script prisma em modo cgi no servidor instalado em minha máquina local. Para minha surpresa funcionou perfeitamente. Não é possível instalar prisma num servidor compartilhado mas acho que num dedicado ou vpn daria certo,…
Continue readingBiblioteca Reg
Feliz ano de 2016 a todos e desculpe pela demora. Enquanto não concluo a biblioteca igsqlite3, e falta pouco, vou postar aqui uma biblioteca que criei já a algum tempo e aperfeiçoei. PS. A biblioteca sqlite3 foi concluída, veja <aqui> Imagine que você defina valores de configuração em seu programa, como cores, fontes, variáveis etc….
Continue reading