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

Não consigo inserir no BD com PDO


GabiGui

Pergunta

Pessoal, sou nova na informática, e to fazendo uma rede social com php e pdo pra o tcc do meu curso, só que não consigo inserir dados no banco de dados, simplesmente não funciona, alguém pode me ajudar? 

segue o código do formulário

<div id="formulario">
    
            <?php 
    
                if (isset($_SERVER['REQUEST_METHOD']) AND $_SERVER['REQUEST_METHOD'] == 'POST'){
                    extract($_POST);
                    
                
                    if($nome == '' OR strlen($nome)<2){    
                        echo "Por favor, escreva seu nome corretamente";
                    }
                    elseif ($sobrenome == '' OR strlen ($sobrenome)<2){
                        echo "Por favor, escreva seu sobrenome corretamente";
                        
                    }                    
                    else{
                        include ('_php/BD.class.php') ;
                        $verificar =BD::getConn()->prepare("SELECT `id` FROM `usuarios` WHERE `email`=?");
                        if ($verificar->execute(array($email))){
                            
                            if($verificar->rowCount()>=1){
                                echo "Este email já está cadastrado em nosso sistema";
                            }
                            elseif(strlen($senha)<8){
                                echo "Digite uma senha de 8 caracteres no mínimo";
                            }
                            else{
                                $senhaInsert = sha1($senha);
                                $datanascimento="$dataNasc";
                                $inserir = BD::getConn()->prepare("INSERT INTO `usuarios` SET `email`=?, `senha`=?, `nome`=?, `sobrenome`=?,`sexo`=?, `datanascimento`=?, `cadastro`=NOW ");
                                if ($inserir->execute(array($email,$senhaInsert,$nome,$sobrenome,$sexo,$datanascimento)))
                                {
                                    header ('Location ./');
                                    
                                }
                                
                            }
                        }
                                
                        
                    }
                
                }
                
            
                
            ?>

                <div id = "entrar">
                    <form name="entrar" method="post" action="_php/BD.class.php">
                        <input type="email" name="email" placeholder="Email" class="form1" maxlength="30" required> <br/>
                        <input type="password" name="senha" placeholder="Senha" class="form1" maxlength="10" required><br/>
                        <input type="submit" name="entrar" class="bt" value="Entrar" maxlength="10"><br/>
                    </form>
                </div>
                
                
                <div id ="cadastrar">
                    <b>Ou cadastre-se</b></br>
                    <form name="cadastrar" method="post" action="">
                        <input type="text" name="nome" placeholder="Nome" class="form1" maxlength="40" value = "<?php echo $nome; ?>" required//>
                        <input type="text" name="sobrenome" placeholder="Sobrenome" class="form1" maxlength="40"  value = "<?php echo $sobrenome; ?>" required/><br/>
                        <input type="email" name="email" placeholder="Email" class="form1" maxlength="30"  value = "<?php echo $email; ?>"required/> <br/>
                        <input type="password" name="senha" placeholder="Senha" class="form1" maxlength="10" required/><br/>
                        Data de nascimento <br/>
                        <input type ="date" name="dataNasc" class = "form1" required>
                        Feminino <input  type="radio" name="sexo" class="form1" value = "Feminino" required/>
                        Masculino<input  type="radio" name="sexo" class="form1" value = "Masculino" required/><br/>    
                        <input type="submit" name="cadastrar" class="bt"  maxlength="10" / ><br/>
                    </form>
                </div>

 

e o código da conexão com o BD... 

<?php 
    class BD{
        private static $conn;
        static function getConn(){
            if (is_null (self::$conn)) {
                self::$conn = new PDO('mysql:host=localhost;dbname=asasparaajudar','root','');
            }
            return self::$conn;
            
        }
        
    }

?>


                

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Olá Gabi!

Só pra constar:

     Nos input[type=submit] não precisa ter maxlength

     Não existe </br>, em html5 use apenas <br> sem barra alguma

     Em header('Location: ./'); tá faltando o sinal de dois pontos.

 

Editado por lowys
Link para o comentário
Compartilhar em outros sites

  • 0

1. ahe.. sql de "insert" errada (no zip também); sintaxe:
http://www.google.com.br/search?q=insert+sql&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:pt-BR:official&client=firefox-a&gfe_rd=cr&ei=k1ZjVp26LOWw8wf7rIfwAQ

2 deixe os campos do form em branco.

3. Habilite Todas as Exibições de Erro enquanto estiver desenvolvendo:

http://forum.imasters.com.br/topic/542539-atencao-orientacoes-e-regras-do-forum-de-php/, item 3

4 receber mensagens de erro na sql com pdo (no teu caso):

$inserir->execute() or exit(print_r($inserir->errorInfo(), true));
Editado por Marcelo_2
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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...