Ir para conteúdo

POWERED BY:

Arquivado

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

Kakaroto1309

O que tem de errado?

Recommended Posts

Não consigo achar o erro, ele me retorna o erro

Parse error: syntax error, unexpected T_ELSE in /home/meusite/public_html/inserir_clientes.php on line 37

 

if ($nome!="" and $rg!="" and $cidade!="" and $cidade!="Selecione")
{
$inserir = mysql_query("INSERT INTO clientes (nome,rg,cidade) VALUES ('$nome','$rg','$cidade')");
$procura=mysql_query("SELECT nome FROM clientes WHERE nome='$nome'");
if ($procura == false)
	{
	if ($inserir)
		{
		echo "Cadastro realizado com Sucesso!<br>";
		echo "<a href='clientes.php'>Voltar</a>";
		}
		else
		{
		echo "Não cadastrado. Login Existente.";
		echo "<a href='javascript:history.back(1);'>Voltar</a>";
		}
	else  ------------------ LINHA 37 É ESSA ----------------------
	{
	echo "Nome já cadastrado.";
	}
}
else
{
echo "Não pode haver campos em branco ou deselecionados";
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

if ($nome!="" and $rg!="" and $cidade!="" and $cidade!="Selecione")
{
$inserir = mysql_query("INSERT INTO clientes (nome,rg,cidade) VALUES ('$nome','$rg','$cidade')");
$procura=mysql_query("SELECT nome FROM clientes WHERE nome='$nome'");
if ($procura == false)
	{
	if ($inserir)
		{
		echo "Cadastro realizado com Sucesso!<br>";
		echo "<a href='clientes.php'>Voltar</a>";
		}
		else
		{
		echo "Não cadastrado. Login Existente.";
		echo "<a href='javascript:history.back(1);'>Voltar</a>";
		}
               } // <-- Faltou fechar o ($procura == false)
	else  ------------------ LINHA 37 É ESSA ----------------------
	{
	echo "Nome já cadastrado.";
	}
}
else
{
echo "Não pode haver campos em branco ou deselecionados";
}

 

At+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeus Vinicius

 

Deu certo Quelipe, porém toda vez que eu digito um nome e do em enviar, ele da o erro NOME JA EXISTENTE e cadastra do mesmo jeito no bd, sabe como posso resolver?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ops, é isso aí, a indentação me confundiu, tenho certeza que assim como você também Kakaroto1309.

Sempre indente seu código, você acha o erro na hora!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça sua query de validação do nome primeiro e a de gravação coloque dentro da condição verdadeira.

 

At+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim independente de existir ou não você está inserindo no banco e só depois que consulta.

 

Faz um select procurando o registro, se encontrar envia o erro, se não, cadastra o nome!

 

=)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Troque

 

$procura=mysql_query("SELECT nome FROM clientes WHERE nome='$nome'");
if ($procura == false)

 

por:

 

$procura=mysql_query("SELECT nome FROM clientes WHERE nome='$nome'");
$existe = mysql_num_rows($procura);

if ($existe == 0) // Nenhum registro encontrado
{
// grava
}
else
{
// ja existe o nome
}

Compartilhar este post


Link para o post
Compartilhar em outros sites


if(!= "") {
  consulta
  if(consulta) {
     já cadastrado
  }else {
     inseri
     if(inseri) {
        cadastrado con sucesso
     } else {
        não cadastrado
     }
  }
} else {
  não pode branco
}

 

a lógica é essa.

 

At+

Compartilhar este post


Link para o post
Compartilhar em outros sites

o mysql_query() executa uma query =)

o mysql_num_rows() verifica a quantidade de linhas que sua consulta retornou

 

ou seja da forma que você estava fazendo ele retornava TRUE porque a query foi executada com sucesso! Sempre iria retornar TRUE nesse caso

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.