Ir para conteúdo
Fórum Script Brasil
  • 0

Registro em Banco de Dados - Problemas


Diego Fox

Pergunta

Olá Pessoal,

Outro problema que estou passando é o seguinte..

Não estou conseguindo registrar no banco de dados o NOME E EMAIL de um possivel formulario q estou criando...

Eu coloco para caso o usuario não digite nada, não seja aceito..

segue o codigo...

<?

/* Conecta ao Banco de Dados */
include 'conexao.php';

/* Variáveis */
$nome = $_POST['nome'];
$email = $_POST['email'];

/*
 * monta query em SQL para inserção
 */
$sql = "INSERT INTO carta (
nome,
email
) VALUES (
'".$_POST['nome']."',
'".$_POST['email']."'
)";

/*
 * monta query em SQL para exclusão
 */
$sql2 = "DELETE FROM carta WHERE nome='".$_POST['nome']."' AND email='".$_POST['email']."'";

if(($_POST['nome']=="") && ($_POST['email']==""))
{echo "<p class='erro'>Erro: Preencha todos os campos!</p><p class='voltar'><a href='java script:history.back()' title='Voltar'>&laquo; Voltar</a></p>";}

else {
    if ($acao=="Cadastrar") {
        $sql3 = mysql_query("SELECT email FROM carta WHERE email='".$_POST['email']."'") or die ("<p>Ocorreu o seguinte erro:". mysql_error()."</p><p><a href='java script:window.close()' title='Fechar'>[X] Fechar</a></p>"); /* consulta no bd */
        $num = mysql_num_rows($sql3); /* vê quantos registros tem no bd */
        if($num >= "1"){ /* se tiver 1 ou mais registros, mostra a mensagem a seguir */
         echo "<p>O email fornecido já está cadastrado.</p><p><a href='java script:window.close()' title='Fechar'>[X] Fechar</a></p>";
        } else {
        $sql = mysql_query($sql)
        or die ("<p>Houve um erro na gravação dos dados.</p><p><a href='java script:window.close()' title='Fechar'>[X] Fechar</a></p>");
        $msg = "Bem-Vindo à Carta de Notícias".$_POST['nome'].". Periodicamente, você receberá as novidades em relação à banda.";
        $headers = "From: Badogue <diego.fox001@gmail.com>\r\n";
        mail($_POST['email'], "Badogue - Carta de Notícias", $msg, $headers);
        echo "<p>Obrigado, ".$_POST['nome'].".</p>";
        echo "<p>O e-mail ".$_POST['email']." foi cadastrado com sucesso.</p>";
        echo "<p><a href='java script:window.close()' title='Fechar'>[X] Fechar</a></p>";
        }
    }
    else if ($acao=="Descadastrar") {
        $sql4 = mysql_query("SELECT email FROM carta WHERE email='".$_POST['email']."'") or die ("<p>Ocorreu o seguinte erro:". mysql_error()."</p><p><a href='java script:window.close()' title='Fechar'>[X] Fechar</a></p>"); /* consulta no bd */
        $num = mysql_num_rows($sql4); /* vê quantos registros tem no bd */
        if($num == "0"){ /* se não tiver nenhum registro, mostra a mensagem a seguir */
         echo "<p>O email fornecido não está cadastrado.</p><p><a href='java script:window.close()' title='Fechar'>[X] Fechar</a></p>";
        } else {
        $sql5 = mysql_query($sql2)
        or die ("<p>Houve um erro na gravação dos dados.</p><p><a href='java script:window.close()' title='Fechar'>[X] Fechar</a></p>");
        echo "<p>Pronto, ".$_POST['nome'].".</p>";
        echo "<p>O e-mail ".$_POST['email']." foi descadastrado com sucesso.</p>";
        echo "<p><a href='java script:window.close()' title='Fechar'>[X] Fechar</a></p>";
        }
    }
}

?>
</body>
</html>

Sempre aparece: Erro: Preencha todos os campos!

O que estou fazendo de errado?

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

O erro aparentemente é no seu formulário verifique oos nomes do campos e o método do formulário

o metodo tem que ser post e o campos devem estar com os nomes: nome e email exatamente iguais

Link para o comentário
Compartilhar em outros sites

  • 0

Olá Norivan,

Não acredito que seja esse o erro...

o formulario e os campos estão corretos..

segue o codigo..

<?

/* Conecta ao Banco de Dados */
include 'conexao.php';

?>
<div id="box2">
    <h3>Carta de Not&iacute;cias</h3>
    <p><span class="aviso">Cadastre-se aqui!</span></p>
    <form action="form_newsletter.php"  id="formulario_newsletter" onsubmit="return checkForm2();" onreset="limpaForm();">
    <fieldset>
     <p id="erro">Preencha corretamente!</p>
     <label for="nome"><span style="text-decoration:underline;">N</span>ome:</label>
     <input name="nome" type="text" id="nome" tabindex="1" accesskey="n" size="18" value="" /><br /><br />
     <label for="email"><span style="text-decoration:underline;">E</span>-mail:</label>
     <input name="email" type="text"  id="email" tabindex="2" accesskey="e" size="18" value="" /><br /><br />
     <label for="acao">A&ccedil;&atilde;o:</label> 
     <select name="acao" id="acao" tabindex="3">
      <option value="Cadastrar">Cadastrar</option>
      <option value="Descadastrar">Descadastrar</option>
     </select><br /><br />
     <button type="submit" tabindex="4">Enviar</button> <button type="reset" tabindex="5">Limpar</button>
    </fieldset>
    </form>
   </div>
</body>
</html>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...