Jump to content
Fórum Script Brasil
  • 0

Não consigo inserir no BD com PDO


GabiGui
 Share

Question

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 to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 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.

 

Edited by lowys
Link to comment
Share on other 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));
Edited by Marcelo_2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      149.9k
    • Total Posts
      646.8k
×
×
  • Create New...