Cadastro existente... mas ninguém foi cadastrado

30 respostas
hayase

gente to com o seguinte problema
quando peço para cadastrar alguém na página jsp ela diz q já existe alguém cadastrado com aquele nome, mas na verdade, não tem ninguém cadastrado com aquele nome…
qdo vejo no mysql, aparece um novo registro com nome de usuario NULL e senha NULL…

eu to encafifada com isso…
não to conseguindo resolver este problema

o q vcs acham q pode ser?
estou usando jsp+beans

obrigada

30 Respostas

Marlon_Meneses

post alguns fragmentos do codigo

hayase

certo… vou por algumas partes pq são várias páginas

por exemplo, o código abaixo é de um arquivo jsp

<jsp:useBean id=“NomeUsuario” scope=“session” class=“beans.Usuario” />
<jsp:useBean id=“usuarioBD” scope=“session” class=“beans.UsuarioBD” />

<%@ page import=java.util.<em>" %>

<%@ page import="java.beans.</em>”%>

<%@ page import=<a href="http://java.io">java.io</a>.<em>" %>

<%@ page import="java.sql.</em>” %>
<%

String user;

String pwd;

user = nome_usuario;

pwd = senha;
if ((user.equals(""))||(pwd.equals("")))
		{
			%>
				<script language="JavaScript">
					location='login_erro.jsp';
				</script>
			<%
		}
		else
		{
			usuarioBD.getConnection("jdbc:mysql://localhost/sap?charSet=ISO8859-1","postgres","123456");
			if (usuarioBD.UserValid(NomeUsuario))
			{
			   %>
				   <script language="JavaScript">
					   location='index.jsp';
				   </script> 
			   <%
			}
			else
			{
				%>
					<script language="JavaScript">
					   location='index.jsp';
				   </script> 
				<%
			}	
			usuarioBD.stopConnection();
		}

%>

FAZENDO LOGIN

Ir para a página Inicial

hayase

aqui o código do arquivo java

package beans;

import java.sql.<em>;

import java.util.</em>;
public class UsuarioBD {

String dsn = jdbc:mysql://localhost/sap?charSet=ISO8859-1;

String user = “postgres”;

String pwd = “123456”;
private Connection con=null;
private Statement  stmt=null;
private ResultSet  rset=null;

private Statement 	stmt1=null;
private ResultSet	rset1=null;

public  UsuarioBD() { }

public boolean getConnection(String dsn, String user, String pwd) {
    try {
        if (con == null) {
            
            try {
                Class.forName("com.mysql.jdbc.Driver").newInstance();
            } catch (Exception E) {
                E.printStackTrace();
            }
            try {
                con = DriverManager.getConnection("dsn", "user", "pwd");
            } catch (Exception E) {
                System.out.println("SQLException: " + E.getMessage());
            }
            return true;
        } else {
            return false;
        }
    } catch(Exception ex) {
        ex.printStackTrace();
    }
    return false;
}
        
public boolean Usuario(Usuario usuario) {
    try {
        if (con!=null) {
            stmt1=con.createStatement();
            rset1=stmt1.executeQuery("Select nome_usuario from usuario where (nome_usuario = '"+ usuario.getNomeUsuario()+"')");
            if(rset1.next()) {
                return true;
            } else {
                return false;
            }
        } else return false;
    } catch (Exception e) {
        return false;
    }
}


public boolean UserValid(Usuario usuario) {
    try {
        if (con!=null) {
            stmt1=con.createStatement();
            rset1=stmt1.executeQuery("Select nome_usuario from usuario where (nome_usuario='"+usuario.getNomeUsuario()+"')" );
            if(rset1.next()) {
                return true;
            } else {
                return false;
            }
        } else return false;
    } catch (Exception e) {
        return false;
    }
}


public boolean insertUsuario(Usuario usuario) {
    try {
        
        if (con!=null) {
            stmt1 = con.createStatement();
            rset1 = stmt1.executeQuery("Select nome_usuario from usuario where nome_usuario = '"+usuario.getNomeUsuario()+"'");
            if(rset1.next()) {
                return false;
            } else {
                
                stmt = con.createStatement();
                
                stmt.execute("Insert into usuario (nome_usuario, senha) values ('"+usuario.getNomeUsuario()+ "','"+usuario.getSenha()+ "')");
                
                return true;
            }
        }
        
        return false;
    } catch(Exception ex) {
        ex.printStackTrace();
        return false;
    }
    
}

public void stopConnection() {
    try {
        
        con.close();
    } catch(Exception e) {
        e.printStackTrace();
    }
}

}

Marlon_Meneses

certo…
manda o codigo do formulario d cadastro
tem?!

hayase

olha
ta anexado ai os arquivos
v c dá pra vc baixa-los

Marlon_Meneses

putz!
eu uso linux e nao tem suporte a .rar soh .zip!
manda zipado entao

hayase

poxa vida desculpa
ñ tenho zip aki
aehuieahuieahueai
infelizmente eu uso windows ainda
aehuiaeheaiueahiuea
calma la então
acess o site fazendo favor
http://200.148.136.3:8080/SAP
td funfa direitnho
mas nada é gravado no meu banco de dados aki no mysql

vo postar aki mesmo pode ser?
vou por um arquivo por vez

Marlon_Meneses

egua!
realmente isso funciona bem!
mas tem um detalhe:
nesse login deixa passar tudo!!!
qualquer login e senha passa!
deixa eu ver o codigo dos formularios aih!

hayase

sabe o q é mais engraçado é q se eu mudar o id=“usuario” para id=“NomeUsuario” o erro muda… na verdade aparece o q a pessoa ja esta cadastrada, mas só q ela ñ esta… ai q aparece null e null aki no banco…
q coisa louca
clma ai q to t mandando o zip

pronto tai blz

hayase

pois é pra vc ver
preciso muito q isso funcione corretamente pq vou precisar no meu tcc
de uma olha nos arquivos
ve o q vc acha…
eu acredito q euesteja fazendo confusão com alguma coisa
e não to sabendo direcionar corretamente os parametros e talz…
obrigad por ajudar
:slight_smile:

Marlon_Meneses

tah bom, vou dah uma olhada

Marlon_Meneses
encontrei um problema:

faltou fazer o set da senha e usuario no login_ok.jsp antes do if (usuarioBD.UserValid(usuario))

e tambem faltou a mesma coisa no cadastro_de_usuarios_efetuar.jsp antes de usuarioBD.insertUsuario(usuario);

conserta eih e depois me diz se resolveu
hayase

uhm mas pera um pouco

o set q vc ta falando é o seguinte?

user = request.setParameter(“nome_usuario”);
pwd= request.setParameter(“senha”);

é isso???

Marlon_Meneses

nao
eh o set do objeto usuario
o seu bean usuario contem os gets e os sets neh?!
algo d tipo setSenha, setLogin, getSenha e getLogin

hayase

o q vc ta m dizendo é q na minha classe eu tenho algo desse tipo correto?!
bom isso eu tenho mesmo
eu tenho um método set lá na minha classe…

public void setNomeUsuario(String nome_usuario)

{

this.nome_usuario=nome_usuario;

}
public void setSenha(String senha)
	{
	        this.senha=senha;
	}

então eu tenho q add algo do tipo assim na jsp

usuario.setNomeUsuario(String nome_usuario)

correto???
cara, o professor q m deu aula disso ano passadto tinha q sei la viu… leva uma porrada
além d nao saber nada, a gente ainda tinha q c vira pra tenta entende alguma coisa…
Deus m livre
cruzes… agora to passando apertado pq ñ dá tempo d estuda td q eu preciso…ninguém merece

valeus pela força

Marlon_Meneses
rsrsrsrsrs!

eh isso mesmo

fica assim:

usuario.setNomeUsuario(user);

usuario.setSenha(pwd);
hayase

ah
ñ dá risada ñ
po meu
to quebrando a cabeça aki
eu so lenta mas eu aprendo
aeheaihueauieiuea
antes d vc posta eu já tinha raciocinado q seria do jeito q vc mostrou
aheuiheauieiahieau
e ja havia feito tb
ta vendo um pouco d tempo e eu ja tinha percebido
mas nunca imaginaria colocar o set do nome d usuario e senha…
vamo v c funfa agora

meu marido até ta m ajudando tadinho… ele q monto o servidor pra mim, pelo menos desse trabalho eu escapei aheuiheauiheiuheaiuheiuhueai

hayase

cara
seguinte
funfo
mas continua passando tudoooooooo
faz o teste ai vc ja tem o endereço
tem algo errdo ainda
ai jesus… q dor d cabeça

Marlon_Meneses

mas jah tah cadastrando direito?

hayase

cara
vc ñ tm um exemplo pronto ai pra m passar não, umexemplo d login e senha
ai q raiva
tipo, ñ tá cadastrando nada no banco de dados… passa tudo… e não cadsatra nada…
nada
então to começando a achar q deve ser problema com o banco… vc acha q pode ser? ou então com o q eu defini, senha do banco e talz… a url do banco… sei la

ó
entra nesse link ai
acontece omesmo
e olha q esse aí é uma cópia fiel de um exemplo de um livro
nossa ninguém merece

então por isso acho q o problema deve estar em outro lugar

hayase

http://200.148.136.3:8080/chapter14/newAddressForm.html

Marlon_Meneses

ve essas classes q fiz faz algum tempo
axo q eh esse!
ve aih

hayase

uhm thnaks
me fala uma coisa dessa linha aki
private String jdbc=“jdbc:mysql://localhost/noticia”;

no meu ta assim ó

String dsn = “jdbc:mysql://localhost/sap?charSet=ISO8859-1”;

e

usuarioBD.getConnection(“jdbc:mysql://localhost/sap?charSet=ISO8859-1”,“postgres”,“123456”);

isto pq as minhas pages estão na web…

vc acha q essa estão erradas? no livro q eu tenho aki d base, ta assim
"jdbc:mysql://localhost:3306/ADDRESS;

o q vc acha? m fala ai como vc costuma fazer

Marlon_Meneses

qual eh o banco que vc tah usando?

hayase

é o mysql

Marlon_Meneses

aparece algume tipo de mensagem d erro qndo envia o formulario?

hayase

qdo envia o formulário???
q eu saiba não…
é td remoto
eu só vou no ftp e adiciono a pasta sabe…
c tive q mexer algo no servidor la, ai tem q fala co maridão… tende… as vezes pode ser algo la né…
mas agor, entra la pra vc ver… continua a mesma coisa
aceita tudo… e não cadastra nada…
http://200.148.136.3:8080/SAP

até
to quase desistindo ja

Marlon_Meneses

eu vou dar + uma verificada
mas agora so vou aparecer por aqui amanha a tarde!
faça qualquer coisa soh nao desista!
huahuahauhauhau

hayase

ah blz
relaxa amigo
vc é donde?
aki na minha cidade é feriado hj
aehiaehiueaiuoa
ai ai… achoq vou ter q começa td do zero novamente, utilizando o livro q comprei… mas queria dar jeito nisso ai
q sacolaaaaaaaaa
obrigada por td mesmo assim

hayase

ow
então
consegui fazer cadastrar
mas só to conseguindo cadastrar uma pessoa
ta dando o seguinte erro la no depurador do tomcat

com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: No operations allowed after connection closed

parece q é problema da minha conexão, mas ñ to sabendo exatemnte o q fazer

Criado 8 de agosto de 2007
Ultima resposta 8 de ago. de 2007
Respostas 30
Participantes 2