Veja a disponibilidade de registro de um domínio:

  • www.
  • suporte / conta linux

formulÁrios

Formulários permitem que dados preenchidos em um pré-cadastro sejam recebidos em um endereço de e-mail. Os scripts NMS e o FormRobot (em português) já estão prontos para ser utilizados nas contas Linux, facilitando o envio de e-mails para os visitantes de seu site.

A Digiweb disponibiliza 3 modelos de formulários para seu site:


NMS
FormRobot
Formulário com Servidor Seguro


NMS x FORMROBOT

O FormRobot é um script de fácil manipulação, que pode ser utilizado em qualquer formulário já existente em seu site. Com o FormRobot você pode estabelecer campos obrigatórios para o envio de seu formulário.

Já o script NMS é mais específico e elaborado. Ele permite algumas facilidades, como descreveremos abaixo.

A mensagem enviada através do NMS é personalizada. Ela é recebida com o nome, e-mail e assunto preenchido pelo usuário. O FormRobot envia os campos preenchidos no corpo da mensagem.



NMS

O script NMS já está ativo em todas as contas Linux. Ele está localizado no diretório cgi-bin de sua conta, sob o nome de nms.cgi, mas é altamente recomendável que você use outro nome para o script. Por razões de segurança, não é possível usar o nome formmail e suas variantes. É possível mudar o nome do script via um programa de FTP qualquer.


Para utilizar o script, siga os passos abaixo:

1. Copie o modelo abaixo e crie uma página HTML com o nome desejado para o formulário (ex.: formulario.html) e faça o upload no diretório de sua preferência (dentro do public_html).


2. Substitua a parte "seudominio.com.br" com o nome de seu domínio e seu-nome@seudominio.com.br com o seu endereço de email que receberá os dados do formulário.


3. Crie uma segunda página HTML, com o nome de obrigado.html, que será a resposta apresentada ao enviar o formulário. Faça o upload desse arquivo junto ao formulario.html (dentro do public_html).


Modelo:


<h1>Script NMS</h1>
Utilize esse formulário para receber e-mails.
<form method="post" action="http://www.seudominio.com.br/cgi-bin/nms.cgi">
<input type="hidden"name="redirect"
value="http://www.seudominio.com.br/obrigado.html">
Your Name: <input name="realname" size=25 ><br>
Your Email Address: <input na me="email" size=30 ><br>
Subject: <input name="subject" size=30 ><br>
<input name="recipient"
value="seu-nome@seudominio.com.br" type="hidden">
<input name="required"
value="recipient,email,realname,subject,message" type="hidden">
Message:<br>
<textarea name=message rows=10 cols=50> </textarea> <input type="hidden" name="sort" value="order:recipient,email,realname,subject,message">
<br> <input type="submit" value="Submit your message " >
<input type="reset" value="Reset and clear form">
</form>



redirect - Preencha com a URL que deve ser apresentada após o envio do formulário.

order - Define a seqüência/ordem em que os campos devem ser recebidos no e-mail.

required - É a lista dos campos que DEVEM ser preenchidos para que seja permitido o envio do formulário. Use os mesmos valores das instâncias name=**do seu formulário.

subject - Você pode determinar o que irá no título do e-mail que será enviado pelo formulário. Pode ser da forma como está no modelo acima ou você pode usar a seguinte linha em substituição:


<input type="hidden" name="subject" value="Título do Formulário">


Controle o NMS da seguinte forma:

No script nms.cgi, as variáveis a serem modificadas são somente estas, na área chamada USER CONFIGURATION SECTION, logo no começo do arquivo.



$postmaster = 'dominio@seudominio.com.br'; <<< Substitua por seu domínio real.
@referers = qw(www.seudominio.com.br seudominio.com.br);
@allow_mail_to = qw(dominio@seudominio.com.br);


O item referers determina de qual nome de domínio o script nms.cgi deve aceitar as requisições. É possível colocar mais de um domínio entre os parêntesis, separando-os por espaços.

O item allow_mail_to determina qual ou quais e-mails o script nms.cgi está autorizado a enviar os resultados postados. Também é possível colocar mais de um e-mail entre os parêntesis, separando-os por espaços. Caso no formulário esteja um e-mail especificado que não esteja presente no script, o e-mail não será enviado.


Configurações avançadas do NMS

Configurando o envio para mais de um e-mail destinatário:

É possível que o formulário envie de uma vez para mais de um e-mail os dados postados. Para isso, é preciso modificar o script e o formulário, conforme abaixo.

No script nms.cgi, as variáveis a serem alteradas são:


$max_recipients = 5;
$mailprog = '/usr/sbin/sendmail -oi -t';
$postmaster = 'dominio@seudominio.com.br';
@referers = qw(www.seudominio.com.br);
@allow_mail_to = ();
@recipients = ();
%recipient_alias = ('multiplos' => 'dominio@seudominio.com.br,dominio@yahoo.com.br',);



O item max_recipients determina para quantos e-mails o formulário pode enviar mensagens. Ajuste o número para o tanto de e-mails que receberão os dados do formulário.

Neste caso, o item allow_mail_to deve ser deixado em branco, bem como o item recipients.

O item recipient_alias deverá conter o nome do alias, que é de sua escolha e no exemplo está como 'multiplos'. Este alias deve conter no script nms.cgi os e-mails para os quais o formulário deve enviar os dados postados.

E no formulário, a linha que indica para onde os e-mails devem ser enviados, deve ser a seguinte:

<input type="hidden" name="recipient" value="multiplos">

Usando o mesmo script com mais de um formulário:

O script NMS pode ser usado para trabalhar com vários formulários, usando o mesmo princípio de alias descrito acima. Basta que você crie grupos de aliases, cada um com um conjunto de e-mails diferentes.

Dessa forma, dependendo do formulário, ele usará o script NMS para enviar para um ou para outro grupo de endereços de e-mail. Neste caso, no script nms.cgi, as variáveis a serem alteradas são:

$max_recipients = 5;
$mailprog = '/usr/sbin/sendmail -oi -t';
$postmaster = 'dominio@seudominio.com.br';
@referers = qw(www.seudominio.com.br);
@allow_mail_to = ();
@recipients = ();
%recipient_alias = (
'clientes' => 'dominio@seudominio.com.br,dominio@yahoo.com.br',
'fornecedores' => 'compras@seudominio.com.br',
);


No formulário destinado aos clientes, a linha que indica para onde os e-mails devem ser enviados, deve ser a seguinte:

<input type="hidden" name="recipient" value="clientes">

Já em outro formulário, destinado aos fornecedores, a linha que indica para onde os e-mails devem ser enviados, deve ser a seguinte:

<input type="hidden" name="recipient" value="fornecedores">

NOTA: Há muitas possibilidades de configuração desse script de envio de e-mails. Existe um arquivo chamado README-NMS.txt, em português à sua disposição no seu diretório cgi-bin, para ser consultado quando necessário.



FORMROBOT

O Form Robot é um script que permite a você criar formulários com diversos campos, sem necessidade de conhecimento em programação de scripts, e receber as informações por e-mail.

O Form Robot permite controlar os elementos do formulário como em quais campos o preenchimento é obrigatório ou se você quer que o usuário verifique o que foi digitado antes de enviar o formulário. Você também pode setar o formulário para mostrar os resultados na tela com propósito de confirmação dos dados enviados.

O Form Robot já está ativo em todas as contas Linux, dentro de seu diretório cgi-bin. Para utilizá-lo, siga os passos abaixo:

1. Copie o modelo abaixo e crie uma página HTML com o nome desejado para o formulário ( ex.: formulario.html ) e faça o upload no diretório de sua preferência ( dentro do public_html ).

2. Substitua a parte "seudominio.com.br" com o nome de seu domínio e nome@seudominio.com.br com o seu endereço de email que receberá os dados do formulário.

3. No próprio arquivo formrobot, localizado dentro da pasta cgi-bin de sua conta de FTP, altere os endereços de e-mail das variáveis abaixo:

$mail_address = 'email@dominio.com.br';
$email = 'email@dominio.com.br';


Para os seus endereços de e-mail.

A primeira variável é o endereço de e-mail que deve enviar os resultados.

A segunda variável é o endereço de e-mail que você especificar no item "notifyaddress" de seu formulário, feito no passo 1. O e-mail do formulário deve ser igual ao e-mail especificado nessa segunda variável.

4. Crie uma segunda página HTML, com o nome de obrigado.html, que será a resposta apresentada ao enviar o formulário. Faça o upload desse arquivo junto ao formulario.html ( dentro do public_html ).

Modelo:

<form method="post" action="http://www.seudominio.com.br/cgi-bin/formrobot">
<input type="hidden" name="toscreen" value="false">
<input type="hidden" name="verify" value="false">
<input type="hidden" name="required" value="false">
<input type="hidden" name="notifyaddress" value="nome@seudominio.com.br">
<input type="hidden" name="thank_you" value="http://www.seudominio.com.br/obrigado.html">
Qual é seu nome.: <input type="text" name="seu_nome"><br><br>
Deixe seu comentário.:<br>
<textarea name=comentario rows=10 cols=50>
</textarea>
<br><br>
<input type="submit" name="submit" value="Enviar">
</form>


Você pode controlar o Form Robot com essas 5 variáveis

toscreen - (Quando especificado como true os resultados são mostrados na tela. Quando especificado como false os resultados são enviados para o endereço em notifyaddress).

verify - (Quando especificado como true o primeiro submit irá dar-lhe uma chance de verificar o que foi preenchido e o segundo submit irá verdadeiramente processar o formulário).

required - (É a lista dos campos que DEVEM ser preenchidos para que seja permitido o envio do formulário. Use os mesmos valores das instâncias name=** do seu formulário).

notifyaddress - (Preencha com o endereço de email pelo qual você deseja receber os resultados).

thank_you - (Preencha com a URL que deve ser apresentada após o envio do formulário).

No exemplo abaixo de formulário, ambos verify e required estão habilitados. Os campos seu_nome e comentarios estão setados como obrigatórios.

Abaixo está a linha HTML que deixa os dois campos obrigatórios:

<input type="hidden" name="required" value="seu_nome comentario">

NOTA: Se você configurar um campo que não existe em seu formulário como obrigatório, o Form Robot pedirá que eles sejam preenchidos mesmo o campo não existindo.

Sabendo mais sobre formulários

A linguagem HTML também permite que o visitante interaja com o seu site, preenchendo campos, clicando em botões e passando informações. Os formulários são uma dessas formas de interação.


Usando formulários, suas páginas podem conter campos para preenchimento. O formulário é definido por um conjunto de campos e botões. Um desses botões contém o endereço (parâmetro "ACTION") da página que irá processar os dados do formulário.


Criando Formulários

Você pode criar o seu formulário usando qualquer programa de edição de arquivos HTML ou, se você preferir, pode programar em HTML diretamente. Dentro do formulário, você pode incluir campos que o usuário irá preencher.

Todo o campo tem um nome e um valor. Assim, o nome do campo que seu visitante preenche é "endereço" (é aconselhável descartar acentos e cedilhas dos nomes de campos), e o valor é "Rua Estela" ou o que quer que ele tenha preenchido. Quando você cria o campo no seu formulário você deve definir um nome, e opcionalmente um valor inicial que já aparece preenchido.

Um "campo" especial que todo formulário deve ter é o botão de Submit. Trata-se simplesmente do botão que, quando pressionado, provocará o envio das informações para a página que irá processar o formulário, indicada pelo parâmetro "ACTION".

Por exemplo, o seguinte trecho define um formulário com um campo de endereço:

<FORM ACTION="http://www.dominio.com.br/cgi-bin/nms.cgi">
<INPUT TYPE="text" NAME="endereco">
<INPUT TYPE="submit" NAME="submit" VALUE="Enviar">
</FORM>



Tipos de campos

Além do campo texto, que é o mais comum, há outros tipos de campo usados em formulários mais estruturados. O campo texto e os demais abaixo, sempre devem estar entre as tags

<FORM> e </FORM>.


São eles:

Checkbox: Usado em campos que indicam um valor do tipo Sim ou Não. Por exemplo: "Tem computador". No exemplo abaixo, se o campo for marcado ele gerará uma saída do tipo: "bens=computador": <input type="checkbox" name="bens" value="computador">Tem computador.

Radio Button: Usado para definir um conjunto de escolhas em que somente uma é válida. Por exemplo: <input type="radio" name="genero" value="M">Masculino<br> <input type="radio" name="genero" value="F">Feminino. Assim, se seu visitante for do sexo feminino, a saída do formulário conterá o trecho: "genero=F".

Select List: Tem a mesma função que o radio button, mas sua aparência é diferente. É mostrado um campo com a flecha para baixo que quando acionada mostra todas as opções disponíveis. É usado quando o número de opções é maior, por exemplo, para UF (Unidades da Federação). A saída gerada é do tipo: "estado=MG".


Hidden: Como o próprio nome diz em inglês, é um campo "escondido", que não aparece para quem preenche o formulário. Ele tem um nome e um valor pré-determinado, que serve para dar informações extras à página que vai processar os resultados do preenchimento.


Combinando formulários com SSL

Você pode utilizar formulários seguros, garantindo que as informações que seu visitante preenche não sejam interceptadas na rede. Para isso, temos o Servidor Seguro Gratuito, para todas as contas Linux. Ou, se você tiver um Certificado Seguro próprio, poderá usá-lo.

No parâmetro "ACTION" do formulário você deve usar o prefixo "https", ou seja, colocar por exemplo: https://digiweb.psi.br/~seulogin/cgi-bin/nms.cgi, se for usar o Servidor Seguro Gratuito da Digiweb. Caso você possua um Certificado Seguro próprio, basta usar https://www.dominio.com.br/cgi-bin/nms.cgi, por exemplo.



Recomendamos também que seja utilizado o prefixo "https:" no endereço de sucesso ou de agradecimento, que é mostrado quando o formulário termina de ser preenchido e processado.


NOTA: Este processo garante a segurança do envio dos dados desde sua página até o servidor da Digiweb onde seu site está hospedado, mas não garante a segurança do posterior envio dessas informações via e-mail até o endereço designado, devido à arquitetura de e-mails da própria Internet. Para ter um processo mais seguro deve-se usar ferramentas de programação mais avançadas

 


Caso queira mais detalhes, entre em contato conosco:



  • Digiweb | Hospedagem de sites
  • Todos os direitos reservados | 1996 / 2008