Ir para conteúdo

POWERED BY:

Arquivado

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

deathcon4

Problemas com if e inserção no banco

Recommended Posts

Creio que fiz tudo certo, mas não funciona direito, não estou conseguindo ver onde está o erro.

<html>
<script language="JavaScript">
<!--
function verifica(Form_acesso)
{
//  ***** Testando os campos *****
    if (Form_acesso.nome.value == "")  {
            alert("\nFavor informar o nome.")
            Form_acesso.nome.focus(); 
            return false; }
    if (Form_acesso.nome.value.length < 3)  {
            alert("\nO campo nome deve conter no mínimo três letras.\n\nFavor Corrigir.")
            Form_acesso.nome.focus(); 
            return false; }
       for (var i = 0; i < Form_acesso.nome.value.length; i++) {
       var ch = Form_acesso.nome.value.substring(i, i + 1);
     
    if (Form_acesso.senha.value == "")  {
            alert("\nFavor informar a senha.")
            Form_acesso.senha.focus(); 
            return false; }
    if (Form_acesso.senha.value.length < 3 )  {
            alert("\nO campo Senha deve conter no mínimo 4 dígitos alfa-numéricos.\n\nFavor Corrigir.")
            Form_acesso.senha.focus();
            return false; }
    else
        if (Form_acesso.nsenha.value != "" || Form_acesso.cnsenha.value != "") {
             if (Form_acesso.nsenha.value.length < 3)  {
                alert("\nO campo Nova Senha deve conter no mínimo 4 dígitos alfa-numéricos.\n\nFavor Corrigir.")
                Form_acesso.nsenha.focus();
                return false; }
             // *** Return false se os caracteres não forem de a-z, A-Z, ou 0-9 ****
                for (var i = 0; i < Form_acesso.nsenha.value.length; i++) {
                  var ch = Form_acesso.nsenha.value.substring(i, i + 1);
                  if (((ch < "a" || "z" < ch) && (ch < "A" || "Z" < ch)) && (ch < "0" || "9" < ch)) {
                     alert("\nO campo Nova Senha só aceita letras e números.\n\nFavor corrigir.");
                     Form_acesso.nsenha.focus(); 
                     return false; } }
             // ************************
             if (Form_acesso.cnsenha.value.length == "")  {
                alert("\nFavor confirmar a Nova Senha.")
                Form_acesso.cnsenha.focus(); 
                return false; }
             if (Form_acesso.cnsenha.value.length < 3)  {
                alert("\nO campo Confirma Nova Senha deve conter no mínimo 4 dígitos alfa-numéricos.\n\nFavor Corrigir.")
                Form_acesso.cnsenha.focus(); 
                return false; }
             if (Form_acesso.cnsenha.value != Form_acesso.nsenha.value) {
                alert("\nSenha Confirmada diferente da Nova Senha.\n\nFavor Corrigir.")
                Form_acesso.cnsenha.focus(); 
                return false; }
             if (Form_acesso.nsenha.value == Form_acesso.senha.value) {
                alert("\nNova Senha é igual a Senha atual.\n\nFavor Corrigir.")
                Form_acesso.nsenha.focus(); 
                return false; } }   
//  ***** Confirma Informações *****
   {
   retorno=confirm("\nConfirma o envio das Informações?")
   if (retorno == false) {
      return false; } }
  //  *** Confirma - final ***
   return true; }
-->


</script>

<head>
<title>Acesso Restrito</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript" src="help/js/helptip.js"></script>
<link type="text/css" rel="StyleSheet" href="help/css/helptip.css" />
<style type="text/css">

body {
	font:		Small Verdana; 
	background:	White;
	color:		Black;
}

</style>
</head>


<body bgcolor="#FFFFFF" text="#000000">
<%

login=Request.Form("nome")
senha=Request.Form("senha")
'Conexão com o banco de dados

Set DB = Server.CreateObject("ADODB.Connection")
'usar o mesmo objeto, DB, não pode haver espaços

DB.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=c:\trabalho\login\acesso.mdb;ReadOnly=0; DB, 3, 3"

executar = "SELECT * FROM acesso where nome = '" & nome & "' and senha = '" & senha & "';" 

'verifica se o campo já existe
set query = db.execute(executar)

'verifica se o campo já existe
set query = db.execute(executar)
if query.eof = true then

'response.redirect "c:\Trabalho\login\entrada_dados1.htm"%>
<form action="login.asp" method="post" name="Form_acesso" onsubmit="return verifica(this)" align="center">
    <div align="left"><table width="760" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="508"><table width="505" border="0" cellspacing="6" cellpadding="4">
          <tr>
            <td width="137" align="right">
			<font face="Arial, Helvetica, sans-serif" size="2">Nome:</font></td>
            <td width="123"><font face="Arial, Helvetica, sans-serif" size="2"><input maxlength="8" name="nome" size="8" style="FONT-FAMILY: Arial; FONT-SIZE: 10pt" tabindex="1">  </font></td>
            <td width="203" align="center"></td>
          </tr>
          <tr>
            <td width="137" align="right"><font face="Arial, Helvetica, sans-serif" size="2">Senha:</font></td>
            <td width="123"><font face="Arial, Helvetica, sans-serif" size="2"><input maxlength="8" name="senha" size="8" style="FONT-FAMILY: Arial; FONT-SIZE: 10pt; LETTER-SPACING: 2px; TEXT-ALIGN: justify" tabindex="2" type="password">  </font></td>
            <td width="203" align="center"><font face="Arial, Helvetica, sans-serif" size="2">
			<a href="acesso.asp"><input name="B1" style="FONT-FAMILY: Arial; FONT-SIZE: 10pt" tabindex="5" type="submit" value="Enviar"></a> </font></td>
          </tr>
          <tr>
            <td width="137" align="right"><font face="Arial, Helvetica, sans-serif" size="2">
			Nova Senha:</font></td>
            <td width="123"><font face="Arial, Helvetica, sans-serif" size="2">            
            <input maxlength="8" name="nsenha" id="nsenha" size="8" style="FONT-FAMILY: Arial; FONT-SIZE: 10pt; LETTER-SPACING: 2px; TEXT-ALIGN: left" tabindex="3" type="password" onLoad="habilitaCampos('nsenha') style="display: 'none';">  </font></td>
            
            <td width="203" align="center"><font face="Arial, Helvetica, sans-serif" size="2">
            <input name="B2" style="FONT-FAMILY: Arial; FONT-SIZE: 10pt" tabindex="6" type="reset" value="Limpar"> </font></td>
          </tr>
          <tr>
            <td width="137" align="right"><font face="Arial, Helvetica, sans-serif" size="2">
			Confirma Nova Senha:</font></td>
            <td width="123"><font face="Arial, Helvetica, sans-serif" size="2"><input maxlength="8" name="cnsenha" id="cnsenha" size="8" style="FONT-FAMILY: Arial; FONT-SIZE: 10pt; LETTER-SPACING: 2px; TEXT-ALIGN: left" tabindex="4" type="password" onclick="habilitaCampos('cnsenha');">  </font></td>
            <td width="203" align="center"></td>
          </tr>
          <tr>
            <td width="137"><div align="center"></div></td>
            <td width="123"></td>
            <td width="203"><font color="#000080" face="Arial" size="2"><div align="center"><center><p>Esqueceu
            sua Senha?<br>
            Solicite nova </font><a href="mailto:" style="TEXT-DECORATION: none"><font color="#ff0000" face="Arial" size="2"><strong>AQUI</strong></font></a> </td>
          </tr>
        </table>
        </td>
      </tr>
    </table>
    </div>
  </form>
  <%
	'set rs = DB.execute("INSERT INTO acesso (nome,senha) Values('"&nome&"','"&senha&"')")
	sql = "INSERT INTO acesso (nome,senha) VALUES ('" & nome & "','" & senha & "')"
	DB.Execute sql
	response.write "Registro inserido com sucesso!"

	else 
		response.write "Registro existente!"
end if

Primeiro, quando tento logar, sempre diz registro existente e segundo, nada é inserido no banco. O if está certo, é ó ir até o final do banco, não encontrou o registro então permite a incerssão se não diz registro existente. Algo está escapando a minha visão e sempre cai no false, registro existente.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sempre que tento entrar com a senha ele pula a primeira parte do if e diz registro existente. Infelizmente não aparece erro no debug. Tem dois campos o nome e senha, se não existe no banco então mostra o form para cadastrar, caso contrário diz registro existente. Ele está ignorando a primeira parte do if após percorrer o banco e ver se existe algo, era para mostrar o form, pois não há nada no banco. Não mostra nenhum erro de Asp. É algum problema de lógica, já verifiquei a lógica e ela está correta.

 

'verifica se o campo já existe
set query = db.execute(executar)


if query.eof = true then

'se não encontrou o registro no banco, então mostra o form abaixo.
'response.redirect "c:\Trabalho\login\entrada_dados1.htm"%>
<form action="login.asp" method="post" name="Form_acesso" onsubmit="return verifica(this)" align="center">
    <div align="left"><table width="760" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="508"><table width="505" border="0" cellspacing="6" cellpadding="4">
          <tr>
            <td width="137" align="right">
                        <font face="Arial, Helvetica, sans-serif" size="2">Nome:</font></td>
            <td width="123"><font face="Arial, Helvetica, sans-serif" size="2"><input maxlength="8" name="nome" size="8" style="FONT-FAMILY: Arial; FONT-SIZE: 10pt" tabindex="1">  </font></td>
            <td width="203" align="center"></td>
          </tr>
          <tr>
            <td width="137" align="right"><font face="Arial, Helvetica, sans-serif" size="2">Senha:</font></td>
            <td width="123"><font face="Arial, Helvetica, sans-serif" size="2"><input maxlength="8" name="senha" size="8" style="FONT-FAMILY: Arial; FONT-SIZE: 10pt; LETTER-SPACING: 2px; TEXT-ALIGN: justify" tabindex="2" type="password">  </font></td>
            <td width="203" align="center"><font face="Arial, Helvetica, sans-serif" size="2">
                        <a href="acesso.asp"><input name="B1" style="FONT-FAMILY: Arial; FONT-SIZE: 10pt" tabindex="5" type="submit" value="Enviar"></a> </font></td>
          </tr>
          <tr>
            <td width="137" align="right"><font face="Arial, Helvetica, sans-serif" size="2">
                        Nova Senha:</font></td>
            <td width="123"><font face="Arial, Helvetica, sans-serif" size="2">            
            <input maxlength="8" name="nsenha" id="nsenha" size="8" style="FONT-FAMILY: Arial; FONT-SIZE: 10pt; LETTER-SPACING: 2px; TEXT-ALIGN: left" tabindex="3" type="password" onload="habilitaCampos('nsenha') style="display: 'none';">  </font></td>
            
            <td width="203" align="center"><font face="Arial, Helvetica, sans-serif" size="2">
            <input name="B2" style="FONT-FAMILY: Arial; FONT-SIZE: 10pt" tabindex="6" type="reset" value="Limpar"> </font></td>
          </tr>
          <tr>
            <td width="137" align="right"><font face="Arial, Helvetica, sans-serif" size="2">
                        Confirma Nova Senha:</font></td>
            <td width="123"><font face="Arial, Helvetica, sans-serif" size="2"><input maxlength="8" name="cnsenha" id="cnsenha" size="8" style="FONT-FAMILY: Arial; FONT-SIZE: 10pt; LETTER-SPACING: 2px; TEXT-ALIGN: left" tabindex="4" type="password" onclick="habilitaCampos('cnsenha');">  </font></td>
            <td width="203" align="center"></td>
          </tr>
          <tr>
            <td width="137"><div align="center"></div></td>
            <td width="123"></td>
            <td width="203"><font color="#000080" face="Arial" size="2"><div align="center"><center><p>Esqueceu
            sua Senha?<br>
            Solicite nova </font><a href="mailto:" style="TEXT-DECORATION: none"><font color="#ff0000" face="Arial" size="2"><strong>AQUI</strong></font></a> </td>
          </tr>
        </table>
        </td>
      </tr>
    </table>
    </div>
  </form>
  <%
        'set rs = DB.execute("INSERT INTO acesso (nome,senha) Values('"&nome&"','"&senha&"')")
        sql = "INSERT INTO acesso (nome,senha) VALUES ('" & nome & "','" & senha & "')"
        DB.Execute sql
        response.write "Registro inserido com sucesso!"

'encontrou o nome com a senha no banco, então mostra o conteúdo abaixo.
        else 
                response.write "Registro existente!"
end if

Compartilhar este post


Link para o post
Compartilhar em outros sites

desabilita a opção de exibir mensagens de erro HTTP amigáveis no browser, e veja se gera algum numero de erro e poste a linha

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desabilitei e coloquei o comando para interromper o script, mas não funcionou, a página asp aparece totalmente em branco, o formulário para novos cadastros não aparece.

 

Consegui funcionar parcialmente, só está entrando a senha, abri o access e não grava o nome do usuário. Invés de mostrar a mensagem Inserido com sucesso, mostra Registro existente! E quando tento entrar com outro usuário a página não carrega, mostra somente a página em branco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito estranho, fiz o mencionado acima, a página acesso.asp que deveria mostrar o formulário para inserção de novo usuário aparece totalmente em branco. O resto do código após o else eu comentei, também tentei com response.end e não funcionou. Será que é algum erro no arquivo de entrada? Por vias de dúvida, coloco aqui.

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0029)http://10.14.7.15/aplicsuptd/ -->
<html>
<script language="JavaScript">
<!--
location.href="acesso.asp?nome=" + document.Form_acesso.nome.value + "&senha=" + document.Form_acesso.senha.value;
function verifica(Form_acesso)
{
//  ***** Testando os campos *****
    if (Form_acesso.nome.value == "")  {
            alert("\nFavor informar o nome.")
            Form_acesso.nome.focus(); 
            return false; }
    if (Form_acesso.nome.value.length < 3)  {
            alert("\nO campo nome deve conter no mínimo três letras.\n\nFavor Corrigir.")
            Form_acesso.nome.focus(); 
            return false; }
       for (var i = 0; i < Form_acesso.nome.value.length; i++) {
       var ch = Form_acesso.nome.value.substring(i, i + 1);
     
    if (Form_acesso.senha.value == "")  {
            alert("\nFavor informar a senha.")
            Form_acesso.senha.focus(); 
            return false; }
    if (Form_acesso.senha.value.length < 3)  {
            alert("\nO campo Senha deve conter no mínimo 4 dígitos alfa-numéricos.\n\nFavor Corrigir.")
            Form_acesso.senha.focus();
            return false; }
     // *** Return false se os caracteres não forem de a-z, A-Z, ou 0-9 ****
                for (var i = 0; i < Form_acesso.nsenha.value.length; i++) {
                  var ch = Form_acesso.nsenha.value.substring(i, i + 1);
                  if (((ch < "a" || "z" < ch) && (ch < "A" || "Z" < ch)) && (ch < "0" || "9" < ch)) {
                     alert("\nO campo Nova Senha só aceita letras e números.\n\nFavor corrigir.");
                     Form_acesso.nsenha.focus(); 
                     return false; } }
             // ************************
             
//  ***** Confirma Informações *****
   {
   retorno=confirm("\nConfirma o envio das Informações?")
   if (retorno == false) {
      return false; } }
  //  *** Confirma - final ***
   return true; }
-->

function habilitaCampos(par){
      input = document.getElementById('nsenha');
      input = document.getElementById('cnsenha');
     
             document.Form_acesso.input.value = 'none';                            
                       
}   


/*function esconde(){
document.getElementById('nsenha').style.display = "none";
document.Form_acesso['nsenha'].style.display = "none";
Form_acesso.nsenha.style.display = 'none';
Form_acesso.cnsenha.style.display = 'none';
}*/
</script>

<head>
<title>Acesso Restrito</title>
<meta content="text/html; charset=windows-1252" http-equiv="Content-Type">
<meta content="Microsoft FrontPage 3.0">
<meta content="Microsoft FrontPage 6.0" name="GENERATOR">
</head>

<body aLink="#FF0000" background="../imagens/fd_c_claro.gif" bgColor="#ffffff" bgProperties="fixed" leftMargin="0" topMargin="0" vlink?#FF0000? marginwidth="0" marginheight="0" rigthmargin="0">

<dl>
  <dd align="center"><p align="center"><br>
    <font face="Arial" size="3" color="#000080"><strong>Entrada<br>
    </strong></font><br>
    </p>
  </dd>
  <form action="acesso.asp" method="post" name="Form_acesso" onsubmit="return verifica(this)" align="center">
    <div align="left"><table width="760" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="508"><table width="505" border="0" cellspacing="6" cellpadding="4">
          <tr>
            <td width="137" align="right">
			<font face="Arial, Helvetica, sans-serif" size="2">Nome:</font></td>
            <td width="123"><font face="Arial, Helvetica, sans-serif" size="2"><input maxlength="8" name="nome" size="8" style="FONT-FAMILY: Arial; FONT-SIZE: 10pt" tabindex="1">  </font></td>
            <td width="203" align="center"></td>
          </tr>
          <tr>
            <td width="137" align="right"><font face="Arial, Helvetica, sans-serif" size="2">Senha:</font></td>
            <td width="123"><font face="Arial, Helvetica, sans-serif" size="2"><input maxlength="8" name="senha" size="8" style="FONT-FAMILY: Arial; FONT-SIZE: 10pt; LETTER-SPACING: 2px; TEXT-ALIGN: justify" tabindex="2" type="password">  </font></td>
            <td width="203" align="center"><font face="Arial, Helvetica, sans-serif" size="2">
			<a href="acesso.asp"><input name="B1" style="FONT-FAMILY: Arial; FONT-SIZE: 10pt" tabindex="5" type="submit" value="Enviar"></a> </font></td>
          </tr>
          <tr>
            <td width="137" align="right"> </td>
            <td width="123"><font face="Arial, Helvetica, sans-serif" size="2">            
              </font></td>
            
            <td width="203" align="center"><font face="Arial, Helvetica, sans-serif" size="2">
            <input name="B2" style="FONT-FAMILY: Arial; FONT-SIZE: 10pt" tabindex="6" type="reset" value="Limpar"> </font></td>
          </tr>
          <tr>
            <td width="137" align="right"> </td>
            <td width="123"><font face="Arial, Helvetica, sans-serif" size="2">  </font></td>
            <td width="203" align="center"></td>
          </tr>
          <tr>
            <td width="137"><div align="center"></div></td>
            <td width="123"></td>
            <td width="203"><font color="#000080" face="Arial" size="2"><div align="center"><center><p>Esqueceu
            sua Senha?<br>
            Solicite nova </font><a href="mailto:" style="TEXT-DECORATION: none"><font color="#ff0000" face="Arial" size="2"><strong>AQUI</strong></font></a> </td>
          </tr>
        </table>
        </td>
      </tr>
    </table>
    </div>
  </form>
   </dl>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

<html>
<%@LANGUAGE=VBScript%>
<script language="Javascript">
function verifica(Form_acesso)
{
// ***** Testando os campos *****
if (Form_acesso.nome.value == "") {
alert("\nFavor informar o nome.")
Form_acesso.nome.focus();
return false; }
if (Form_acesso.nome.value.length < 3) {
alert("\nO campo nome deve conter no mínimo três letras.\n\nFavor Corrigir.")
Form_acesso.nome.focus();
return false; }
for (var i = 0; i < Form_acesso.nome.value.length; i++) {
var ch = Form_acesso.nome.value.substring(i, i + 1);

if (Form_acesso.senha.value == "") {
alert("\nFavor informar a senha.")
Form_acesso.senha.focus();
return false; }
if (Form_acesso.senha.value.length < 3 ) {
alert("\nO campo Senha deve conter no mínimo 4 dígitos alfa-numéricos.\n\nFavor Corrigir.")
Form_acesso.senha.focus();
return false; }
else
if (Form_acesso.nsenha.value != "" || Form_acesso.cnsenha.value != "") {
if (Form_acesso.nsenha.value.length < 3) {
alert("\nO campo Nova Senha deve conter no mínimo 4 dígitos alfa-numéricos.\n\nFavor Corrigir.")
Form_acesso.nsenha.focus();
return false; }
// *** Return false se os caracteres não forem de a-z, A-Z, ou 0-9 ****
for (var i = 0; i < Form_acesso.nsenha.value.length; i++) {
var ch = Form_acesso.nsenha.value.substring(i, i + 1);
if (((ch < "a" || "z" < ch) && (ch < "A" || "Z" < ch)) && (ch < "0" || "9" < ch)) {
alert("\nO campo Nova Senha só aceita letras e números.\n\nFavor corrigir.");
Form_acesso.nsenha.focus();
return false; } }
// ************************
if (Form_acesso.cnsenha.value.length == "") {
alert("\nFavor confirmar a Nova Senha.")
Form_acesso.cnsenha.focus();
return false; }
if (Form_acesso.cnsenha.value.length < 3) {
alert("\nO campo Confirma Nova Senha deve conter no mínimo 4 dígitos alfa-numéricos.\n\nFavor Corrigir.")
Form_acesso.cnsenha.focus();
return false; }
if (Form_acesso.cnsenha.value != Form_acesso.nsenha.value) {
alert("\nSenha Confirmada diferente da Nova Senha.\n\nFavor Corrigir.")
Form_acesso.cnsenha.focus();
return false; }
if (Form_acesso.nsenha.value == Form_acesso.senha.value) {
alert("\nNova Senha é igual a Senha atual.\n\nFavor Corrigir.")
Form_acesso.nsenha.focus();
return false; } }
// ***** Confirma Informações *****
{
retorno=confirm("\nConfirma o envio das Informações?")
if (retorno == false) {
return false; } }
// *** Confirma - final ***
return true; }
-->
</script>

Acima está o javascript para tratar os campos do form quando o novo usuário for cadastrar-se.

<head>
<title></title>
</head>

<body background="../fundo_claro.gif">

<p>
 </p>
<%
dim nome, senha

senha = request.form("senha")
nome = request.form("nome")

'acesso ao banco
Set DB = Server.CreateObject("ADODB.Connection")

DB.Open "DBQ=c:\Trabalho\login\acesso.mdb;Driver={Microsoft Access Driver (*.mdb)}"

executar = "SELECT * FROM acesso WHERE nome = '" & nome & "' and senha = '" & senha & "';"

'verifica se o campo já existe
set query = db.execute(executar)

if query.eof = true then%>

mostra o form se o usuário não está cadastrado e insere a nova senha com o novo usuário.

<%sql = "INSERT INTO acesso (nome,senha) VALUES ('" & nome & "','" & senha & "')"
DB.Execute(sql)

Acessa novamente o banco para saber se os dados foram incluídos, se encontrar algo, então retorna que foram inseridos, pois não chegou ao final.
sql = "select * from acesso"
DB.execute(sql)
if query.eof = false then

response.write "Registro inserido com sucesso!"
response.redirect "entrada_dados.htm"
end if

else

response.redirect "cadastro.htm"
Esta página é para mostrar se o usuário já é cadastrado e assim redireciona para incluir informações do produto como fatura, peso, etc. ou para consultar banco de dados sobre os produtos.


end if%>
</center>
</body>
</html>

Já testei e está inserindo, o único problema é se o usuário já está cadastrado, era para redirecionar para a página para fazer o login (entrada_dados.htm) mas ao invés disso, mostra sempre a página para cadastrar produtos (cadastro.htm) e esta página somente deve ser mostrada quando o usuário já está cadastrado e fez o login. Não consigo descobrir o motivo.

 

response.redirect "url.htm"

Compartilhar este post


Link para o post
Compartilhar em outros sites

antes de inserir os dados faça um SELECT no bd e caso exista redirecione para outra pagina e senao você insere ele

 

<!--#include file="conn/conexao1.asp"-->
   <% 'abrir a conexao
   call abreconexao
   'crio o rsselect para verificar se os dados jah estaun cadastrados
   set rsselect=server.createobject("ADODB.Recordset")
   'crio o SQLselect
   SQLselect="SELECT login FROM login WHERE login='"&varlogin&"'"
   rsselect.open SQLselect,conexao,1,3
   if not rsselect.eof then
   		response.redirect("incluir_form_treina.asp?msgeof=1")
		set rsselect=nothing
   else	
   		'crio o rsinsert para inseiri os dados no bd
   		 set rsinsert=server.createobject("ADODB.Recordset")
		'crio o SQLinsert pra incluir no bd
		SQLinsert="INSERT INTO login(login,senha,email) values('"&varlogin&"','"&varsenha&"','"&varemail&"')"
		rsinsert.open SQLinsert,conexao,1,3
		response.redirect("administracao_treina.asp?msg=1")
		set rsinsert=nothing
	end if 
	call fechaconexao %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só um detalhe em vez de usar esse montes de if tenta usar o select case fica mais facil e limpa mais seu codigo

Compartilhar este post


Link para o post
Compartilhar em outros sites

É que até hoje não parei para estudar jquery e ler a documentação, mas vamos ao que interessa. Fiz o indicado, até separei as páginas, mas continua a mesma coisa, o banco está em branco mesmo após eu ter inserido um novo registro, o registro está em branco, e se tento repetir a mesma operação invés de ir para a página para cadastrar o novo usuário, abre a página que não deveria aparecer. Doideira, não? Também tentei da sua forma e não funcionou, deu o mesmo problema.

 

Estou usando o Access 2007 e IIS 5.1 com Firefox 3.6.12, deve existir algum bug nestes programas. Andei verificando e a lógica está certa. E sempre fiz como estava descrito no primeiro posta e nunca deu problemas.

 

<%
dim nome, senha, DB

senha = request.form("senha")
nome = request.form("nome")

'acesso ao banco
Set DB = Server.CreateObject("ADODB.Connection")

DB.Open "DBQ=c:\Trabalho\login\acesso.mdb;Driver={Microsoft Access Driver (*.mdb)}"

set rsselect=server.createobject("ADODB.Recordset")
   'crio o SQLselect
   SQLselect="SELECT * FROM acesso WHERE senha ='"&senha&"' and nome ='"&nome&"';"
   rsselect.open SQLselect,DB,1,3

if not rsselect.eof then
                response.redirect("insere_dados.asp?msgeof=1")
                rsselect.close
                set rsselect=nothing
				
else 
                response.redirect("cadastro.asp?msg=1")
end if 

%>

Como você pode ver, só permito a inserção se não houver o usuário no banco, mas a porcaria permite acessar a página após eu ter incluído o primeiro e depois tentar o segundo, o terceiro... . No segundo vai direto para a página errada invés de ir para cadastrar a nova senha que seria a cadastro.asp. Que p**** loca!

 

Na cadastro.asp deixei assim:

 

<%
dim nome, senha, DB

senha = request.form("senha")
nome = request.form("nome")

'acesso ao banco
Set DB = Server.CreateObject("ADODB.Connection")

DB.Open "DBQ=c:\Trabalho\login\acesso.mdb;Driver={Microsoft Access Driver (*.mdb)}"

  'crio o rsinsert para inserir os dados no bd
                 set rsinsert=server.createobject("ADODB.Recordset")
                'crio o SQLinsert pra incluir no bd
                SQLinsert="INSERT INTO acesso(senha,nome) values('"&senha&"','"&nome&"');"
                rsinsert.open SQLinsert,DB,1,3
                set rsinsert=nothing
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caso o usuário não exista, crie uma sessão, e na página de cadastro, verifica primeiro se a sessão está ativa, efetua o cadastro e no final da pagina, você destroi essa sessão e redireciona para outra página, dessa forma não vai permitir que novos cadastros sejam feitos de forma indevida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este link, pode te ajudar

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.