Dois avisos sendo exibidos!

Bom, estou desenvolvendo um sistema, utilizando sessões para exibir avisos de erro ou success.

Atualmente está assim:

    if(isset($resultado)){
            $_SESSION['cadastro_duplicado'] = "Este produto já encontra-se cadastrado no sistema!";
			header("Location: ../cadastrarproduto.php");
        }else{
            //cadastrando no banco
            $sql = mysqli_query($con, "INSERT INTO `produtos`(`codproduto`, `produto`, `categoria`, `custo`, `qtdestoque`,`qtdminima`)
			VALUES ('$codproduto', '$produto', '$categoria', '$custo', '$qtdestoque', '$qtdminima')");
        }
		if(mysqli_affected_rows($con)){
	$_SESSION['autenticado'] = "Nenhum produto foi cadastrado!";
			header("Location: ../cadastrarproduto.php");
}else{
        $_SESSION['nao_autenticado'] = "Produto cadastrado!";
			header("Location: ../cadastrarproduto.php");
     }

Porém, ao cadastrar produtos já cadastrados, exibe o erro “Este produto já encontra-se cadastrado no sistema!” e também o “Produto cadastrado!”

Não sei o que fazer para exibir apenas o de produto já cadastrado, apenas ele está com esse erro.

Você deve ter certeza que a inserção no banco ocorreu com sucesso para exibir “Produto Cadastrado!”. A melhor forma de saber se isso ocorreu é recuperando o valor de retorno da função mysqli_query que, conforme a documentação, retorna true para o caso de sucesso. Nesse sentido, eu testaria o valor de $sql para exibir a mensagem.

1 curtida