Ir para conteúdo

POWERED BY:

Arquivado

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

Didiron

[Resolvido] Problema ao apagar mensagens por meio de checkbox

Recommended Posts

Boa tarde galera, eu tenho um sistema de contato, onde mostra todos os registros que o banco de dados possui, ao lado de cada registro possui um checkbox, no qual eu posso selecionar as mensagens que eu quero excluir, e as excluo, isso está funcionando legal.

 

O problema vem agora, pois quando eu seleciono um registro, automaticamente ele vai para a página de excluir ele, só que o pior de tudo ele não apaga, ele diz que foi excluido com sucesso mas não apaga, lembrando que isso só acontece quando eu seleciono algum resgistro e não faço nada com ele, pois quando eu seleciono o registro que eu quero excluir, e aperto o botão "Excluir Selecionados", ele exclui sem problema algum, o problema é quando eu seleciono algum item e não faço nada com ele, deixo apenas selecionado, como eu expliquei acima.

 

Vou postar o código das duas páginas.

 

Página Visualizarcontatos.asp

<%@LANGUAGE="VBSCRIPT"%>
<%If not Session("logado") = true then
Response.Redirect("restrito.asp")
Response.End
End if
%>
<!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>.: Techno Smart - Manutenção Indústrial :.</title>
<link href="../estilos.css" type="text/css" rel="stylesheet">
<style type="text/css">
.style4 {
	color: #FFFFFF;
	font-size: 14px;
	letter-spacing:1px;
}
.texto{font-size: 14px}
</style>
</head>

<body>

<div id="div-geral"><!--Começo da div geral-->
<div id="topo"><!--Começo da div topo-->
     
      <div id="div-menu"><!--Começo da div menu-->
           <ul>
             <li><a href="administrativo.asp?pg=principal">HOME</a></li>
             <li><a href="administrativo.asp?pg=fotos">FOTOS</a></li>
             <li><a href="visualizarcontato.asp">CONTATO</a></li>
             <li><a href="administrativo.asp?pg=respostasblog">SUPORTE</a></li>
             <li><a href="administrativo.asp?pg=sair">SAIR</a></li>
           </ul>
      </div><!--Fim da div menu-->
    </div>
<!--Fim da div Topo-->

<div id="conteudo"><!--Começo da div conteudo-->
   <div align="center">



<h3>Entraram em contato conosco:</h3>
<br />

<div id="contato">
<img src="../imgs/gradientcontato.jpg" />
</div>
  <% 
'Efetuando a conexão com a base de dados criada -----------------------
Set Conn = Server.CreateObject("AdoDb.Connection") 
Conn.provider="Microsoft.Jet.OLEDB.4.0" 
Conn.connectionstring=Server.Mappath("banco.mdb") 
Conn.open 
'--------------------------------------------------------------------------

'Vamos criar o objeto Record Set -> neste caso é necessário declará-lo,
'pois vamos utilizar algumas funções deste objeto 
Set RS = Server.CreateObject("adodb.recordset")

RS.PageSize = 3 'quantidade de registros por página. Você pode alterar sem conforme precise.

'Vamos fazer a busca na tabela contatos
SQL = "SELECT * FROM Contato order by codigo desc" 
RS.Open SQL,Conn,3,3

'Vamos agora verificar exceções do tipo “fim de arquivo” (EOF), se a página atual é menor 
'que zero, se é maior que o número total de páginas, etc.
IF RS.EOF then 
   Response.Write "nenhum registro encontrado"
   Response.End 'paramos o programa
ELSE
   'Definindo em qual pagina o visitante está
   IF Request.QueryString("pagina")="" then 
      intpagina=1 
   ELSE
      IF cint(Request.QueryString("pagina"))<1 then
         intpagina=1 
      ELSE
         IF cint(Request.QueryString("pagina"))> RS.PageCount then 
            intpagina=RS.PageCount 
         ELSE
            intpagina=Request.QueryString("pagina")
         END IF
      END IF
   END IF
END IF
'Fim das verificações de exceções

'Usamos a propriedade AbsolutePage para dizer ao RS que página ele esta 
RS.AbsolutePage=intpagina

' Inicia o contador que vai controlar os registros mostrados
intrec=0

%>
<form name="apagarregistro" method="post" action="apagarmensagem.asp">
<%
While intrec < RS.PageSize and not RS.EOF 
%>
<table width="758" border="1" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC">
<tr>
<td width="215"><div align="center" class="texto">
<%=RS("Nome")%>
</div></td>
<td width="427" align="center" valign="top">
  <div align="center"><a href="viewcontato.asp?codigo=<%=RS("codigo")%>"><%=RS("Assunto")%></a></div></td>

<td width="108" align="center" valign="top"><a href="apagarmensagem.asp?codigo=<%=RS("codigo")%>">
  <input type="checkbox" value="<%=RS("codigo")%>" name="itens" />
</a></td>
</tr>
  </table>
    
<%   RS.MoveNext %>


<%
   ' Acrescenta +1 ao contador
   intrec=intrec+1 
   'Se for EOF (fim de arquivo), imprimir branco na tela
   IF RS.EOF then 
      response.write " " 
   END IF
Wend 'fim do loop
response.Write("<br />")
'Vamos verificar se não é a página 1, para podermos colocar o link “anterior”. 
IF intpagina > 1 then 
%> 



 
  <p>  
  <p>  
  <p><a href="visualizarcontato.asp?pagina=<%=intpagina-1%>">Anterior  </a> 
    <% 
END IF

'Se não estivermos no último registro contado, então é mostrado o link p/ a próxima página 
IF strcomp(intpagina,RS.PageCount) <> 0 then 
%>
    <a href="visualizarcontato.asp?pagina=<%=intpagina + 1%>">  Próxima</a> 
    <% 
END IF
%>


  <p> </p>








    </div>
    <div align="center">
      <input type="submit" name="button" id="button" value="Excluir Selecionados" />
    </div>
</form>
		     
</div><!--Fim da div conteudo-->

<div id="rodape"><!--Começo da div rodape-->

<img src="../imgs/bg-rodape.jpg" border="0" usemap="#Map">
<map name="Map" id="Map"><area shape="rect" coords="629,39,768,69" href="administrativo.asp?pagina=" />
</map>

</div><!--Fim da div rodape-->

</div><!--Fim da div geral-->
</body>

</html>

 

página apagarmensagens.asp

 

<%@LANGUAGE="VBSCRIPT"%>
<%

set con = Server.CreateObject("ADODB.Connection")
con.open "driver={microsoft access driver (*.mdb)}; DBQ=" & Server.MapPath("banco.mdb")


	Dim itens
	itens = Request("itens")
	
	
	if itens <> "" then
		SQL = "DELETE FROM contato WHERE codigo in (" & itens & ")"
		con.execute SQL
	end if

response.Redirect("administrativo.asp?pg=apagadosucesso")
%>

 

 

Alguém sabe o que pode estar acontecendo?

Abraços a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique se não esta disparando algum evento ao selecionar, tipo um onclick, onmouseover....

Compartilhar este post


Link para o post
Compartilhar em outros sites

veja no link, para o check

Compartilhar este post


Link para o post
Compartilhar em outros sites

Am entendi..

Eu testei lá no checkbox, vários eventos: onmouseover,onclick,etc..

E nenhum funcionou, eu colocava mais o menos assim:

 

<input type="checkbox" value="<%=RS("codigo")%>" name="itens" onclick="none"/>

Nunca funcionava, u não sei se eu poso colocar como none, só que não me vio outra coisa na cabeça.

E continua dando o mesmo problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

como assim seleciona um registro e não faz nada com ele?

 

poderia explicar melhor

 

uma hora diz que exclui direito e depois não exclui

Compartilhar este post


Link para o post
Compartilhar em outros sites

É isso mesmo Mário, quando eu apenas seleciono um checkbox, ele vai direto para a página, de sucesso, dizendo que a mensagem foi excluida com sucesso. Mas eu quero selecionar vários checkbox, e quando eu apertar o botao input "Apagar selecionados", ai sim ele apague os que eu selecionei.Pois quando eu apenas seleciono um checkbox, ele já vai direto para a página dizendo que ele foi apagado, só que acontece que ele nem é apagado, apenas diz mas não é. Ele apaga os dados, quando eu aperto "Apagar selecionados".

O que acontece é que quando eu seleciono um checkbox, le vai sozinho para uma página, eu queria era resolver isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ao clicar ele já redireciona e é isso que você não quer que faça?

 

qual evento esta relacionado a este clique que possa estar criando este erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então ele nao tem nenhum evento especifico, o que eu tenho é action do formulário, que está indo para a página apagarmensagem.asp, entãole está redirecionando para esta página. Como voce pode ver no código que eu postei acima.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então pessoal, eu consegui resolver o problema, era uma coisa muito simples, pois antes de eu usar um checkbox, eu usava um link, e uma parte desse link ficou no código, junto com o checkbox, o que acaba ocasionando o link automatico, eu até tnho o código aqui para voces verem o erro, só foi tirar o link que o problema foi resolvido. Obrigado a todos que ajudram, desculpem incomodar. o Tópico está resolvido.

 

<td width="108" align="center" valign="top"><a href="apagarmensagem.asp?codigo=<%=RS("codigo")%>">
  <input type="checkbox" value="<%=RS("codigo")%>" name="itens" />
</a></td>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que bom que resolveu pois estava meio confuso o comportamento do sistema

 

Parabéns

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.