Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Patricia

Function

Recommended Posts

Oi pessoal, to tentando melhorar meus códigos utilizando funções, mas já to apanhando, peço que me ajudemtenho um form que é validado em javascript e envia pra própria url com "?act=4"tem um include de um arquivo só com código que tem um select case Request("act") e no Case "4" eu fiz assim.

If (validaFormCadastro()) and Int(Request.Form("ID")) = "0" then inserir()Function validaFormCadastro() 'aqui todo o formulário no servidor e apresenta a mensagem de erroEnd functionFunction inserir() 'aqui é inserido alguns dadosalterar()End functionFunction alterar() 'aqui é alterado os dados'apresenta mensagem de sucessoEnd function

o problema é que se eu coloco alguma info errada ele mostra a mensagem de erro direitinho, mas se ele faz todo o processo correto ao invés de aparecer a mensagem de sucesso ele volta pra validação, verifica que o cpf já existe em banco e dá a mensagem de erro, não entendo pq ele tá validando depois de cadastrar os dados

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tem nenhum Response.Redirect em uma de suas funções?

Compartilhar este post


Link para o post
Compartilhar em outros sites

nenhum redirect, aí vai o codigo

 

(desculpem por não estar aparecendo a indentação )

 

'=============================================================='=========== INSERÇÃO / ALTERAÇÃO DO CADASTRO  ======================='==============================================================Case "4"	dim view2_msg, ID	If Request.Form("ID") = "" then ID = 0	If Request.Form("ID") <> "" then ID = Request.Form("ID")	If (ID <> 0) and (ID <> CDbl(Session("idTEMMAIS"))) then ID = Session("idTEMMAIS") 	If (validaFormCadastro()) and Int(ID) = "0" then inserir()	'If (validaFormCadastro()) and Int(ID) <> "0" then alterar()		'=======================================================	'===================== VALIDA CADASTRO =====================	'=======================================================	Function validaFormCadastro()		'============ VALIDAÇÃO DOS DADOS NO SERVIDOR ==========		ano = Mid(Trim(Request.Form("datanasc")),7,4)		mes = Mid(Trim(Request.Form("datanasc")),4,2)		dia = Mid(Trim(Request.Form("datanasc")),1,2)				If Request.Form("nome") = "" then		 view2_msg = "Campo de NOME está em branco."		 validaFormCadastro = False		 Exit Function		End if		If Len(Trim(Request.Form("rg"))) < 9 then			view2_msg = "Campo de RG está incorreto."			validaFormCadastro = False			Exit Function		End if		If CalculaCPF(Trim(Request.Form("cpf"))) = False then			view2_msg = "CPF inválido."			validaFormCadastro = False			Exit Function		End if		If FncBinCheckMail(Trim(Request.Form("email"))) = False then			view2_msg = "E-mail inválido."			validaFormCadastro = False			Exit Function		End if		If Trim(Request.Form("senha")) = "" then			view2_msg = "Campo de SENHA está em branco."			validaFormCadastro = False			Exit Function		End if		If Trim(Request.Form("senha")) <> Trim(Request.Form("confirma")) then			view2_msg = "Campo de Senha está diferente da confirmação."			validaFormCadastro = False			Exit Function		End if		If Len(Trim(Request.Form("cep"))) <> 8 then			view2_msg = "Campo de CEP está incorreto."			validaFormCadastro = False			Exit Function		End if		If Len(ano) = 0 and Len(mes) = 0 and Len(dia) = 0 then			view2_msg = "Campo de DATA DE NASCIMENTO está em branco."			validaFormCadastro = False			Exit Function		End if		If Len(ano) <> 4 or Len(dia) <> 2 then			view2_msg = "Campo de DATA DE NASCIMENTO está incorreto."			validaFormCadastro = False			Exit Function		End if		If Instr("01,02,03,04,05,06,07,08,09,10,11,12",mes) = 0 then			view2_msg = "No campo DATA DE NASCIMENTO o MÊS está incorreto."			validaFormCadastro = False			Exit Function		End if		If Instr("01,03,05,07,08,10,12",mes) <> 0 then			If Instr("01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31",dia) = 0 then				view2_msg = "No campo DATA DE NASCIMENTO o DIA está incorreto."				validaFormCadastro = False				Exit Function			End if		elseif Instr("04,06,09,11",mes) <> 0 then			If Instr("01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30",dia) = 0 then				view2_msg = "No campo DATA DE NASCIMENTO o DIA está incorreto."				validaFormCadastro = False				Exit Function			End if		elseif mes = "02" then			If Instr("01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29",dia) = 0 then				view2_msg = "No campo DATA DE NASCIMENTO o DIA está incorreto."				validaFormCadastro = False				Exit Function			End if		End if				'============ VALIDAÇÃO DOS DADOS COM O BANCO =========		sql = "SELECT * FROM cadastro WHERE cpf = '"& Trim(Request.Form("cpf")) &"' "		If ID <> "0" and ID <> "" then sql = sql & "and id <> "& ID &""		Set ROW = oConn.Execute(sql)		If not ROW.eof then			view2_msg = "CPF já está cadastrado em nossa base de dados."			validaFormCadastro = False			Exit Function		End if			sql = "SELECT * FROM cadastro WHERE email = '"& Trim(Request.Form("email")) &"' "		If ID <> "0" and ID <> "" then sql = sql & "and id <> "& ID &""		Set ROW = oConn.Execute(sql)		If not ROW.eof then			view2_msg = "Email já está cadastrado em nossa base de dados."			validaFormCadastro = False			Exit Function		else			validaFormCadastro = True		End if			End Function		'=======================================================	'====================== NOVO CADASTRO =====================	'=======================================================	Function inserir()		parceiro = Trim(Request.Form("parceiro"))		If parceiro = "" then parceiro = "portal"		oConn.Execute("INSERT INTO cadastro (email, senha, data_cad,parceiro) VALUES ('" & LCase(Trim(Request.Form("email"))) & "', '" & Trim(Request.Form("senha")) & "', '" & Year(now) & right("00" & Month(now),2) & right("00" & Day(now),2) & "','"& parceiro &"')")		Set rs = oConn.execute("SELECT @@IDENTITY as codigo")		Session("idTEMMAIS") = rs("codigo")		alterar()	End Function		'=======================================================	'==================== ALTERA CADASTRO =====================	'=======================================================	Function alterar()		ID = Session("idTEMMAIS")		cidade = Trim(Request.Form("cidade")) 		If cidade = "*" then cidade = Trim(Replace(Request.Form("cidade1"),"'","") ) 		time_futebol = Trim(Request.Form("time_futebol")) 		If time_futebol = "*" then time_futebol = Trim(Replace(Request.Form("time_futebol1"),"'",""))		pais = Trim(Replace(Request.Form("pais"),"'",""))		If pais = "" then pais = "Brasil"				strSQL = "UPDATE cadastro SET "		strSQL = strSQL + "nome='" & Trim(replace(Request.Form("nome"),"'","")) & "', "		strSQL = strSQL + "email='" & Trim(replace(Request.Form("email"),"'","")) & "', "		strSQL = strSQL + "senha='" & Trim(Request.Form("senha")) & "', "		strSQL = strSQL + "rg='" & Trim(replace(Request.Form("rg"),"'","")) & "', "		strSQL = strSQL + "cpf='" & Trim(replace(Request.Form("cpf"),"'","")) & "', "		strSQL = strSQL + "tipolog='" & Trim(replace(Request.Form("tipolog"),"'","")) & "', "		strSQL = strSQL + "logradouro='" & Trim(replace(Request.Form("logradouro"),"'","")) & "', "		strSQL = strSQL + "numero='" & Trim(replace(Request.Form("numero"),"'","")) & "', "		strSQL = strSQL + "cep='" & Trim(replace(Request.Form("cep"),"'","")) & "', "		strSQL = strSQL + "bairro='" & UCase(Trim(Replace(Request.Form("bairro"),"'",""))) & "', "		strSQL = strSQL + "cidade='" & UCase(cidade) & "', "		strSQL = strSQL + "estado='" & Trim(replace(Request.Form("estado"),"'","")) & "', "		strSQL = strSQL + "pais='" & pais & "', "		strSQL = strSQL + "datanasc='" & Trim(mid(Request.Form("datanasc"),7,4)) & Trim(mid(Request.Form("datanasc"),4,2)) & Trim(mid(Request.Form("datanasc"),1,2)) & "', "		strSQL = strSQL + "sexo='" & Trim(replace(Request.Form("sexo"),"'","")) & "', "		strSQL = strSQL + "ddd='" & Trim(replace(Request.Form("telddd"),"'","")) & "', "		strSQL = strSQL + "telefone='" & Trim(replace(Request.Form("telefone"),"'","")) & "', "		strSQL = strSQL + "operadora='" & Trim(replace(Request.Form("operadora"),"'","")) & "', "		strSQL = strSQL + "escolaridade='" & Trim(replace(Request.Form("escolaridade"),"'","")) & "', "		strSQL = strSQL + "time_futebol='" & time_futebol & "', "		strSQL = strSQL + "estadocivil='" & Trim(replace(Request.Form("estadocivil"),"'","")) & "', "		strSQL = strSQL + "informativo='" & Trim(replace(Request.Form("informativo"),"'","")) & "', "		strSQL = strSQL + "data_update='" & year(now) & right("00" & month(now),2) & right("00" & day(now),2) & "' "		strSQL = strSQL + "WHERE id like '" & ID & "'"		oConn.Execute strSQL		view2_msg = "Cadastro Efetuado com Sucesso!<br>Ganhe prêmios participando de nossas promoções clicando aqui"		Exit Function	End function
;)

 

o código tá fazendo o seguinte percurso (pra inserir um registro):

 

validaFormCadastro()

inserir()

alterar()

validaFormCadastro()

ele tá validando duas vezes, aí da mensagem de erro, pois o cpf já está cadastrado

 

pra alterar ele faz o seguinte percurso

validaFormCadastro()

alterar()

aqui ele tá fazendo certinho

Compartilhar este post


Link para o post
Compartilhar em outros sites

Moça, tire as Functions de dentro de seu CASE, e só as chame lá.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.