Ir para conteúdo

POWERED BY:

Arquivado

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

Marcelo Pescador

[Resolvido] Utilizando if para valor nulo

Recommended Posts

Boa tarde galera, eu tenho o seguinte código:

 

<%
contratante 	= Request.Form("contratante")
email 			= Request.Form("email")
ddd_telefone 	= Request.Form("ddd_telefone")
telefone 		= Request.Form("telefone")
ddd_celular 	= Request.Form("ddd_celular")
celular 		= Request.Form("celular")
cpf		 		= Request.Form("cpf")
rg		 		= Request.Form("rg")
cidade 			= Request.Form("cidade")
uf 				= Request.Form("uf")
endereco		= Request.Form("endereco")
complemento		= Request.Form("complemento")
data 			= Request.Form("data")
local_cerimonia = Request.Form("local_cerimonia")
hora_cerimonia 	= Request.Form("hora_cerimonia")
end_cerimonia 	= Request.Form("end_cerimonia")
local_evento 	= Request.Form("local_evento")
hora_evento 	= Request.Form("hora_evento")
end_evento 		= Request.Form("end_evento")
vencimentos		=request.Form("vencimentos")

Set objCDOSYSMail = Server.CreateObject("CDO.Message") ''linha nova inserida por mim
Set objCDOSYSCon = Server.CreateObject ("CDO.Configuration")''linha nova inserida por mim
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost" ''linha nova inserida por mim
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport")= 25''linha nova inserida por mim
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 ''linha nova inserida por mim
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30''linha nova inserida por mim
objCDOSYSCon.Fields.update ''linha nova inserida por mim
Set objCDOSYSMail.Configuration = objCDOSYSCon ''linha nova inserida por mim

objCDOSYSMail.From = "cadastro@arterz.com.br"
objCDOSYSMail.To = "cadastro@arterz.com.br" 
''objCDO.From = "postmaster@arterz.com.br"
objCDOSYSMail.Subject = "Cadastro de " & contratante & " para o dia " &data

objCDOSYSMail.HtmlBody = "Nome: "&contratante&"<br> E-mail: "&email&"<br> Telefone: "&ddd_telefone&" - "&telefone&"<br> Celular: "&ddd_celular&" - "&celular&"<br><br>Local do Evento: "&local_evento&"<br>Cidade/UF: "&cidade&"/"&uf&"<br>Data: "&data&" <br>Hora: "&hora_evento&"  hs <br><br>Forma de Pgto.: "&vencimentos

objCDOSYSMail.Send
Set objCDOSYSMail = Nothing
Set objCDOSYSCon = Nothing 
%>

 

Gostaria que um campo que não está nesse código já viesse preenchido, tipo;

 

status = Request.Form("status")

 

Gostaria que fosse inserido no banco o valor 'F', sem que o cliente coloca-se que fosse inserido automaticamente algo do tipo 'If' status for =0 else inserir o valor 'F', como faço isso ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não inseriu o valor "F" na tabela !!

 

tinha postado o código para enviar por e-mail, segue o código para inserir no banco:

 

<%
if Request.Form("status") = 0 then
status = "F"
end if

contratante 	= Request.Form("contratante")
email 			= Request.Form("email")
ddd_telefone 	= Request.Form("ddd_telefone")
telefone 		= Request.Form("telefone")
ddd_celular 	= Request.Form("ddd_celular")
celular 		= Request.Form("celular")
cpf		 		= Request.Form("cpf")
rg		 		= Request.Form("rg")
cidade 			= Request.Form("cidade")
uf 				= Request.Form("uf")
endereco		= Request.Form("endereco")
complemento		= Request.Form("complemento")
data 			= Request.Form("data")
local_cerimonia = Request.Form("local_cerimonia")
hora_cerimonia 	= Request.Form("hora_cerimonia")
end_cerimonia 	= Request.Form("end_cerimonia")
local_evento 	= Request.Form("local_evento")
hora_evento 	= Request.Form("hora_evento")
end_evento 		= Request.Form("end_evento")
vencimentos		=request.Form("vencimentos")

strsql2=" insert into contratos( contratante,email,ddd_telefone,telefone,ddd_celular,celular,cpf,rg,cidade,uf,endereco,complemento,data,local_cerimonia,hora_cerimonia,end_cerimonia,local_evento,hora_evento,end_evento,vencimentos ) values ('" & contratante & "','" & email & "','" & ddd_telefone & "','" & telefone & "','" & ddd_celular & "','" & celular & "','" & cpf & "','" & rg & "','" & cidade & "','" & uf & "','" & endereco & "','" & complemento & "','" & data & "','" & local_cerimonia & "','" & hora_cerimonia & "','" & end_cerimonia & "','" & local_evento & "','" & hora_evento & "','" & end_evento & "','" & vencimentos & "')"
set rs2=Conn.execute(strsql2)
%>

 

Já inserir sua linha lá em cima, está certo ?

 

Ele não trouxe o valor inserido mesmo assim !!

Compartilhar este post


Link para o post
Compartilhar em outros sites

poste seu HTML (a página que envia as informações para o asp) para podermos ver ...

 

 

E cara, uma dica, da uma procurada sobre sql injection aí, eu sei que não tem nada a ver com esse tópico mas salva esse código seu aí.. loucura enfiar os dados retornados de um form direto no banco..

 

Dá uma tratada antes...

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nesta linha:

strsql2=" insert into contratos( contratante,email,ddd_telefone,telefone,ddd_celular,celular,cpf,rg,cidade,uf,endereco,complemento,data,local_cerimonia,hora_cerimonia,end_cerimonia,local_evento,hora_evento,end_evento,vencimentos ) values ('" & contratante & "','" & email & "','" & ddd_telefone & "','" & telefone & "','" & ddd_celular & "','" & celular & "','" & cpf & "','" & rg & "','" & cidade & "','" & uf & "','" & endereco & "','" & complemento & "','" & data & "','" & local_cerimonia & "','" & hora_cerimonia & "','" & end_cerimonia & "','" & local_evento & "','" & hora_evento & "','" & end_evento & "','" & vencimentos & "')"
set rs2=Conn.execute(strsql2)%>

 

Não achei o status.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não achou ai pq não tem mesmo, esse campo status só tem no banco, isso que quero fazer a pessoa nnao vai preencher eu quero que ele já venha preenchido com o 'F'

 

Os campos que estão acima, são os campos que existem no formulário para a pessoa efetuar o cadastro. O que eu quero que alguns campos que não estão ai, como o 'status' já vai para o banco preenchido com a letra 'F'.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois então, se não informa isso no insert, o banco de dados não preenche isso automaticamente.

 

O insert terá as informações vindas do que o usuário informou e também das informações que o sistema deseja que o banco de dados contenha.

 

Coloque o status no insert e corra pro abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se não quiser colocar o campo no insert seta direto no banco um valor default, dai quando precisar mudar você muda na aplicação e atualiza o banco.

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, dessa maneira você tem o controle de todos os dados que precisa que fiquem armazenados no db.

seria:

strsql2=" insert into contratos( contratante, .... , status ) values ('" & contratante & "',....., '" & status & "')"
set rs2=Conn.execute(strsql2)

Compartilhar este post


Link para o post
Compartilhar em outros sites

seria só você passar este valor direto na string SQL, como mencionado acima, e para ver o que esta sendo passado dê um response.write na sua string SQL

 

SQL=" insert into contratos( contratante, .... , status ) values ('" & contratante & "',....., '" & status & "')"
response.write(SQL)
response.end()

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só alegria, funcionou certinho, eu posso fazer isso em mais campos ? Colocando esse código um em baixo do outro ?

 

if Request.Form("status") = 0 then
status = "F"
end if

 

if Request.Form("imagem") = 0 then
status = "noivos.jpg"
end if

 

etc...

Compartilhar este post


Link para o post
Compartilhar em outros sites

use o ElseIf

 

exemplo

 

<%
variavel = "2"

if variavel="1" then
response.write "Variável = 1"
elseif variavel="2" then
response.write "Variável = 2"
else
response.write "Variável diferente de 1 e 2"
end if
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Achei o erro, segue o código correto:

 

if Request.Form("status") = 0 then
status = "F"
end if

if Request.Form("imagem") = 0 then
imagem = "noivos.jpg"
end if

 

No 'if Request.Form("imagem") = 0 then

imagem'

 

O imagem após o then, ainda estava status, por isso não funcinou.

 

Resolvido, obrigado a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok amigo... beleza

+ 1 resolvido...

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.