Usuário com melhor resposta
Duvida !

Pergunta
-
Boa tarde .
Galera tenho uma duvida !!
O que eu quero fazer e o seguinte quando o usuario digitar o endereço abaixo ele não pode entrar na tele e sim mandar ele para tela de login para 1º fazer o login e depois mandar ele novamante para a tela que ele escolheu!
Exemplo:
Quando ele digita este caminho o sistema deixa ele entrar direto na telasem fazer o login : http://beta/Chamado/funcionario1.asp
que fazer que ele digite o login em qualquer tela.
Olá Estavam ainda não consegui entender o que vc fez ?Porque está pagina teste3.asp?
Olha as mnhas paginas !
Esta pagina e o gravar senha !!
<%
Dim varlogin
Dim varsenha
Dim rs1
Dim comm
Dim contrs
Dim conexaovarlogin = request.form("text_login")
varsenha = request.form("text_senha")Set rs = Server.CreateObject("ADODB.Recordset")
caminho = "Provider=SQLOLEDB.1;Password=beta;Persist Security Info=True;User ID=sa;Initial Catalog=BRIEFING;Data Source=BETA;"
Set conexao = Server.CreateObject("ADODB.Connection")
conexao.Open caminho ' CONEXÃO.
' PARA VERIFICAR LOGIN !
stringsql = "SELECT LOGIN FROM FUNCIONARIO WHERE LOGIN = '"&varlogin&"'"set rs1 = conexao.execute (stringsql)
IF rs1.EOF THEN
Response.Redirect("erro.asp")
END IF
' PARA VERIFICAR SENHA !
stringsql1 = "SELECT SENHA FROM FUNCIONARIO WHERE SENHA = '"&varsenha&"'"
set rs2 = conexao.execute(stringsql1)
IF rs2.EOF THEN
Response.Redirect("erro1.asp")
ELSE
IF Session("adressurl") <> "" THEN
response.redirect(Session("adressurl"))
ELSE
response.Redirect("empresa1.asp")
END IF
END IF
%>Esta pagina e a login.asp!
<html>
<%
'
' DIM SENHA
'
' Session("SENHA") = "login.asp"
'
' IF session("SENHA")<>"" THEN
' RESPONSE.Redirect(SESSION("SENHA"))
' ELSE
' RESPONSE.Redirect("empresa1.asp")
' END IF%>
<head>
<title></title>
<meta http-equiv="Expires" content="0">
<style type="text/css">.campo {BACKGROUND: #f8f8f8;
COLOR: #265490;
BORDER-BOTTOM: #265490 1px solid;
BORDER-LEFT: #EFEFEF 1px solid;
BORDER-RIGHT: #265490 1px solid;
BORDER-TOP: #EFEFEF 1px solid;
FONT-SIZE: 10px;
width:168px;
height : 20;
}
.botao {BACKGROUND: #f8f8f8;
COLOR: #265490;
BORDER-BOTTOM: #265490 1px solid;
BORDER-LEFT: #EFEFEF 1px solid;
BORDER-RIGHT: #265490 1px solid;
BORDER-TOP: #EFEFEF 1px solid;
FONT-SIZE: 10px;
width:80px;
height : 20;
}
.style13 {
color: #265490;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
}
.style16 {color: #265490; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold; }
-->
</style>
</head>
<script language="javascript">
function valida(){Login.text_senha.focus(document.Login.text_senha.style.background ="");
Login.text_login.focus(document.Login.text_login.style.background ="");if (Login.text_login.value ==""){
alert('Por favor, preeencha o login!!');
Login.text_login.focus(document.Login.text_login.style.background ="#FFFFCC");
return false;}
if (Login.text_senha.value ==""){
alert('Por favor, preeencha o login!!');
Login.text_senha.focus(document.Login.text_senha.style.background ="#FFFFCC");
return false;}
document.Login.action="gravar.asp";
document.Login.submit();}
</script>
<body leftmargin="0" topmargin="0" rightmargin="0" bottommargin="0" marginwidth="0" marginheight="0" bgcolor="#F4F4F4" scroll=no><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="502" height="100" background="images/topo_01.jpg"><img src="images/chamado_2_01.jpg" width="502" height="99" /></td>
<td background="images/topo_01.jpg"> </td>
<td width="271"><img src="images/chamado_2_03.jpg" width="271" height="100" /></td>
</tr>
<tr>
<td height="1" colspan="3" bgcolor="#F8f8f8"></td>
</tr>
<tr>
<td height="" colspan="3" bgcolor="#F4F4F4">
<form action="gravar.asp" method="post" name="Login" id="Login" onSubmit=" return valida();">
<table border="0" cellspacing="2" cellpadding="2" align="center" width="">
<tr>
<td height="" colspan="2" align="center" valign="middle" bgcolor="#F8f8f8" class="style13">Tela de Login</td>
</tr>
<tr>
<td width="39" align="right" bgcolor="#F8f8f8" class="style16"><div align="right">Login:</div></td>
<td width="143" bgcolor="#F8f8f8">
<input name="text_login" type="text" class="campo" id="text_login" maxlength="8"/></tr>
<tr>
<td align="right" bgcolor="#F8f8f8" class="style16"><div align="right">Senha:</div></td>
<td bgcolor="#F8f8f8"><input name="text_senha" type="password" class="campo" id="text_senha" maxlength="6" /></td>
</tr>
<tr>
<td align="" bgcolor="#F8f8f8" class="style16"></td>
<td bgcolor="#F8f8f8">
<a href="BLOCKED SCRIPTvalida();"><input name="Login" type="submit" class="botao" id="Login1" value="Login"></a>
<input name="limpar" type="reset" class="botao" id="limpar" value="Limpar">
</td></tr>
</table>
<tr><td height="2" colspan="3" bgcolor="#F8f8f8"></td>
</tr>
</form>
</table>
</body>
</html>
Abraço.Emerson Sobral
Respostas
-
Tem que ficar assim, alterações em vermelho:
<%
Dim varlogin
Dim varsenha
Dim rs1
Dim comm
Dim contrs
Dim conexaovarlogin = request.form("text_login")
varsenha = request.form("text_senha")Set rs = Server.CreateObject("ADODB.Recordset")
caminho = "Provider=SQLOLEDB.1;Password=beta;Persist Security Info=True;User ID=sa;Initial Catalog=BRIEFING;Data Source=BETA;"
Set conexao = Server.CreateObject("ADODB.Connection")
conexao.Open caminho ' CONEXÃO.
' PARA VERIFICAR LOGIN !
stringsql = "SELECT LOGIN FROM FUNCIONARIO WHERE LOGIN = '"&varlogin&"'"set rs1 = conexao.execute (stringsql)
IF rs1.EOF THEN
Response.Redirect("erro.asp")
END IF
' PARA VERIFICAR SENHA !
stringsql1 = "SELECT SENHA FROM FUNCIONARIO WHERE SENHA = '"&varsenha&"'"
set rs2 = conexao.execute(stringsql1)
IF rs2.EOF THEN
Response.Redirect("erro1.asp")
ELSE
Session("senha") = varsenhaIF Session("adressurl") <> "" THEN
response.redirect(Session("adressurl"))
ELSE
response.Redirect("empresa1.asp")
END IF
END IF
%>AbraçosEstevam
Todas as Respostas
-
Emerson1) Não era necessário abrir um outro post, poderia ter continuado no que já estava aberto, para não haver duplicidade de posts, fica mais fácil para persquisarmos depois.2) Os códigos e arquivos que envio são de testes, por isso o nome "teste3.asp", se você tivesse criado os tres arquivos e jogado em diretório e testado talvez tivesse entendido como funciona, mas tudo bem.3) Vou tentar lhe explicar novamente.Nas páginas que voce NÃO quer que seja feito o acesso direto, como seu exemplo "funcionario1.asp", voce deve colocar o código abaixo:Excplicando código abaixo:Linha 2 : Declaração de váriaveisLinha 4 a Linha 8 : Vai pegar a página que esta tentando ser acessadaLinha 10 : Grava a página em um SessionLinha 11 : Verifica se houve login através de verificação da Session senha.Linha 12 : Se não houve o login redireciona para a página de login, no seu caso esta linha ficaria "/beta/login.asp" ou "/beta/cadastro/login.asp"Code Block1 - <%
2 - Dim urlcomp, tamurl, pagina, pos_barra3 -4 - urlcomp = request.ServerVariables("URL")
5 - tamurl = len(urlcomp) - 1
6 - urlcomp = right(urlcomp,tamurl - 1)
7 - pos_barra = InStr(urlcomp,"/") + 1
8 - pagina = mid(urlcomp,pos_barra,tamurl)9 -10 - Session("url") = pagina
11 - if IsNull(Session("senha")) Or Session("senha") = "" then
12 - Response.Redirect("/testes/login.asp")
13 - end if
14 - %>Supondo que o usuário tente acessar a página ele será redireciona para a página de login ok? Na página de login ele será obrigado a digitar um usuário e senha, na qual vai ser submetido para uma página que irá fazer a validação do seu usuário e senha ok? Nesta página que faz a "validação" de usuário e senha, se o usuário e senha for validado voce só tem que colocar um if a mais para verificar se a Session que guarda a url, esta vazia ou nao, se não estiver vazia então voce redireciona para a página em questão.Segue abaixo o EXEMPLO:Explicando códgoLinha 3 e 4: Recupera Usuário e senha do form de loginLinha 6 : Verifico se o usuario esta correto (no seu caso voce vai trocar pelo recordset que faz a verificação no banco)Linha 8 : Verifico se a senha esta correta (segue mesmo procedimento acima)Linha 10 : Se o usuário e senha estiverem corretos verifico a Session que guarda a url se ela NÃO estiver vazia redireciono ele para a pagina guardada na session.Linha 14 : Se o usuário e senha tiverem sido válidados e a Session que guarda a url estiver vazia redireciono para a página padrão após o login, ou seja, se o usuário entrou direto na pagina de login, então a session url vai estar vazia e voce terá que redireciona-lo para a pagina padrão.Code Block1 - <%2 -3 - Session("usuario") = Request.Form("usuario")
4 - Session("senha") = Request.Form("senha")5 -6 - if Session("usuario") <> "lestevam" then
7 - Response.Redirect ("login.asp")
8 - elseif Session("senha") <> "123" then
9 - Response.redirect ("\login.asp")
10 - elseif Session("url") <> "" then
11 - Response.Redirect (Session("url"))12 - Session("url") = ""
13 - else
14 - Response.Redirect ("teste4.asp")
15 - end if16 -17 - %>Espero que agora consiga entender, faça alguns testes se não conseguir poste novamente.AbraçosEstevam -
Estevam não entendi este if ..
Você pode me explicar !
olha o codigo da minha tela gravar onde eu faço a comparação de senha !!
<%
Dim varlogin
Dim varsenha
Dim rs1
Dim comm
Dim contrs
Dim conexaovarlogin = request.form("text_login")
varsenha = request.form("text_senha")Set rs = Server.CreateObject("ADODB.Recordset")
caminho = "Provider=SQLOLEDB.1;Password=beta;Persist Security Info=True;User ID=sa;Initial Catalog=BRIEFING;Data Source=BETA;"
Set conexao = Server.CreateObject("ADODB.Connection")
conexao.Open caminho ' CONEXÃO.
' PARA VERIFICAR LOGIN !
stringsql = "SELECT LOGIN FROM FUNCIONARIO WHERE LOGIN = '"&varlogin&"'"set rs1 = conexao.execute (stringsql)
IF rs1.EOF THEN
Response.Redirect("erro.asp")
END IF
' PARA VERIFICAR SENHA !
stringsql1 = "SELECT SENHA FROM FUNCIONARIO WHERE SENHA = '"&varsenha&"'"
set rs2 = conexao.execute(stringsql1)
IF rs2.EOF THEN
Response.Redirect("erro1.asp")
ELSE
IF Session("adressurl") <> "" THEN
response.redirect(Session("adressurl"))
ELSE
response.Redirect("empresa1.asp")
END IF
END IF
%>
Tenho que colocar o 2º cod q vc me passou aqui ?
-
-
Então o que fiz foi assim :
1º na minha pagina de conexão.asp eu fiz isso uma session :
Session("adressurl") = Cstr(Request.ServerVariables("Path_info")&"?"&Request.ServerVariables("QUERY_STRING"))
onde levo ela para a minha pagina de gravar.asp olha o codigo abaixo:
conexao.Open caminho ' CONEXÃO.
' PARA VERIFICAR LOGIN !
stringsql = "SELECT LOGIN FROM FUNCIONARIO WHERE LOGIN = '"&varlogin&"'"set rs1 = conexao.execute (stringsql)
IF rs1.EOF THEN
Response.Redirect("erro.asp")
END IF
' PARA VERIFICAR SENHA !
stringsql1 = "SELECT SENHA FROM FUNCIONARIO WHERE SENHA = '"&varsenha&"'"
set rs2 = conexao.execute(stringsql1)
IF rs2.EOF THEN
Response.Redirect("erro1.asp")
ELSE
IF Session("adressurl") <> "" THEN
response.redirect(Session("adressurl"))
ELSE
response.Redirect("empresa1.asp")
END IF
END IFPorém o que acontece quando eu digito http://beta/Chamado/funcionario1.asp ele já vem para a tela de login porém digito a senha e ele volta para a mesma tela de login e não vai para a tela onde ta o caminho ?
Abraço.
Emerson Sobral
-
-
codigo da tela funcionario1.asp !!
<!--#include file="conexao.asp"-->
<%
'----Executando a procedure getsequencial-------------DIM SENHA
Session("SENHA") = "login.asp"
IF Session("SENHA")<>"" THEN
Response.Redirect(Session("SENHA"))
ELSE
Response.Redirect("login.asp")
END IFIF session("ID_FUNCIONARIO")="" THEN
Set cmGetID = Server.CreateObject("ADODB.Command")
Set cmGetID.ActiveConnection = conexao
cmGetID.CommandText = "dbo.sp_getsequencial"
cmGetID.CommandType = 4 ' adCmdStoredProcSet objParam = cmGetID.CreateParameter("@pr_nom_table", 200, 1,50,"FUNCIONARIO")
cmGetID.Parameters.Append objParam
Set objParam = cmGetID.CreateParameter("@ID_FUNCIONARIO", 19 , 1, 1, 1)
cmGetID.Parameters.Append objParam
Set objParam = cmGetID.CreateParameter("@pr_nom_field", 200, 1,50,"")
cmGetID.Parameters.Append objParam
Set objParam = cmGetID.CreateParameter("@pr_sequencial", 19 , 2,,null)
cmGetID.Parameters.Append objParam
cmGetID.Execute
session ("ID_FUNCIONARIO")= cmGetID("@pr_sequencial")'recuperando valor @pr_sequencial e passa para variarvel ID_OPERADOR
'----------------------------------------------------------------------------------------------------------
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>:: Briefing _________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________</title>
<style type="text/css">body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
A.menu_sup {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
color: #ffffff;
}A.menu_sup:link {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
color: #ffffff;
}A.menu_sup:hover {
text-decoration: none;
color: #dadada;}
.campo {BACKGROUND: #f8f8f8;
COLOR: #265490;
BORDER-BOTTOM: #265490 1px solid;
BORDER-LEFT: #EFEFEF 1px solid;
BORDER-RIGHT: #265490 1px solid;
BORDER-TOP: #EFEFEF 1px solid;
FONT-SIZE: 10px;
height : 20;
}a {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
color: #265490;
}a:link {
text-decoration: none;
}
a:visited {
text-decoration: none;
}
a:hover {
text-decoration: none;
color: #999999;
}
a:active {
text-decoration: none;
}.style5 {color: #FFFFFF}
.style8 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
color: #255691;
}
.style7 {font-size: 10px; color: #1C406C; font-family: Verdana, Arial, Helvetica, sans-serif;}
.botao {BACKGROUND: #f8f8f8;
COLOR: #265490;
BORDER-BOTTOM: #265490 1px solid;
BORDER-LEFT: #EFEFEF 1px solid;
BORDER-RIGHT: #265490 1px solid;
BORDER-TOP: #EFEFEF 1px solid;
FONT-SIZE: 10px;
width:80px;
height : 20;
}
</style></head><body>
<script language="javascript">
window.name = "janela";
function valida(){
Funcionario.txt_nome.focus(document.Funcionario.txt_nome.style.background ="");
Funcionario.Empresa.focus(document.Funcionario.Empresa.style.background ="");
Funcionario.text_email.focus(document.Funcionario.text_email.style.background ="");
Funcionario.text_login.focus(document.Funcionario.text_login.style.background ="");
Funcionario.text_senha.focus(document.Funcionario.text_senha.style.background ="");
Funcionario.text_hora_ini.focus(document.Funcionario.text_hora_ini.style.background ="");
Funcionario.text_hora_fim.focus(document.Funcionario.text_hora_fim.style.background ="");
if (Funcionario.txt_nome.value ==""){
alert('Por preencha o campo Nome!');
Funcionario.txt_nome.focus(document.Funcionario.txt_nome.style.background ="#FFFFCC");
return false;
}
if (Funcionario.Empresa.value ==""){
alert('Por favor preencha o campo Empresa!');
Funcionario.Empresa.focus(document.Funcionario.Empresa.style.background ="#FFFFCC");
return false;
}
if (Funcionario.text_email.value ==""){
alert('POR FAVOR PREENCHA O CAMPO E_MAIL!');
Funcionario.text_email.focus(document.Funcionario.text_email.style.background ="#FFFFCC");
return false;
}if (Funcionario.text_login.value ==""){
alert('POR FAVOR PREENCHA O CAMPO LOGIN!');
Funcionario.text_login.focus(document.Funcionario.text_login.style.background ="#FFFFCC");
return false;
}
if (Funcionario.text_senha.value ==""){
alert('POR FAVOR PREENCHA O CAMPO SENHA!');
Funcionario.text_senha.focus(document.Funcionario.text_senha.style.background ="#FFFFCC");
return false;
}
if (Funcionario.text_hora_ini.value ==""){
alert('POR FAVOR PREENCHA O CAMPO HORA INICIAL!');
Funcionario.text_hora_ini.focus(document.Funcionario.text_hora_ini.style.background ="#FFFFCC");
return false;
}
if (Funcionario.text_hora_fim.value ==""){
alert('POR FAVOR PREENCHA O CAMPO HORA FIM!');
Funcionario.text_hora_fim.focus(document.Funcionario.text_hora_fim.style.background ="#FFFFCC");
return false;
}
if (Funcionario.text_valor_hora.value ==""){
alert('POR FAVOR PREENCHA O CAMPO VALOR DA HORA!');
Funcionario.text_valor_hora.focus(document.Funcionario.text_valor_hora.style.background ="#FFFFCC");
return false;
}
document.Funcionario.action="incluir_funcionario.asp";
document.Funcionario.submit();
}
</script><script language="javascript">
function valor(){}
</script><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="502" height="100" background="images/topo_01.jpg"><img src="images/chamado_2_01.jpg" width="502" height="99" /></td>
<td width="100%" background="images/topo_01.jpg"></td>
<td width="271"><img src="images/chamado_2_03.jpg" width="271" height="100" /></td>
</tr>
<tr>
<td height="1" colspan="3" bgcolor="#F8f8f8"></td>
</tr>
<tr>
<td height="1" colspan="3" bgcolor="#F8f8f8"></td>
</tr>
<tr>
<td colspan="3" valign="top" bgcolor="#FFFFFF"><table width="100%" border="0" align="right" cellpadding="0" cellspacing="0">
<tr>
<td width="1%" bgcolor="#265490"> </td>
<td width="100%" height="22" valign="top" bgcolor="#265490"><a href="empresa1.asp" class="menu_sup"> Cadastro</a><span class="style5"> | </span><a href="processos.html" class="menu_sup">Processos</a> <span class="style5">| </span><a href="seguranca.html" class="menu_sup">Segurança</a> <span class="style5">|</span> <a href="relatorios.html" class="menu_sup">Relatórios</a> <span class="style5">|</span> <a href="gerenciamento.html" class="menu_sup">Gerenciamento</a> <span class="style5">|</span> <a href="login.asp" class="menu_sup">Sair</a></td>
</tr>
</table></td>
</tr>
<tr>
<td height="1" colspan="3" bgcolor="#ffffff"></td>
</tr>
<tr>
<td height="430" colspan="3"><table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="20%" valign="top" bgcolor="#FFFFFF"><br />
<table width="95%" border="0" align="center" cellpadding="0" cellspacing="2">
<tr>
<td bgcolor="#FFFFFF"><img src="images/cadastro.jpg" width="136" height="28" /><br />
<img src="images/menuMiniBullet.gif" width="4" height="4" /> <a href="empresa1.asp">Empresas </a><br />
<img src="images/menuMiniBullet.gif" width="4" height="4" /> <a href="funcionario1.asp">Funcionários</a><br />
<img src="images/menuMiniBullet.gif" width="4" height="4" /> <a href="Cliente.asp">Clientes</a><br />
<img src="images/menuMiniBullet.gif" width="4" height="4" /> <a href="Cargo.asp">Cargos</a><br />
<img src="images/menuMiniBullet.gif" width="4" height="4" /> <a href="Tipo_telefone.asp">Tipos de telefone </a></td>
</tr>
<tr>
<td> </td>
</tr>
</table></td><td width="1" background="images/fd.jpg" bgcolor="#CCCCCC"></td>
<td width="79%" valign="top" bgcolor="#FFFFFF">
<form action="" method="post" name="Funcionario;" id="Funcionario" onsubmit="funcao();";onSubmit="return valida();" >
<table width="" border="0" cellspacing="2">
<br />
<tr>
<td></td>
</tr>
</table>
<table>
<tr>
<td class="style7"> Codigo:<br />
<div id="chamaCod">
<input name="txt_codigo" type="text" class="campo" id="txt_codigo" value="<%=session ("ID_FUNCIONARIO")%>" size="13" />
</div> </td>
</tr>
</table>
<table>
<tr>
<td class="style7"> Nome: <br />
<input name="txt_nome" type="text" class="campo" id="txt_nome" size="35" maxlength="100"/></td>
<td class="style7">Empresa<br />
<select name="Empresa" size="1" class="style7" onChange="recupera_cargo1(this.value);chamaId(this.value);">
<option><-- Selecione Empresa --></option>
<%
SQL = "SELECT id_empresa, Razao_Social FROM EMPRESA ORDER BY Razao_Social "
SET rs1 = conexao.execute(SQL)
Do while rs1.eof = false
%>
<option value = "<%=rs1("id_empresa")%>"><%=rs1("Razao_Social")%></option>
<%
rs1.movenext
Loop
%>
</select></td>
</tr>
</table>
<table>
<tr>
<td><div id="cargo"><span class="style7">Cargo:</span><br />
<select name="Cargo" class="style7" id="Cargo">
<option><--Selecione o Cargo --></option>
</select>
<img src="images/icon_lupa.jpg" width="20" height="20" border="0" onclick="window.open('cadastrar_Cargo.asp','Departamentos','scrollbars=yes, resiseable=no, width=765, height=400,left=150, top=90');" /></div> </td>
<td class="style7">E_mail: <br />
<input name="text_email" type="text" class="campo" id="text_email" size="35" maxlength="100"/></td>
<td class="style7">Login: <br />
<input name="text_login" type="text" class="campo" id="text_login" size="20" maxlength="10"/></td>
<td class="style7">Senha: <br />
<input name="text_senha" type="password" class="campo" id="text_senha" size="15" maxlength="100"/> </td>
</tr>
</table>
<table>
<tr>
<td class="style7">Hora Inical :<br />
<input name="text_hora_ini" type="text" class="campo" id="text_hora_ini" size="20" maxlength="50" /></td>
<td class="style7">Hora Fim :<br />
<input name="text_hora_fim" type="text" class="campo" id="text_hora_fim" size="20" maxlength="50" /></td>
<td><span class="style7">Valor da Hora:<br />
</span><span class="style7">
<input name="text_valor_hora" type="text" class="campo" id="text_valor_hora" size="20" maxlength="50" />
</span></td>
</tr>
</table>
<table>
<tr>
<td class="style7">Flag Temporario:
<input name="check_temp" type="checkbox" id="check_temp" value="check_temp" checked="checked" /></td>
</tr>
</table>
<table>
<tr>
<td class="style7" colspan="5"><div align="left"><br />
<input name="Gravar" type="button" class="botao" id="Gravar" value="Gravar" onclick="valida();"/>
<input name="Consultar" type="button" class="botao" id="Consulta" value="Consultar" onclick="window.open('consu_funcionario.asp','Departamentos','scrollbars=yes, resiseable=no, width=765, height=570,left=150, top=90');" />
<input name="Limpar" type="reset" class="botao" id="Limpar" value="Limpar" />
<input name="acao" type="hidden" id="acao" value="gravar"/>
</div></td>
</tr>
</table>
</form></td>
</tr>
</table></td>
</tr>
<tr>
<td height="15" colspan="3" bgcolor="#265490"></td>
</tr>
</table>
</body>
</html>
<script language="javascript">
function createXMLHTTP(){
try{
ajax = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e){
try{
ajax = new ActiveXObject("Msxml2.XMLHTTP");
alert(ajax);
}
catch(ex)
{
try{
ajax = new XMLHttpRequest();
}
catch(exc){
alert("Esse browser não tem recursos para uso do Ajax");
ajax = null;
}
}
return ajax;
}
var arrSignatures = ["MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
for (var i=0; i < arrSignatures.length; i++) {
try {var oRequest = new ActiveXObject(arrSignatures);
return oRequest;
} catch (oError) {
}
}
throw new Error("MSXML is not installed on your system.");
}
function recupera_cargo1(sTipo){
var oHTTPRequest = createXMLHTTP();
oHTTPRequest.open("post", "recupera_cargo1.asp", true);
// Para solicitações utilizando o método post, deve ser acrescentado este cabecalho HTTP
oHTTPRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
oHTTPRequest.onreadystatechange=function() {
if (oHTTPRequest.readyState==4){
document.all.cargo.innerHTML = oHTTPRequest.responseText;
}
}
oHTTPRequest.send("tipo=" + sTipo);
}
function chamaId(sTipo){
var oHTTPRequest = createXMLHTTP();
oHTTPRequest.open("post", "recupera_id1.asp", true);
// Para solicitações utilizando o método post, deve ser acrescentado este cabecalho HTTP
oHTTPRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
oHTTPRequest.onreadystatechange=function() {
if (oHTTPRequest.readyState==4){
document.all.chamaCod.innerHTML = oHTTPRequest.responseText;
}
}
oHTTPRequest.send("tipo=" + sTipo);
}
</script>Abraço.
Emerson Sobral
-
Emerson, se voce olhas bem, voce vai perceber que no inicio do código ASP voce define Session("senha") = "login.asp" logo após isso voce verifica se o campo que voce acabou de gravar dados esta vazio, desta forma ele sempre entrará dentro do IF e pior que voce definiu Session("senha") = login.asp, voce da um redirect nessa Session, ele sempre irá para login.asp.Voce tem que fazer uso do código que te passei nesta página tente assim:
<!--#include file="conexao.asp"-->
<%Dim urlcomp, tamurl, pagina, pos_barra, senha
urlcomp = request.ServerVariables("URL")
tamurl = len(urlcomp) - 1
urlcomp = right(urlcomp,tamurl - 1)
pos_barra = InStr(urlcomp,"/") + 1
pagina = mid(urlcomp,pos_barra,tamurl)Session("adressurl") = pagina
if IsNull(Session("senha")) Or Session("senha") = "" then
Response.Redirect("login.asp")
end if
'----Executando a procedure getsequencial-------------IF session("ID_FUNCIONARIO")="" THEN
Set cmGetID = Server.CreateObject("ADODB.Command")
Set cmGetID.ActiveConnection = conexao
cmGetID.CommandText = "dbo.sp_getsequencial"
cmGetID.CommandType = 4 ' adCmdStoredProcSet objParam = cmGetID.CreateParameter("@pr_nom_table", 200, 1,50,"FUNCIONARIO")
cmGetID.Parameters.Append objParam
Set objParam = cmGetID.CreateParameter("@ID_FUNCIONARIO", 19 , 1, 1, 1)
cmGetID.Parameters.Append objParam
Set objParam = cmGetID.CreateParameter("@pr_nom_field", 200, 1,50,"")
cmGetID.Parameters.Append objParam
Set objParam = cmGetID.CreateParameter("@pr_sequencial", 19 , 2,,null)
cmGetID.Parameters.Append objParam
cmGetID.Execute
session ("ID_FUNCIONARIO")= cmGetID("@pr_sequencial")'recuperando valor @pr_sequencial e passa para variarvel ID_OPERADOR
'----------------------------------------------------------------------------------------------------------
END IF
%>Abraços
Estevam
-
Então já tinha feito isso porém não deu resultado o que acontece quando eu digito este caminho: http://beta/Chamado/funcionario1.asp ele me leva para a tela de login digito a senha correta porém fico na tela de login !
fiz o codigo q vc me passou na tela de funcionario1.asp.
<!--#include file="conexao.asp"-->
<%
'----Executando a procedure getsequencial-------------Dim urlcomp, tamurl, pagina, pos_barra, senha
urlcomp = request.ServerVariables("URL")
tamurl = len(urlcomp) - 1
urlcomp = right(urlcomp,tamurl - 1)
pos_barra = InStr(urlcomp,"/") + 1
pagina = mid(urlcomp,pos_barra,tamurl)
Session("adressurl") = pagina
if IsNull(Session("senha")) Or Session("senha") = "" then
Response.Redirect("login.asp")
end if -
Se isto esta ocorrendo com o código acima, é porque quando volta pra página que ele solicitou não esta trazendo nenhuma informação dentro da Session("senha").Coloque no seu código, na página que valida a senha, quando a senha estiver correta, antes de fazer qualquer redirecionamento grava a senha na Session("senha")AbraçosEstevam
-
<%
Dim varlogin
Dim varsenha
Dim rs1
Dim comm
Dim contrs
Dim conexaovarlogin = request.form("text_login")
varsenha = request.form("text_senha")Set rs = Server.CreateObject("ADODB.Recordset")
caminho = "Provider=SQLOLEDB.1;Password=beta;Persist Security Info=True;User ID=sa;Initial Catalog=BRIEFING;Data Source=BETA;"
Set conexao = Server.CreateObject("ADODB.Connection")
conexao.Open caminho ' CONEXÃO.
' PARA VERIFICAR LOGIN !
stringsql = "SELECT LOGIN FROM FUNCIONARIO WHERE LOGIN = '"&varlogin&"'"set rs1 = conexao.execute (stringsql)
IF rs1.EOF THEN
Response.Redirect("erro.asp")
END IF
' PARA VERIFICAR SENHA !
stringsql1 = "SELECT SENHA FROM FUNCIONARIO WHERE SENHA = '"&varsenha&"'"
set rs2 = conexao.execute(stringsql1)
IF rs2.EOF THEN
Response.Redirect("erro1.asp")
ELSE
IF Session("adressurl") <> "" THEN
response.redirect(Session("adressurl"))
ELSE
response.Redirect("empresa1.asp")
END IF
END IF
%>Abraço.
Emerson Sobral
-
Tem que ficar assim, alterações em vermelho:
<%
Dim varlogin
Dim varsenha
Dim rs1
Dim comm
Dim contrs
Dim conexaovarlogin = request.form("text_login")
varsenha = request.form("text_senha")Set rs = Server.CreateObject("ADODB.Recordset")
caminho = "Provider=SQLOLEDB.1;Password=beta;Persist Security Info=True;User ID=sa;Initial Catalog=BRIEFING;Data Source=BETA;"
Set conexao = Server.CreateObject("ADODB.Connection")
conexao.Open caminho ' CONEXÃO.
' PARA VERIFICAR LOGIN !
stringsql = "SELECT LOGIN FROM FUNCIONARIO WHERE LOGIN = '"&varlogin&"'"set rs1 = conexao.execute (stringsql)
IF rs1.EOF THEN
Response.Redirect("erro.asp")
END IF
' PARA VERIFICAR SENHA !
stringsql1 = "SELECT SENHA FROM FUNCIONARIO WHERE SENHA = '"&varsenha&"'"
set rs2 = conexao.execute(stringsql1)
IF rs2.EOF THEN
Response.Redirect("erro1.asp")
ELSE
Session("senha") = varsenhaIF Session("adressurl") <> "" THEN
response.redirect(Session("adressurl"))
ELSE
response.Redirect("empresa1.asp")
END IF
END IF
%>AbraçosEstevam -
Tenho 2 duvidas a 1º
quando eu digito a http://beta/Chamado/ ele não vai para a tela de login e eu já coloquei o codigo !
Codigo da tela !!
<html>
<head>
<title>:: Briefing _________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________</title>
<style type="text/css">body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
A.menu_sup {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
color: #ffffff;
}A.menu_sup:link {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
color: #ffffff;
}A.menu_sup:hover {
text-decoration: none;
color: #dadada;}
.campo {BACKGROUND: #f8f8f8;
COLOR: #265490;
BORDER-BOTTOM: #265490 1px solid;
BORDER-LEFT: #EFEFEF 1px solid;
BORDER-RIGHT: #265490 1px solid;
BORDER-TOP: #EFEFEF 1px solid;
FONT-SIZE: 10px;
height : 20;
}a {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
color: #265490;
}a:link {
text-decoration: none;
}
a:visited {
text-decoration: none;
}
a:hover {
text-decoration: none;
color: #999999;
}
a:active {
text-decoration: none;
}.style5 {color: #FFFFFF}
.style7 {font-size: 10px; color: #1C406C; font-family: Verdana, Arial, Helvetica, sans-serif;}.style1 { font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
}
</style></head><body>
<!--#include file="conexao.asp"--><%
Dim urlcomp, tamurl, pagina, pos_barra, senha
urlcomp = request.ServerVariables("URL")
tamurl = len(urlcomp) - 1
urlcomp = right(urlcomp,tamurl - 1)
pos_barra = InStr(urlcomp,"/") + 1
pagina = mid(urlcomp,pos_barra,tamurl)
Session("adressurl") = pagina
if IsNull(Session("senha")) Or Session("senha") = "" then
Response.Redirect("login.asp")
end if
%><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="502" height="100" background="images/topo_01.jpg"><img src="images/chamado_2_01.jpg" width="502" height="99" /></td>
<td width="100%" background="images/topo_01.jpg"> </td>
<td width="271"><img src="images/chamado_2_03.jpg" width="271" height="100" /></td>
</tr>
<tr>
<td height="1" colspan="3" bgcolor="#F8f8f8"></td>
</tr>
<tr>
<td colspan="3" valign="top" bgcolor="#FFFFFF"><table width="100%" border="0" align="right" cellpadding="0" cellspacing="0">
<tr>
<td width="1%" bgcolor="#265490"> </td>
<td width="100%" height="22" valign="top" bgcolor="#265490"><a href="cadastro.html" class="menu_sup"> Cadastro</a><span class="style5"> | </span><a href="processos.html" class="menu_sup">Processos</a> <span class="style5">| </span><a href="seguranca.html" class="menu_sup">Segurança</a> <span class="style5">|</span> <a href="relatorios.html" class="menu_sup">Relatórios</a> <span class="style5">|</span> <a href="gerenciamento.html" class="menu_sup">Gerenciamento</a> <span class="style5">|</span> <a href="logout.asp" class="menu_sup">Sair</a></td>
</tr>
</table></td>
</tr>
<tr>
<td height="1" colspan="3" bgcolor="#ffffff"></td>
</tr>
<tr>
<td height="430" colspan="3"><table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="20%" valign="top" bgcolor="#FFFFFF"><br /></td>
<td width="1" background="images/fd.jpg" bgcolor="#CCCCCC"><p> </p>
<p> </p></td>
<td width="79%" valign="top" bgcolor="#FFFFFF"> </td>
</tr>
</table></td>
</tr>
<tr>
<td height="15" colspan="3" bgcolor="#265490"></td>
</tr>
</table>
</body>
</html>Outra duvida ..
Quando eu digito http://beta/Chamado/empresa1.asp ele vai para a tela de login porém se digitar senha errada
ele não deixa mais eu entrar na tela, porque ?
olha o codigo :
!--#include file="conexao.asp"-->
<%
'----Executando a procedure getsequencial-------------' COMEÇO DO TESTE.
Dim urlcomp, tamurl, pagina, pos_barra
urlcomp = request.ServerVariables("URL")
tamurl = len(urlcomp) - 1
urlcomp = right(urlcomp,tamurl - 1)
pos_barra = InStr(urlcomp,"/") + 1
pagina = mid(urlcomp,pos_barra,tamurl)Session("url") = pagina
IF IsNull(Session("senha")) Or Session("senha") = "" THEN
Response.Redirect("login.asp")
END IF'FIM DO TESTE.
Abraço.
Emerson Sobral
-
Emerson1 DuvidaVoce acessou esta página após ter feito o login correto? É o seguinte quando voce faz um login correto, ele grava a senha na Session("senha"), enquanto voce nao fechar o internet explorer ou a sessao não for finalizada voce vai ter livre acesso a todo site, então feche todas as janelas e entre nesta pagina novamente para verificar se ocorre o mesmo erro.2 DuvidaEle não te deixa entrar em qual pagina? na de login? ou na "empresa1.asp"? Se for na empresa1 com certeza ele nao vai permtir se senha estiver errada ele nao vai deixar voce entrar e vai sempre te redirecionar ao login.asp.AbraçosEstevam
-
Referente a 1º duvida blz.
Agora a 2º duvida o que acontece !!
Eu to fazendo assim quando eu digito a senha errado ele não deixa eu entrar nas paginas .
Só consigo entrar se fechar o explorer e isso ?
Porque não posso entrar sem fechar o explorer ?
Abraço.
Emerson Sobral
-
Emerson,Ele não deixa voce entrar nas páginas devido ao script que colocamos, ele verifica se Session("senha") esta em branco, se estiver em branco ele NAO permite o acesso a página e te redireciona ao login, enquanto voce nao digitar o login correto ele vai ficar te redirecionando para página de login. Se voce digitar o login certinho ele vai liberar a entrada nas páginas, porque ele estará gravando informações na Session("senha"), assim ela não sera mais uma variável em branco e a verificação não executará o redirecionamento para a página de login.Era isso sua dúvida?AbraçosEstevam
-
Mas neste caso como fazer para zerar ele para fazer uma nova verificação !
Com o explore aberto, pois assim tenho que fechar o explorer toda vez que o cliente digitar a senha errada !
IF rs1.EOF THEN
Response.Redirect("erro.asp")
END IF
' PARA VERIFICAR SENHA !
stringsql1 = "SELECT SENHA FROM FUNCIONARIO WHERE SENHA = '"&varsenha&"'"
set rs2 = conexao.execute(stringsql1)
IF rs2.EOF THEN
Response.Redirect("erro1.asp")
ELSE
Session("senha") = varsenha
IF Session("adressurl") <> "" THEN
response.redirect(Session("adressurl"))
ELSE
response.Redirect("empresa1.asp")
END IF
END IF
Acho q nesta parte do codigo tem que zerar a variavel e isso, como pode fazer isso !!
Abraço.
Emerson Sobral
-
Emerson, não estou conseguindo entender o que voce esta querendo dizer com esta "nova verificação".
O script que foi colocado nas páginas é para verificar se ele estiver tentando entrar em uma página pela url direto sem ter logado, então forçamos o login dele, isto deve ser assim, se voce quer enviar ele para outra página é só mudar no redirect.
Agora no momento que ele faz o login digita usuário e senha corretamente ele não deve ser mais bloqueado durante a sessão (enquanto a janela do navegador estiver aberta ou até o timeout padrão da session, ou até mesmo finalizar manualmente), ou seja, após o login ele tem livre acesso em todas as páginas.
Explique melhor o que você esta querendo que ocorra após ele receber a janela de login, ou que voce quer que aconteça?
Abraços
Estevam