Ir para conteúdo

POWERED BY:

Arquivado

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

razs

[Resolvido] log de actividades

Recommended Posts

Viva, alguem me da uma ideia de como criar um sistema de log de actividades dos utilizadores?

 

Eu queria qualquer coisa assim

 

time            user   event       event_data
2008-08-07      mary   delete user  username: roger
2008-08-06      jane   create order order #: A63545
2008-08-06      mike   create order order #: A21546  
2008-08-06      mike   login        IP: 192.168.0.1

 

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certa vez fiz isso, é relativamente simples, basta pegar os valores que deseja e inseri-los no banco de dados.

Segue abaixo um codigo como exemplo:

 

sqlo = "insert into monit (userid,status,data,hora) Values('"&Session("userid")&"','inicio','"&date&"','"&time&"')"
Set rsl = conn.Execute(sqlo)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim mas a minha ideia era criar um include e sempre que alguem fazia alguma coisa ele enviava para um txt os dados.

 

Talvez defenindo tudo o que quero conforme a pagina em que estou com sub e depois chamar a sub em cada pagina

 

Fiz isto, mas nao sei, nao gosto muito, acham que esta é a melhor maneira?

 

 

ip=Request.ServerVariables("REMOTE_ADDR") 

if acao= "delete_user" then
var_user = request.form("username")
var_data = ""

elseif acao="delete_data" then
var_user = request.form("ficheiro")
var_data = ""

elseif acao="delete_study" then
var_user = request.form("study")
var_data = ""

elseif acao="delete_centro" then
var_user = request.form("centro")
var_data = ""

elseif acao="delete_news" then
var_user = request.form("titulo")
var_data = ""

elseif acao="criou_user" then
var_user = request.form("username")
var_data = ""

elseif acao="criou_study" then
var_user = request.form("study")
var_data = ""

elseif acao="criou_centro" then
var_user = request.form("centro")
var_data = ""

elseif acao="criou_news" then
var_user = request.form("titulo")
var_data = ""

elseif acao="update_user" then
var_user = request.form("username")
var_data = ""

elseif acao="update_centro" then
var_user = request.form("centro")
var_data = ""

elseif acao="update_study" then
var_user = request.form("study")
var_data = ""

elseif acao="update_news" then
var_user = request.form("titulo")
var_data = ""

elseif acao="add_2_study" then
var_user = request.form("username")
var_data = request.form("study")



sqlo = "insert into log (user,evento,to_user,to_data,ip, data,hora) Values('"&Session("user")&"','"&acao&"','"&var_user&"','"&var_data&"',ip,'"&date&"','"&time&"')"
Set rsl = conn.Execute(sqlo)



%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá uma olhada neste code que coloquei no lab. de script,

Compartilhar este post


Link para o post
Compartilhar em outros sites

ja tinha visto, mas nao percebi muito bem como funcionava.

 

Uma coisa, na situação seguinte como devo fazer para ele activar a sub?

 

pensei em por o call no ficheiro delete.asp mas depois nao tenho a variavel para activar o if necessario

 

 

<a href="delete.asp?varcod=usr&id=<%= rs("id")%>" onclick="return confirm('Are you sure you wish to delete this?');">Delete User</a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz assim

 

<a href="delete.asp?varcod=stud&id=<%= rs("id")%>&acao=delete_study&var_user=<%=request.queryString("tbl1")%>" onclick="return confirm('Are you sure you wish to delete this?');">Delete Study</a>

 

 

Alguem percebe porque e que nao grava os campos evento, to_user e to_data???

 

 

sqlo = "insert into security (username,evento,to_user,to_data,ip,data,hora, tipo) Values('"&Session("user")&"','"&acao&"','"&var_user&"','"&var_data&"','"&Request.ServerVariables("REMOTE_ADDR")&"','"&date&"','"&time&"','2')"
Set rsl = conn.Execute(sqlo)

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá um response.write na sua string SQL para ver o que esta sendo passado

Compartilhar este post


Link para o post
Compartilhar em outros sites

esta a passar os campos vazios

 

nao sei porque, ele esta a dar os valores

sub log()

dim acao
dim var_user
dim var_data
ip=Request.ServerVariables("REMOTE_ADDR") 

if acao= "delete_user" or acao="delete_data" or acao="delete_study" or acao="delete_centro" or acao="delete_article"  then
var_user = request.querystring("var_user")
var_data = ""

elseif acao="criou_user" then
var_user = request.form("username")
var_data = ""

elseif acao="criou_study" then
var_user = request.form("study")
var_data = ""

elseif acao="criou_centro" then
var_user = request.form("centro")
var_data = ""

elseif acao="criou_article" then
var_user = request.form("titulo")
var_data = ""

elseif acao="update_user" then
var_user = request.form("username")
var_data = ""

elseif acao="update_centro" then
var_user = request.form("centro")
var_data = ""

elseif acao="update_study" then
var_user = request.form("study")
var_data = ""

elseif acao="update_news" then
var_user = request.form("titulo")
var_data = ""

elseif acao="add_2_study" then
var_user = request.form("username")
var_data = request.form("study")
end if

sqlo = "insert into security (username,evento,to_user,to_data,ip,data,hora, tipo) Values('"&Session("user")&"','"&acao&"','"&var_user&"','"&var_data&"','"&Request.ServerVariables("REMOTE_ADDR")&"','"&date&"','"&time&"','2')"
Set rsl = conn.Execute(sqlo)
response.write sqlo
end sub
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz umas alterações mas ja esta a funcionar tudo

 

<!--#include file="connect.asp"-->

<%
sub log()

dim acao
dim var_user
dim var_data
ip=Request.ServerVariables("REMOTE_ADDR") 

if acao="" then
if request.querystring("acao")="" then
acao = request.form("acao")
else
acao = request.querystring("acao")
end if
end if

if var_user="" then
if request.querystring("var_user")="" then
var_user = request.form("xpt")
else
var_user = request.querystring("var_user")
end if
end if

if var_data="" then
var_data=request.form("xpt101")
end if

sqlo = "insert into security (username,evento,to_user,to_data,ip,data,hora, tipo) Values('"&Session("user")&"','"&acao&"','"&var_user&"','"&var_data&"','"&ip&"','"&date&"','"&time&"','2')"
Set rsl = conn.Execute(sqlo)
response.write sqlo

end sub
%>

conseguem ver porque é que nao passa o valor do form na pagina para adicionar studys?

Isto devia estar a funcionar

var_user=request.form("nome_study")
acao="add_study"
call log()

 

Passa a acao mas nao passa a var_user

 

Ja encontrei o problema, ele devolve o primeiro response.write mas nao devolve o segundo.

Ou seja ele nao respeita o primeiro if senao nao alterava nada

 

response.write var_user


if var_user="" then
if request.querystring("var_user")="" then
var_user = request.form("xpt")
else
var_user = request.querystring("var_user")
end if
else	
end if


%>aaaaa<br>aaaaa<%
response.write var_user

Compartilhar este post


Link para o post
Compartilhar em outros sites

você esta recuperando o nome correto

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi porque disso:

if var_user="" then
       if request.querystring("var_user")="" then
       var_user = request.form("xpt")
       else
       var_user = request.querystring("var_user")
       end if
else    
end if

 

Você está pegando dados do formulário ou da url ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

depende, pode recuperar do form ou da querystring assim como pode estar logo defenido.

 

Neste caso eu é defenido na linha antes de chamar a sub juntamente com o var acao mas estranhamente ele escreve a var mas depois no if considera-a vazia

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente guardar o valor da var. numa sesseion e depois recupére-a

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa ideia, ainda para mais quando funcionou :)

 

obrigado

 

 

agora no ultimo ficheiro da-me erro

 

Microsoft VBScript runtime error '800a01a8'

Object required: 'UploadRequest.Item(...)'

/usercorc/upload_form_news2.asp, line 15 

 

Isto antes estava a funcionar e nao me parece que o facto de ter acrescentado a sub log que va interferir com isto

 

a linha é

titulo = UploadRequest.Item("titulo").Item("Value")

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique se esta recuperando algum valor ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, dei um response.write UploadRequest.Item("titulo").Item("Value") e ele devolveu o valor

 

ja esta a funcionar... nao percebo o que se passo, mas pronto ja funciona é o que interessa.

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.