Ir para conteúdo

POWERED BY:

Arquivado

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

Kguedes

Problemas com o If, Then, Else, End

Recommended Posts

Fala galera, fiz um formulário onde gostaria que quando o checkbox (no caso o checkbox "foto") estivesse marcado, redirecionasse para uma página, e quando não estivesse marcado para outra. Para isso criei outra página com o seguinte código:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%><!--#include file="../Connections/admin.asp" --><%Dim Recordset1Dim Recordset1_numRowsSet Recordset1 = Server.CreateObject("ADODB.Recordset")Recordset1.ActiveConnection = MM_admin_STRINGRecordset1.Source = "SELECT foto  FROM destaque"Recordset1.CursorType = 0Recordset1.CursorLocation = 2Recordset1.LockType = 1Recordset1.Open()Recordset1_numRows = 0%><% imagem=(Recordset1.Fields.Item("foto").Value)If imagem = -1 Then Response.Redirect("destaquefoto.asp") Else if imagem = 0 then Response.Redirect("destaquesem.asp") End if %><%Recordset1.Close()Set Recordset1 = Nothing%>

O problema é que esta página está redirecionando sempre para apenas uma das páginas aí listadas.

Como posso corrigir isso

 

Abraços,

Thiago Guedes

Compartilhar este post


Link para o post
Compartilhar em outros sites

Este campo foto do seu banco de dados é numérico?

Compartilhar este post


Link para o post
Compartilhar em outros sites

No codigo postado por você acima, esta resgatando dados do banco, e não de um formulário, gostaria de saber se o campo "foto" do seu banco é Numérico.pois no "If", você esta comparando dados numericos, o retorno seria de acordo com o que estivesse no banco de dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marcado o valor é 1(um) ou TRUE e desmarcado é 0(zero) ou FALSE.

Compartilhar este post


Link para o post
Compartilhar em outros sites

:bye: :assobiando:

 

Marcado o valor é 1(um) ou TRUE e desmarcado é 0(zero) ou FALSE.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<% imagem=(Recordset1.Fields.Item("foto").Value)If imagem = -1 Then Response.Redirect("destaquefoto.asp") Else if imagem = 0 then Response.Redirect("destaquesem.asp") End if %>
Essa linha do If aí está assim mesmo ? Se não me engano, você deve colocar os else e os end if pulando linha.

 

Exemplo (sem else)

If a = b then response.write "xxxxxxxx"

 

Exemplo (com else)

If a = b then

response.write "xxxxxxxx"

else

response.write "yyyyyyyy"

End If

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou mandar praticamente a programação inteira pq esse código de if não funciona de jeito nenhum.

 

esta é a programação do formulário que envia os dados:

<form id="form1" name="form1" method="POST" action="<%=MM_editAction%>">  <table width="226" border="1">	<tr>	  <td width="66">Título:</td>	  <td width="144"><label>		<input name="titulo" type="text" id="titulo" />	  </label></td>	</tr>	<tr>	  <td>Com foto: </td>	  <td><p>		<label>		<input name="foto" type="checkbox" id="foto" value="checkbox" />		</label>	  </p>	  	  <label></label></td>	</tr>	<tr>	  <td>Texto:</td>	  <td><input name="texto" type="text" id="texto" /></td>	</tr>	<tr>	  <td> </td>	  <td><label>		<input name="Enviar" type="submit" id="Enviar" value="Enviar" />	  </label></td>	</tr>  </table>  <input type="hidden" name="MM_insert" value="form1"></form>

Depois de enviar ele vai para esta página:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%><!--#include file="../Connections/admin.asp" --><%Dim Recordset1Dim Recordset1_numRowsSet Recordset1 = Server.CreateObject("ADODB.Recordset")Recordset1.ActiveConnection = MM_admin_STRINGRecordset1.Source = "SELECT foto  FROM destaque"Recordset1.CursorType = 0Recordset1.CursorLocation = 2Recordset1.LockType = 1Recordset1.Open()Recordset1_numRows = 0%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Untitled Document</title></head><body><% If (Recordset1.Fields.Item("foto").Value) = 1 Then Response.Redirect("destaquefoto.asp") Else Response.Redirect("destaquesem.asp") End if %></body></html><%Recordset1.Close()Set Recordset1 = Nothing%>

Vejam se meu raciocinio está certo, porque este código if parece não estar conseguindo reconhecer se o dado enviado é 1 ou 0.

 

Abraços,

Guedes

Compartilhar este post


Link para o post
Compartilhar em outros sites

Substitua esse trecho:

<%

If (Recordset1.Fields.Item("foto").Value) = 1 Then

Response.Redirect("destaquefoto.asp")

Else

Response.Redirect("destaquesem.asp")

End if

%>

Por esse:

<%
If Recordset1("foto") = true Then 'Substitui por True para testar
'Response.Redirect("destaquefoto.asp")
Response.Write "O campo ""foto"" está marcado!"
Else
'Response.Redirect("destaquesem.asp")
Response.Write "O campo ""foto"" não está marcado!"
End if
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tanto quando o checkbox está marcado, quanto ele desmarcado a resposta é que o "O campo ""foto"" não está marcado!"Também tentei usando 1 ao invés de true. Alguém sabe se é possível fazer um sistema assim? A idéia é que o formulário envie uma noticia e se ele contiver foto este script desviaria para uma outra pag. onde a foto seria carregada.Abraços.

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.