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() como se tivesse mostrando strings na tela do cmd ou terminal, mas a saída é um código html válido para ser mostrado no navegador.
Note que é necessário iniciar a impressão do html com:
1 |
imprima "Content-type:text/html\r\n\r\n"; |
Sem isso não funciona. Depois basta imprimir um html normal, com head, body e outras tags normais, inclusive javascript.