A
sua loja virtual - Cadastrando um novo usuário
O link Novo na página idenfica.asp
permite o cadastramento
de um cliente inexistente em nossos arquivos.
O arquivo cadastra.asp irá gerar um formulário solicitando as
informações ao usuário ; essas informações serão
processadas pelo arquivo cadastrar.asp o qual irá verificar
se o usuário informou um e-mail/senha ainda não cadastrados e a seguir irá
salvar os dados no nosso banco de dados. A tela
gerada pelo arquivo cadastra.asp é a seguinte:
Abaixo temos a página criada no FrontPage .
Usamos tabelas para montar a estrutura da página do cadastro e no formulário
criado usamos (opção Inserir=>Formulário): as
caixa de texto de uma linha e um botão de ação - o botão Confirma.
<%@ Language=VBScript %>
<%
Option Explicit
'Verifica se é novo cadastro
if ( Ucase(Request.QueryString("Tipo")) = "NOVO" ) Then
Session("Cad_Erro") = 0
Session("cad_nome") = ""
Session("cad_email") = ""
Session("cad_endereco")= ""
Session("cad_bairro") = ""
Session("cad_estado")= ""
Session("cad_cidade") = ""
Session("cad_cep") = ""
Session("cad_telefone") = ""
Session("cad_documento")= ""
End If
%>
JcmSoft
- A sua Loja Virtual |
Copyright
JcmSoft. Todos os direitos reservados
|
Cadastro
<%
if session("cad_erro") = 1 then
response.write ("=> JÁ EXISTE ESTE EMAIL CADASTRADO !!!")
session("cad_erro") = 0
end if
%>
|
|
O código do arquivo cadastra.asp vem a seguir:
<%@ Language=VBScript %>
<%
Option Explicit
'Verifica se é novo cadastro
if ( Ucase(Request.QueryString("Tipo")) = "NOVO" ) Then
Session("Cad_Erro") = 0
Session("cad_nome") = ""
Session("cad_email") = ""
Session("cad_endereco")= ""
Session("cad_bairro") = ""
Session("cad_estado")= ""
Session("cad_cidade") = ""
Session("cad_cep") = ""
Session("cad_telefone") = ""
Session("cad_documento")= ""
End If
%>
<!-- #Include file="ADOVBS.INC" -->
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<title>A sua Loja de Software Virtual</title>
</head>
<body bgcolor="#FFFFFF" link="#FFFFFF" vlink="#FFFFFF" alink="#FFFFFF">
<script language="JavaScript"> <!--
function verifica_dados(form) {
if(EmBranco(form.nome) == true) {
alert("Por favor informe o seu nome.");
form.nome.focus();
return false;
}
if(EmBranco(form.email) == true) {
alert("Por favor informe o seu email.");
form.email.focus();
return false;
}
if(EmBranco(form.email) == false) {
if (chkemail(form.email) == false ) {
alert("O seu e-mail apresenta um formato inválido.");
form.email.focus();
return false;
}
}
if(EmBranco(form.senha1) == true) {
alert("Informe a sua senha.");
form.senha1.focus();
return false;
}
if(EmBranco(form.senha2) == true) {
alert("Por favor , confirme a sua senha.");
form.senha2.focus();
return false;
}
// Verifica se senha1 = senha2
if ( form.senha1.value != form.senha2.value ) {
alert("As senhas informadas nao conferem");
form.senha1.value = ""
form.senha2.value = ""
form.senha1.focus();
return false;
}
if(EmBranco(form.endereco) == true) {
alert("Informe o seu endereco.");
form.endereco.focus();
return false;
}
if(EmBranco(form.cidade) == true) {
alert("Informe o nome da cidade.");
form.cidade.focus();
return false;
}
if(EmBranco(form.cep) == true) {
alert("Informe o CEP, por favor.");
form.cep.focus();
return false;
}
if(EmBranco(form.estado) == true) {
alert("Informe o estado.");
form.estado.focus();
return false;
}
if(EmBranco(form.telefone) == true) {
alert("Informe um telefone para contato.");
form.telefone.focus();
return false;
}
if(EmBranco(form.documento) == true) {
alert("Informe o seu CIC ou CGC");
form.documento.focus();
return false;
}
} // fim da função
// Verifica se os campos foram preenchidos
function EmBranco(campo) {
if(campo.value == "")
return true;
else
return false;
}
--></script>
<table border="0" width="668" height="81">
<tr>
<TD bgcolor="#FFFFFF" width="660" height="39">
<p align="center"><b><font color="#008080" size="5" face="Verdana">JcmSoft
- A sua Loja Virtual</font></b>
</TD>
</tr>
<tr>
<TD align=middle bgColor=#008080 width="660" height="16">
<p align="center"><B><FONT color=#FFFFFF
face=arial size=-2>Copyright JcmSoft. Todos os direitos reservados</FONT></B></p>
</TD>
</tr>
<tr>
<td height="14" width="660"><b><font face="Verdana" size="2" color="#008080">Cadastro
<%
if session("cad_erro") = 1 then
response.write ("=> JÁ EXISTE ESTE EMAIL CADASTRADO !!!")
session("cad_erro") = 0
end if
%>
</font></b>
<hr color="#008080">
</td>
</tr>
</table>
<table border="0" width="666" bgcolor="#FFFFFF" height="302">
<tr>
<td bgcolor="#FFFFFF" width="658" height="298"><form action="cadastrar.asp"
method="POST" name="frm_cadastra" onsubmit="return verifica_dados(this);">
<table border="0" width="100%" height="282">
<tr>
<td width="18%" height="21"><font color="#008080" face="Verdana" size="1"><b>Nome/Empresa: </b></font></td>
<td width="82%" height="21"><font color="#008080" face="Verdana" size="1"><b><input type="text" size="51" name="nome" style="position: relative" value="<%=session("cad_nome")%>">*</b></font></td>
</tr>
<tr>
<td width="18%" height="25"><font color="#008080" face="Verdana" size="1"><b>E-Mail: </b></font></td>
<td width="82%" height="25"><font color="#008080" face="Verdana" size="1"><b><input type="text" size="51" name="email" value="<%=session("cad_email")%>">*</b></font></td>
</tr>
<tr>
<td width="18%" height="25"><font color="#008080" face="Verdana" size="1"><b>Senha: </b></font> </td>
<td width="82%" height="25"><font color="#008080" face="Verdana" size="1"><b><input type="password" size="16" name="senha1">*
</b></font> </td>
</tr>
<tr>
<td width="18%" height="25"><font color="#008080" face="Verdana" size="1"><b>Confirma </b></font> </td>
<td width="82%" height="25"><font color="#008080" face="Verdana" size="1"><b><input type="password" size="16" name="senha2">* </b></font> </td>
</tr>
<tr>
<td width="18%" height="25"><font color="#008080" face="Verdana" size="1"><b>Endereço: </b></font></td>
<td width="82%" height="25"><font color="#008080" face="Verdana" size="1"><b><input type="text" size="50" name="endereco" value="<%=session("cad_endereco")%>">*</b></font></td>
</tr>
<tr>
<td width="18%" height="25"><font color="#008080" face="Verdana" size="1"><b>Cidade: </b></font> </td>
<td width="82%" height="25"><font color="#008080" face="Verdana" size="1"><b><input type="text" size="50" name="cidade" value="<%=session("cad_cidade")%>">*
</b></font> </td>
</tr>
<tr>
<td width="18%" height="25"><font color="#008080" face="Verdana" size="1"><b>CEP </b></font> </td>
<td width="82%" height="25"><font color="#008080" face="Verdana" size="1"><b><input type="text" size="16" name="cep" value="<%=session("cad_cep")%>">* </b></font> </td>
</tr>
<tr>
<td width="18%" height="21"><font color="#008080" face="Verdana" size="1"><b>Estado </b></font> </td>
<td width="82%" height="21"><font color="#008080" face="Verdana" size="1"><b><input type="text" size="3" name="estado" maxlength="2" value="<%=session("cad_estado")%>">* </b></font> </td>
</tr>
<tr>
<td width="18%" height="25"><font color="#008080" face="Verdana" size="1"><b>Telefone</b></font></td>
<td width="82%" height="25"><font color="#008080" face="Verdana" size="1"><b><input type="text" size="21"
name="telefone" value="<%=session("cad_telefone")%>"> </b></font></td>
</tr>
<tr>
<td width="18%" height="25"><font color="#008080" face="Verdana" size="1"><b>CIC/CGC</b></font></td>
<td width="82%" height="25"><font color="#008080" face="Verdana" size="1"><b><input type="text" size="21"
name="documento" value="<%=session("cad_documento")%>">*</b></font></td>
</tr>
</table>
<p style="word-spacing: 0; margin-top: 0; margin-bottom: 0"><font color="#008080" face="Verdana" size="1"><b> </b></font></p>
<p style="word-spacing: 0; margin-top: 0; margin-bottom: 0"><font face="Verdana" color="#008080" size="1">(*)
Indica que os campos são de preenchimento obrigatório </font>
</p>
<hr>
</form>
</td>
</tr>
</table>
<table border="0" width="662" bgcolor="#008080" cellspacing="0" cellpadding="0">
<tr>
<td width="333" bgcolor="#FFFFFF"><p align="center" ><font
color="#FFFFFF">
<input type="submit"
name="enviar" value="Confirma" style="font-family: Verdana; font-size: 8 pt"></font></p>
</td>
<td align="center" width="325" bgcolor="#FFFFFF">
<a href="http://macorati/loja/index.htm"><img border="0" src="IMAGENS/retorna.gif"></a>
</td>
</tr>
</table>
<script language="JavaScript">
<!--
// Coloca foco no primeiro campo do formulário
document.frm_cadastra.nome.focus();
// -->
</script>
</body>
</html>
<SCRIPT LANGUAGE="VBScript">
function chkEmail(endereco)
' verifica se o email é valido
' returna 1 para email invalido
' returna 0 para email valido
dim atCnt
chkEmail = true
' checa o comprimento da cadeia
if len(endereco) < 5 then
' a@b.c é o menor email que pode haver
chkEmail = false
' verifica o formato, deve haver pelo menos um caractere @
elseif instr(endereco,"@") = 0 then
chkEmail = false
' deve haver pelo menos um caractere "."
elseif instr(endereco,".") = 0 then
chkEmail = false
' Depois do ultimo "." nao pode haver mais que tres caracteres
elseif len(endereco) - instrrev(endereco,".") > 3 then
chkEmail = false
elseif instr(endereco,"_") <> 0 and _
instrrev(endereco,"_") > instrrev(endereco,"@") then
chkEmail = false
else
' ve se tem somente 1 @
atCnt = 0
for i = 1 to len(endereco)
if mid(endereco,i,1) = "@" then
atCnt = atCnt + 1
end if
next
if atCnt > 1 then
chkEmail = false
end if
' verifica a validade de cada caractere
for i = 1 to len(endereco)
if not isnumeric(mid(endereco,i,1)) and _
(lcase(mid(endereco,i,1)) < "a" or _
lcase(mid(endereco,i,1)) > "z") and _
mid(endereco,i,1) <> "_" and _
mid(endereco,i,1) <> "." and _
mid(endereco,i,1) <> "@" and _
mid(endereco,i,1) <> "-" then
chkEmail = false
end if
next
end if
end function
</SCRIPT> |
Vejamos o código deste arquivo explicado:
- Ao ser iniciado o formulário , usamos uma procedure em
JavaScript para por o foco no campo nome:
<script language="JavaScript">
<!--
// Coloca foco no primeiro campo do
formulário
document.frm_cadastra.nome.focus();
// -->
</script>
|
- Verificamos se é um novo cadastramento (Request.QueryString("Tipo"))
e , em caso positivo , iniciamos as variáveis de sessão referentes aos
dados do usuário com valores em branco (""). Lembre-se que as
variáveis de sessão irão durar enquanto a sessão do usuário estiver
ativa.
'Verifica se é novo cadastro
if ( Ucase(Request.QueryString("Tipo")) = "NOVO" ) Then
Session("Cad_Erro") = 0
Session("cad_nome") = ""
Session("cad_email") = ""
Session("cad_endereco")= ""
Session("cad_bairro") = ""
Session("cad_estado")= ""
Session("cad_cidade") = ""
Session("cad_cep") = ""
Session("cad_telefone") = ""
Session("cad_documento")= ""
End If |
- Inserimos o arquivo ADOVBS.INC usando a
diretiva #include file, pois vamos utilizar a as constantes da ActiveX
Data Object (ADO) nos scripts para acessar o banco de dados e
tratar as informações.
<!-- #Include file="ADOVBS.INC" -->
- A funcão Verifica_Dados
faz a critica dos dados inseridos pelo usuário no formulário . A
função Verifica_dados chama a função JavaScript - EmBranco(form.parâmetro)
passando como parâmetro o nome associado a caixa de texto correspondente
ao campo que o usuário entrou com os dados. A função EmBranco é
chamada e retorna True(Verdadeiro) ou False(Falso) para a função
Verifica_Dados.
<script language="JavaScript"> <!--
function verifica_dados(form) {
if(EmBranco(form.nome) == true) {
alert("Por favor informe o seu nome.");
form.nome.focus();
return false;
}
if(EmBranco(form.email) == true) {
alert("Por favor informe o seu email.");
form.email.focus();
return false;
}
if(EmBranco(form.email) == false) {
if (chkemail(form.email) == false ) {
alert("O seu e-mail apresenta um formato inválido.");
form.email.focus();
return false;
}
}
if(EmBranco(form.senha1) == true) {
alert("Informe a sua senha.");
form.senha1.focus();
return false;
}
if(EmBranco(form.senha2) == true) {
alert("Por favor , confirme a sua senha.");
form.senha2.focus();
return false;
}
// Verifica se senha1 = senha2
if ( form.senha1.value != form.senha2.value ) {
alert("As senhas informadas nao conferem");
form.senha1.value = ""
form.senha2.value = ""
form.senha1.focus();
return false;
}
if(EmBranco(form.endereco) == true) {
alert("Informe o seu endereco.");
form.endereco.focus();
return false;
}
if(EmBranco(form.cidade) == true) {
alert("Informe o nome da cidade.");
form.cidade.focus();
return false;
}
if(EmBranco(form.cep) == true) {
alert("Informe o CEP, por favor.");
form.cep.focus();
return false;
}
if(EmBranco(form.estado) == true) {
alert("Informe o estado.");
form.estado.focus();
return false;
}
if(EmBranco(form.telefone) == true) {
alert("Informe um telefone para contato.");
form.telefone.focus();
return false;
}
if(EmBranco(form.documento) == true) {
alert("Informe o seu CIC ou CGC");
form.documento.focus();
return false;
}
} // fim da função
// Verifica se os campos foram preenchidos
function EmBranco(campo) {
if(campo.value == "")
return true;
else
return false;
}
--></script> |
O script com o código que inicia o
formulário é o seguinte:
<form action="cadastrar.asp" method="POST" name="frm_cadastra" onsubmit="return verifica_dados(this);">
Nele temos:
- action="cadastrar.asp"
- Ao clicar no
botão de envio , a página cadastrar.asp será chamada e irá verificar
se o e-mail e a senha informadas no formulário estão cadastrados.
- method="POST" -
O
método usado para enviar as informações . Usamos o método
POST.
- name="frm_cadastra" -
O
nome do formulário para o cadastro.
- onsubmit="return verifica_dados(this); -
Chama
a função verifica_dados(this)
, passando o formulário como parâmetro ( this ) , quando o botão Confirma
for clicado.
Os campos do formulário
são construídos usando a instrução:
<input type="tipo
do elemento" name="nome do elemento" value="valor
atribuido ao elemento>
Assim para as caixas de texto usamos:
<input type="text" size="51" name="nome"
value="<%=session("cad_nome")%>">
onde :
- type="text"
- definem as caixas de texto
- name="nome"
- o nome da caixa de texto é nome
- value="<%=session("cad_nome")%>
- atribuímos a caixa de texto o valor da varíavel de sessão cad_nome
. Quando for um novo cadastramento esta variável estará vazia.
Para todas as caixas de
texto a instrução é idêntica variando apenas o nome da caixa de
texto e o valor atribúido á mesma.
A caixa para receber a
senha do usuário tem a seguinte declaração:
<input type="password" size="16" name="senha2">
onde:
- input type="password" -
define a caixa como uma caixa de senha não permitindo a visualização
dos dados durante a digitação
Checando se o e-mail é
válido
A função - function chkEmail(endereco)
- foi escrita em VBScript , o que mostra que podemos usar em um mesmo
arquivo tanto JavaScritp como VBScript, basta identificarmos o script usando
a declaração <script language="linguagem de script usada">
.
Esta função recebe o endereço de e-mail
informado e verifica através de alguns procedimentos básicos se o e-mail
é valido ou não.
Parte Anterior
Próxima parte
Gostou ?
Compartilhe no Facebook
Compartilhe no Twitter
Referências:
José Carlos Macoratti