Ir para conteúdo

POWERED BY:

Arquivado

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

falcao544

[Resolvido] Erro com cadastro!

Recommended Posts

PEssoal esse é o meu terceiro script e tá dando o mesmo erro!

 

<?php
if($_SERVER["REQUEST_METHOD"]=="POST"){
 $nome=$_POST["nome"];
 $num=$_POST["num"];
 $email=$_POST["mail"];
 $pais=$_POST["pais"];
 $login=$_POST["login"];
 $senha=$_POST["senha"];
if(empty($email) || empty($login) || empty($senha)){
 echo"<script>alert('Os campos E-mail, Login e Senha Devem estar preenchidos!')</script>";
 echo"<script>history.go(-1)</script>";
}
else{
   mysql_connect("localhost", "user", "senha") or die(mysql_error());
   mysql_select_db("guerrasmedievais_zzl_tabela") or die(mysql_error());
   $sql1=mysql_query("SELECT login FROM tabela WHERE login='$login'");
   $sql2=mysql_query("SELECT senha FROM tabela WHERE senha='$senha'");
   $sql3=mysql_query("SELECT email FROM tabela WHERE email='$email'");
   if(mysql_num_rows($sql1)>1):
    $erro1=1;
	echo"<script>alert('O login digitado ja consta no banco de dados!')</script>";
    echo"<script>history.go(-1)</script>";
   endif;
   if(mysql_num_rows($sql2)>1):
    $erro2=1;
    echo"<script>alert('A senha digitada ja consta no banco de dados!')</script>";
    echo"<script>history.go(-1)</script>";
   endif;
   if(mysql_num_rows($sql3)>1):
    $erro3=1;
    echo"<script>alert('O e-mail digitado ja consta no banco de dados!')</script>";
    echo"<script>history.go(-1)</script>";
   endif;
if($erro1!=1 && $erro2!=1 && $erro3!=1):
 mysql_query("INSERT INTO tabela(login, email, senha) VALUES('$login', '$email', '$senha')");
endif;
$query=mysql_query("SELECT login FROM tabela WHERE login='$login'");
$query2=mysql_query("SELECT senha FROM tabela WHERE senha='$senha'");
$query3=mysql_query("SELECT email FROM tabela WHERE email='$email'");
if(mysql_num_rows($query)>1 && mysql_num_rows($query2)>1 && mysql_num_rows($query3)>1){
 echo"<script>alert('Cadastro efetuado com sucesso!!')</script>";
 echo"<script>window.location.href='index.html'</script>";
}
else{
   echo"Houve um erro no cadastro!";
}
}
}
else{
   echo"Metodo nao autorizado!";
   echo"<script>window.location.href='www.google.com.br'</script>";
}    
?>

Sempre aparece Houve um erro no cadastro! ( echo"Houve um erro no cadastro!"; )

 

Mas ai quando eu olho do DB, o usuario foi cadastrado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se a tabela é só uma pra que 03 SELECTS?

 

Use somente um com operador AND

Compartilhar este post


Link para o post
Compartilhar em outros sites

Testa ae, agora essa de mostrar que já tem uma senha igual em uso foi pra cabar em mano!

 

<?php
if($_SERVER["REQUEST_METHOD"]=="POST"){
	$nome = isset($_POST["nome"]) ? strip_tags($_POST["nome"]):"";
	$num = isset($_POST["num"]) ? strip_tags($_POST["num"]):"";
	$email = isset($_POST["mail"]) ? strip_tags($_POST["mail"]):"";
	$pais = isset($_POST["pais"]) ? strip_tags($_POST["pais"]):"";
	$login = isset($_POST["login"]) ? strip_tags($_POST["login"]):"";
	$senha = isset($_POST["senha"]) ? strip_tags($_POST["senha"]):"";
	
if(empty($email) || empty($login) || empty($senha)){
	
	echo"<script>alert('Os campos E-mail, Login e Senha Devem estar preenchidos!')</script>";
	echo"<script>history.go(-1)</script>";
	
} else {
   
	mysql_connect("localhost", "user", "senha") or die(mysql_error());
	mysql_select_db("guerrasmedievais_zzl_tabela") or die(mysql_error());
   
	$sql = mysql_query("SELECT * FROM tabela WHERE login=". $login );
	if(mysql_num_rows($sql)==1){
		 
		echo"<script>alert('O login digitado ja consta no banco de dados!')</script>";
		echo"<script>history.go(-1)</script>";
		exit();
   
	}
   
	$sql = mysql_query("SELECT * FROM tabela WHERE email=". $email );
	if(mysql_num_rows($sql)==1){
		 
		echo"<script>alert('O email digitado ja consta no banco de dados!')</script>";
		echo"<script>history.go(-1)</script>";
		exit();
   
	}
   
	$Insert = mysql_query("INSERT INTO tabela(login, email, senha) VALUES('$login', '$email', '$senha')");
	
	if($Insert !==false ){
		echo"<script>alert('Cadastro efetuado com sucesso!!')</script>";
		echo"<script>window.location.href='index.html'</script>";
	}else{
		echo"Houve um erro no cadastro!";
	}

} else {
   echo"Metodo nao autorizado!";
   echo"<script>window.location.href='www.google.com.br'</script>";
}    
?>

e procure sobre boas praticas de programação ta precisando!!!!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

pq pra acabar? Vou testar aqui! Tem outra coisa cara! Passei o dia fazendo scritps e esse foi um dos ultimos! Ja era 11 horas da noite e eu tinha acordado cedo! Foi na doida mesmo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

pq pra acabar?

falcao544...acho que o que o WDuarte quiz dizer é que...se tem um sistema com cadastro de login e senha...e você avisar que a senha já está cadastrada..quer dizer que...se for uma pessoa maliciosa...já saberá a senha de alguém e poderá fazer bagunça com a conta de uma outra pessoa.

 

Abraços e bom fim de senama!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Roberto_S_Luz

 

Foi isso mesmo que eu quiz dizer, já pensou na hora do cadastro, o cara avisar que login já esta em uso e a senha, pronto já tem toda informação que precisa se usuario tem uma queda para o mal intencionamento.

 

@falcao544

 

Isso que você faz de acordar cedo e parar meia noite eu faço todo dia, mas procuro pequisar antes de fazer qualquer coisa e não saiu programando na doida, o que é um tremendo erro.

 

E recomendo a leitura para que possa melhorar seus scripts até mesmo para que possamos ajuda-lo!

 

http://forum.imasters.com.br/index.php?/topic/375491-erros-comuns-com-php/

 

http://forum.imasters.com.br/index.php?/topic/229485-tratamento-de-erros/

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode tentar inverter o texto que ta no IF com o q ta no ELSE, às vezes isso funciona para desbugar e você destroca depois se parar de funcionar.

 

Até mais. Valeu ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

WDuarte nao é por nada mas você tem quantos anos? Você já fez cursode PHP ou Faculdade? Por que eu to apredndendo tudo sozinho só fiz um curso de logica e um de C ! MAS obrigado pela ajuda! Ainda to aprendendo algumas funções! E sobre a boa prática de programação, se você se refere à identação, eu sempre escrevo meus códigos assim, não gosto daquelas identações enormes! Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

WDuarte o seu script tbm nao funcionou! As verificações nao funcionam! Dá um erro que diz:

 

 

mysql_num_rows: suplied argument is not a valid MySQL resource result in (ENDEREÇO) line 21 e 30!

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.