Ir para conteúdo

POWERED BY:

Arquivado

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

gamefe

com gerador aleatorio e inserção no BD

Recommended Posts

Pessoal peguei um sistema de helpdesk, mudei já algumas coisas para que não precise ser cadastrado para criar um chamado. Só que no sistema antigo os números do chamado eram sequenciais... 1,2,3... só que por segurança gostaria que agora fosse inserido com um código aleatório.

No BD o campo está como texto.

O problema está no site http://www.fmc.org.br/ticket/user/new.asp

 

Segue abaixo partes do código... se alguém puder me ajudar, ficaria muito grato.

Gabriel

 

Essa parte gera o código aleatorio:

 

<%

Dim chave, num

Function gera_rand(quantidade)

Dim Senha(34)

Senha(0) = "3"

Senha(1) = "9"

Senha(2) = "1"

Senha(3) = "7"

Senha(4) = "0"

Senha(5) = "6"

Senha(6) = "4"

Senha(7) = "8"

Senha(8) = "2"

Senha(9) = "5"

Senha(10) = "a"

Senha(11) = "b"

Senha(12) = "c"

Senha(13) = "d"

Senha(14) = "e"

Senha(15) = "f"

Senha(16) = "g"

Senha(17) = "h"

Senha(18) = "i"

Senha(19) = "j"

Senha(20) = "k"

Senha(21) = "l"

Senha(22) = "m"

Senha(23) = "n"

Senha(24) = "o"

Senha(25) = "p"

Senha(26) = "q"

Senha(27) = "r"

Senha(28) = "s"

Senha(29) = "t"

Senha(30) = "u"

Senha(31) = "v"

Senha(32) = "x"

Senha(33) = "z"

Senha(34) = "w"

 

Randomize

do while len(chave) < quantidade

num = Senha(Int(34 * Rnd ))

chave = chave + num

loop

gera_rand = Trim(chave)

end function

%>

 

Essa parte gera o código de 9 algarismos

 

' Get the information from the form fields

Dim uid, uemail, uphone, ulocation, category, department, title, description, entered_by, numerooooo

Dim kb

 

uid = Request.Form("uid")

numerooooo = gera_rand(9)

uemail = Request.Form("uemail")

uphone = Request.Form("uphone")

ulocation = Request.Form("ulocation")

 

Essa parte é onde pegaria o id que foi gerado, mas não está funcionando...

 

' Get the problem ID number then immediately update it

id = numerooooo (cnnDB, "problems")

 

' Clean up variables

uemail = Left(Trim(uemail),50)

uemail = Replace(uemail,"'","''")

uphone = Left(Trim(uphone),50)

uphone = Replace(uphone,"'","''")

ulocation = Left(Trim(ulocation),50)

ulocation = Replace(ulocation,"'","''")

title = Replace(title,"'","''")

description = Replace(description,"'","''")

 

' All data is present

' Write problem into database

Dim strProblemQry, rstProbInsert

strProblemQry = "INSERT INTO problems (id, uid, uemail, uphone, ulocation, entered_by, " & _

"category, department, title, description, priority, status, start_date, rep, time_spent, kb) " & _

"VALUES (" & id & ",'" & uid & "','" & uemail & "','" & uphone & "','" & _

ulocation & "'," & entered_by & "," & category & "," & department & ",'" & title & "','" & _

description & "'," & priority & "," & status & "," & start_date & "," & rep & "," & time_spent & _

"," & kb & ")"

 

 

O erro que está dando é:

 

Microsoft VBScript runtime error '800a000d'

 

Type mismatch

 

/ticket/user/postnew.asp, line 138

Compartilhar este post


Link para o post
Compartilhar em outros sites

por que por segurança ???????eu uso codigos sequencias e naum há problema algum !a oq você se refere exatamente ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como não vai ser necessário cadastrar o usuário, não tem como eu proteger determinado número para determinado usuário. Imagine que você postou um problema e já tem o link do chamado, ele termina com 4 (que é o id do seu problema)Imagina se você colocar o número 6 você vai ver a resposta para o problema de outra pessoa... com os números aleatórios, seria muito mais dificil achar algum chamado de outra pessoa.... por isso...Se você tiver alguma outra idéia me passe... pq só pensei nisso mesmo..Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

um sistema de chamado sem usuario ???? mas como você vai identificar se eh seu cliente ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A pessoa posta uma dúvida, quando ela posta, ela recebe um número, que seria o número aleatorio, que funcionaria como uma senha para ver determinado chamado entende?Seria um sistema de tickets... por isso gostaria que o número fosse aleatório...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha, criei o seguinte:cade = aleatorio(16)Porque trabalhar com a variavel é mais fácil...Então em uma das linhas do código, onde pega o id e cadastra no bd, eu fiz o seguinte... só coloquei o cade antes dos ( )id = cade (cnnDB, "problems")Está dando erro ai... tem como você me ajudar?Valeu...

Compartilhar este post


Link para o post
Compartilhar em outros sites

certo, você jah usou esta funcao antes ??? você esta passando 2 parametros, oq contem nesta variabel cnnVB e esta passando a String "problems", este erro eh tipo incompativel, você esta colocando variaveis onde naum deviam...faça testes

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.