Ir para conteúdo
Fórum Script Brasil
  • 0

Script De Deletar Usuario Com Falha


mestre fyoda

Pergunta

Gostaria de colocar nesse script um jeito do usuario não deletar o usuário Master

<%@ Language=VBScript%>
<% Option Explicit %>
<%
	Dim intSno,intDelid,conn,a
	intSno=Request("Delete")

	set conn=Server.CreateObject("ADODB.Connection")
	conn.Provider="Microsoft.Jet.OLEDB.4.0"
	conn.Open(Server.Mappath("banco.mdb"))

usuario = Request.Form("usuario")
SQL = "select * from usuarios where usuario = '"&usuario&"' "
Set RS = conexao.Execute(SQL)

	a=split(intSno,",")

	dim iLoop
	for iLoop=LBound(a) to UBound(a)
  intDelid=Trim(a(iLoop))
  
  
  conn.Execute "delete from usuarios where id=" & intDelid & ""
	next
  Response.Redirect "del_sucesso.asp" 


	conn.Close
	set conn=nothing

%>

Link para o comentário
Compartilhar em outros sites

  • Respostas 52
  • Created
  • Última resposta

Top Posters For This Question

Posts Recomendados

  • 0

--

delete from usuarios where id=" & intDelid & " and nivel ='"&nivel&"'"

--

adciona na sua tabela a coluna "nivel"e tipo dae pra master você coloca 2 e pra usuarios coloca 1

dae no documento você declara a variavel

nivel = 1

ou seja eles so poderam deltar pessoas do nivel 1...bom axo q isso resolve seu problema smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0

puts..

cara.. você não tem jeito, né?

não quer aprender?

Mas voltando ao assunto do tópico:

- Como você faz para saber qual é o "usuario Master"?

- Acho que não será mudando alguma coisa no DELETE que proibirá isso!

Dependendo de como você montou sua estrutura.. banco, codigo, etc.. Acho que terá que alterar algumas coisas..

Mas responda, como você diferencia um usuario normal de um master?

Link para o comentário
Compartilhar em outros sites

  • 0

então..

você faz o select, com o usuario selecionado.

depois faz um if:>

if nivel = 1 then

response.write "não é possivel excluir usuario master"

else

exclui.

end if

Link para o comentário
Compartilhar em outros sites

  • 0

Ae colega, se continuar pedindo pronto sempre vai depender dos outros, tente aprender ao invés de copiar. wink.gifwink.gif

<%@ Language=VBScript%>
<% Option Explicit %>
<%
Dim intSno,intDelid,conn,a
intSno=Request("Delete")

set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(Server.Mappath("banco.mdb"))

usuario = Request.Form("usuario")
SQL = "select * from usuarios where usuario = '"&usuario&"' and nivel <> '1'"
Set RS = conexao.Execute(SQL)
If not RS.EOF Then
%>
	<script>
  alert("Você não pode deletar usuario master. Este codigo eu peguei pronto não se pode fazer isso também.");
  window.location.href=("index.asp");
	</script>
<%
end if
a=split(intSno,",")

dim iLoop
for iLoop=LBound(a) to UBound(a)
 intDelid=Trim(a(iLoop))


 conn.Execute "delete from usuarios where id=" & intDelid & ""
next
 Response.Redirect "del_sucesso.asp" 


conn.Close
set conn=nothing

%>

Link para o comentário
Compartilhar em outros sites

  • 0

A escolha de novo Moderador, será terminada em breve!

Dúvidas sobre isso, veja as novas regras do fórum!

Estou no aguardo disso, vindo escolha da Administração!

MestreFyoda..

O código que o mario passou está correto, mas funcionará apenas se o campo que guarda valor 1 do usuario master for string (texto)

se for numero, dará erro!

Veja isso, e ate mais

Link para o comentário
Compartilhar em outros sites

  • 0
A escolha de novo Moderador, será terminada em breve!

Dúvidas sobre isso, veja as novas regras do fórum!

Estou no aguardo disso, vindo escolha da Administração!

MestreFyoda..

O código que o mario passou está correto, mas funcionará apenas se o campo que guarda valor 1 do usuario master for string (texto)

se for numero, dará erro!

Veja isso, e ate mais

DARK0, mas ele usou ASPAS, por isso que não da erro esse codigo, se não tivesse ia dar erro, mas tem!! wink.gif

[]'s

Victor

Link para o comentário
Compartilhar em outros sites

  • 0

não gosto disso, mas victor..

se o campo for numero, ou data, você não usa aspa na comparação, senao, gera erro de tipo de dado incompativel.

mestre fyoda, teste esses codigos.. tente entendê-los, pois, sem querer aprender, fica complicado tentar lhe ajudar..

Link para o comentário
Compartilhar em outros sites

  • 0
não gosto disso, mas victor..

se o campo for numero, ou data, você não usa aspa na comparação, senao, gera erro de tipo de dado incompativel.

mestre fyoda, teste esses codigos.. tente entendê-los, pois, sem querer aprender, fica complicado tentar lhe ajudar..

Mas o que o cara quer é uma string!! wink.gif

mestre fyoda, se você não ler o codigo, você nunca vai aprender, e também a vida enteira vai pedir escript pronto!!! wink.gif

[]'s

Victor

Link para o comentário
Compartilhar em outros sites

  • 0

mas..

se não aponta erro, o que acontece?

Não funciona? Dá pagina não exibida?

Manda link pra gente ver o que acontece..

Link para o comentário
Compartilhar em outros sites

  • 0

tente assim, ve se da certo, qualquer coise poste ai, ... dry.gif

<%@ Language=VBScript%>
<% Option Explicit %>
<%
Dim intSno,intDelid,conn,a
intSno=Request("Delete")

set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(Server.Mappath("banco.mdb"))

usuario = Request.Form("usuario")
SQL = "select * from usuarios where usuario = '"&usuario&"' and nivel <> 1"
Set RS = conexao.Execute(SQL)
If not RS.EOF Then
%>
<script>
 alert("Você não pode deletar usuario master. Este codigo eu peguei pronto não se pode fazer isso também.");
 window.location.href=("index.asp");
</script>
<%
end if
a=split(intSno,",")

dim iLoop
for iLoop=LBound(a) to UBound(a)
intDelid=Trim(a(iLoop))


conn.Execute "delete from usuarios where id=" & intDelid & ""
next
Response.Redirect "del_sucesso.asp" 


conn.Close
set conn=nothing

%>

atenciosamente...

Mariofdf

Link para o comentário
Compartilhar em outros sites

  • 0

quando você usa o comando:

<% Option Explicit %>

você DEVE declarar todas as variaveis

então, coloque no começo do codigo:

DIM usuario

pois o erro, é que não foi declarado a variavel.

ou tire aquela linha do option explicit

ate mais

Link para o comentário
Compartilhar em outros sites

  • 0

Microsoft VBScript runtime error '800a01a8'

Object required: 'conexao'

/teste123/sistema em asp/deleta.asp, line 13

<%@ Language=VBScript%>

<%

intSno=Request("Delete")

set conn=Server.CreateObject("ADODB.Connection")

conn.Provider="Microsoft.Jet.OLEDB.4.0"

conn.Open(Server.Mappath("banco.mdb"))

usuario = Request.Form("usuario")

SQL = "select * from usuarios where usuario = '"&usuario&"' and nivel <> 1 "

Set RS = conexao.Execute(SQL)

If not RS.EOF Then

%>

<script>

alert("Você não pode deletar usuario master. Este codigo eu peguei pronto não se pode fazer isso também.");

window.location.href=("index.asp");

</script>

<%

end if

a=split(intSno,",")

dim iLoop

for iLoop=LBound(a) to UBound(a)

intDelid=Trim(a(iLoop))

conn.Execute "delete from usuarios where id=" & intDelid & ""

next

Response.Redirect "del_sucesso.asp"

conn.Close

set conn=nothing

%>

Obrigado , mas agora esta dando esse erro .

Link para o comentário
Compartilhar em outros sites

  • 0

SQL = "select * from usuarios where usuario = '"&usuario&"' and nivel <> 1 "

Set RS = conn.Execute(SQL)

If not RS.EOF Then

Link para o comentário
Compartilhar em outros sites

  • 0

mas os erros de codigo, pelo menos pararam de aparecer, certo?

no seu banco, o campo que guarda o codigo do master, esta colocado como numero, ou texto?

Link para o comentário
Compartilhar em outros sites

  • 0

no bd esta como numero ......

me ajude com esse outro script ....

link .. http://ee.domaindlx.com/teste123/sistema%2...mudar_nivel.asp

codigo

<%@ Language=VBScript %><%OPTION EXPLICIT%>
<BODY>
<FORM action="mudar_nivel.asp" method="Post" name=Form><%
Dim conn,rs,intCounter,intMod,rcolor,SQL
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(Server.Mappath("banco.mdb"))
set rs = Server.CreateObject("ADODB.recordset")

SQL = "select * from usuarios"
RS.Open SQL,Conn,3,3
%>
<table width="434" border="1" cellpadding="0" cellspacing="0" height="43" style="border-collapse: collapse" bordercolor="#CCCCCC"><tr><th align="left" bgcolor=#DFE19D width="121" height="13" bordercolor="#FFFFFF" bordercolordark="#006699"> <b>Selecione</b><th align="left" bgcolor=#DFE19D width="118" height="13" bordercolor="#FFFFFF" bordercolordark="#006699"> <b><font size="2" face="arial"> Nome</font> </b><td align="left" bgcolor=#DFE19D width="129" height="13" bordercolor="#FFFFFF" bordercolordark="#006699"><p align="center"><b><font size="2" face="arial"> Login</font></b></td></tr><%intCounter=0%><%do until rs.EOF%><%intCounter=intCounter+1
intMod=intcounter mod 2
if intmod=0 then
rcolor = "#c0c0c0"
elseif intmod=1 then
rcolor = "#FFFFFF"
end if
%>
<tr><td align="left" bgcolor=<%=rcolor%> width="121" height="20"><p align="right"><font size="2" face="arial" color="BLACK">&nbsp;&nbsp;
<width=35%>Adiministrador<input type=CheckBox name=A value=<%=RS("nivel")%>><br>Moderador<input type=CheckBox name=M value=<%=RS("nivel")%>><br>Usuário<input type=CheckBox name=U value=<%=RS("nivel")%>><br></font> <td align="left" bgcolor=<%=rcolor%> width="78" height="20"> <font size="2" face="arial" color="BLACK"><%Response.Write (RS("nome"))%>&nbsp;</font><td align="center" bgcolor=<%=rcolor%> width="127" height="20"> <font size="2" face="arial" color="BLACK"><%Response.Write(RS("usuario"))%>&nbsp;</font><%rs.MoveNext%></font></tr><%loopSET rs=nothing
set conn=nothing
%>
<% If Request("A") = "on" ThenstrSQL = "UPDATE INTO usuarios (nivel) VALUES ('"&A&"')"
Set rsInsere = conexao.Execute(strSQL)
end if
%>

<% If Request("M") = "on" ThenstrSQL = "UPDATE INTO usuarios (nivel) VALUES ('"&M&"')"
Set rsInsere = conexao.Execute(strSQL)
end if
%>

<% If Request("U") = "on" ThenstrSQL = "UPDATE INTO usuarios (nivel) VALUES ('"&U&"')"
Set rsInsere = conexao.Execute(strSQL)
end if
%>
</table>
<input type="submit" value="Atualizar Nivel" name="B1">
</form>
</BODY>

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...