Insert Data into PHP PDO Database

1

Good evening, I'd like some help with my code. I'm trying to insert some data, coming from a form, into the database. Here is the code:

insertCadastro.php

session_start();
include_once("settings.php");



//Verifica se clicou no botão
$enviarCadastro=filter_input(INPUT_POST, 'enviarCadastro', FILTER_SANITIZE_STRING);
if($enviarCadastro){
    $nome = $_POST['nome'];
    $sobrenome = $_POST['sobrenome'];
    $data = $_POST['data'];
    $data_int = (int)$data;
    $cpf = $_POST['cpf'];
    $cpf_int = (int)$cpf;
    $email = $_POST['email'];
    $pais = $_POST['pais'];
    $estado = $_POST['estado'];
    $login = $_POST['login'];
    $senha = $_POST['senha'];
    $rsenha = $_POST['rsenha'];





    $inserir = $pdo->prepare("INSERT INTO cadastro(nome, sobrenome, data, cpf, email, pais, estado, login, senha, rsenha) VALUES (:nome, :sobrenome, :data, :cpf, :email, :pais, :estado, :login, :senha, :rsenha)");

    $PreparaDados = array(
        ':nome' => $nome,
        ':sobrenome' => $sobrenome,
        ':data' => $data_int,
        ':cpf' => $cpf_int,
        ':email' => $email,
        ':pais' => $pais,
        ':estado' => $estado,
        ':login' => $login,
        ':senha' => $senha,
        ':rsenha' => $rsenha,

    );

    $inserir->bindParam(':nome', $nome, PDO::PARAM_STR, 50);
    $inserir->bindParam(':sobrenome', $sobrenome, PDO::PARAM_STR, 50);
    $inserir->bindParam(':data', $data_int, PDO::PARAM_INT, 50);
    $inserir->bindParam(':cpf', $cpf_int, PDO::PARAM_INT, 50);
    $inserir->bindParam(':email', $email, PDO::PARAM_STR, 50);
    $inserir->bindParam(':pais', $pais, PDO::PARAM_STR, 50);
    $inserir->bindParam(':estado', $estado, PDO::PARAM_STR, 50);
    $inserir->bindParam(':login', $login, PDO::PARAM_STR, 50);
    $inserir->bindParam(':senha', $senha, PDO::PARAM_STR, 50);
    $inserir->bindParam(':rsenha', $rsenha, PDO::PARAM_STR, 50);

    $inserir->execute($PreparaDados);

    if($inserir->execute($PreparaDados)){
        echo"Sucesso";
    }else{
        echo"Falha";
    }   
}else{
    //Dados Não enviado para o banco de dados
    $_SESSION ['NãoCadastrado'] = "Cadastro não realizado";
    header("Location: cadastro.php");
}

cadastro.php

<form action="inserirCadastro.php" method="post" enctype="multipart/form-data" >


            <!--      NOME        -->
            <?php $nome = array_key_exists('nome', $_POST) ? $_POST['nome'] : ''; ?>
            <p><input type="text" name="nome" id="nome" placeholder="Nome" class="form-control input-md" maxlength="25" value="<?php echo $nome; ?>" /></p>
            <?php
                if($_POST) {
                $nome = $_POST['nome'];
                    if ($nome == "") {
                    echo '<p style="font-family: Microsoft JhengHei Light; color:#fff;"><strong style="color:#8E0303;">Aviso:</strong> Campo não preenchido!</p>';
            }}?>    


            <!--      SOBRENOME        -->
            <?php $sobrenome = array_key_exists('sobrenome', $_POST) ? $_POST['sobrenome'] : ''; ?>
            <p><input type="text" name="sobrenome" id="sobrenome" placeholder="Sobrenome" class="form-control input-md" maxlength="25" value="<?php echo $sobrenome; ?>"/></p>
            <?php
                if($_POST) {
                $sobrenome = $_POST['sobrenome'];
                    if ($sobrenome == "") {
                    echo '<p style="font-family: Microsoft JhengHei Light;color:#fff;"><strong style="color:#8E0303;">Aviso:</strong> Campo não preenchido!</p>';
            }}?>


            <!--      DATA        -->
            <?php $data = array_key_exists('data', $_POST) ? $_POST['data'] : ''; ?>
            <p><input type="text" name="data" id="data" placeholder="Data de Nascimento" class="form-control input-md" maxlength="10"  OnKeyUp="mascaraData(this);" onkeypress='return SomenteNumero(event)' value="<?php echo $data; ?>"/></p>
            <script language="JavaScript" type="text/javascript">
                function mascaraData(campoData){
                var data = campoData.value;
                    if (data.length == 2){
                    data = data + '/';
                    document.forms[0].data.value = data;
                    return true;              
                }
                if (data.length == 5){
                  data = data + '/';
                  document.forms[0].data.value = data;
                  return true;
                }
            }
            </script>
            <script language='JavaScript'>
                function SomenteNumero(e){
                var tecla=(window.event)?event.keyCode:e.which;   
                if((tecla>47 && tecla<58)) return true;
                else{
                    if (tecla==8 || tecla==0) return true;
                else  return false;
                }
            }
            </script>
            <?php
            if($_POST) {
            $data = $_POST['data'];
                if ($data== "") {
            echo '<p style="font-family: Microsoft JhengHei Light;color:#fff;"><strong style="color:#8E0303;">Aviso:</strong> Campo não preenchido!</p>';
            }}?>


            <!--      CPF        -->
            <?php $cpf = array_key_exists('cpf', $_POST) ? $_POST['cpf'] : ''; ?>
            <p><input type="text" name="cpf" id="cpf" placeholder="CPF" class="form-control input-md" maxlength="11" value="<?php echo $cpf; ?>"></p>
            <?php
                function validaCPF($cpf)
                {   // Verifiva se o número digitado contém todos os digitos
                    $cpf = str_pad(preg_replace('[^0-9]', '', $cpf), 11, '0', STR_PAD_LEFT);                        
                    // Verifica se nenhuma das sequências abaixo foi digitada, caso seja, retorna falso
                    if (strlen($cpf) != 11 || $cpf == '00000000000' || $cpf == '11111111111' || $cpf == '22222222222' || $cpf == '33333333333' || $cpf == '44444444444' || $cpf == '55555555555' || $cpf == '66666666666' || $cpf == '77777777777' || $cpf == '88888888888' || $cpf == '99999999999')
                    {
                    return false;
                    }
                    else
                    {   // Calcula os números para verificar se o CPF é verdadeiro
                        for ($t = 9; $t < 11; $t++) {
                            for ($d = 0, $c = 0; $c < $t; $c++) {
                                $d += $cpf{$c} * (($t + 1) - $c);
                            }                    
                            $d = ((10 * $d) % 11) % 10;
                            if ($cpf{$c} != $d) {
                                return false;
                            }
                        }                    
                        return true;
                    }
                }           
                // Verifica se o botão de validação foi acionado
                if(isset($_POST['cadastrar']))
                    {// Adiciona o numero enviado na variavel $cpf_enviado, poderia ser outro nome, e executa a função acima
                    $cpf_enviado = validaCPF($_POST['cpf']);
                    // Verifica a resposta da função e exibe na tela
                    if($cpf_enviado == true)
                        echo '';
                    elseif($cpf_enviado == false)
                        echo '<p style="font-family: Microsoft JhengHei Light;color:#fff;"><strong style="color:#8E0303;">Aviso:</strong> CPF Inválido!</p>';
                }
            ?>
            <small><a href="#myModal" data-toggle="modal" data-target="#myModal"><p style="font-size:10px;">Por que o CPF ?</p></a></small>

            <!-- Modal -->
            <div id="myModal" class="modal fade" role="dialog">
                <div class="modal-dialog">
                    <!-- Modal content-->
                    <div class="modal-content">
                        <div class="modal-header">
                            <button type="button" class="close" data-dismiss="modal">&times;</button>
                            <h4 class="modal-title"><center><p style="font-family:Gill Sans MT Condensed; font-size:35px;font-family: Microsoft JhengHei Light;">Por que o CPF ?</p></center></h4>
                        </div>
                        <div class="modal-body">
                            <p style="font-family: Microsoft JhengHei Light;"> Para evitar o "flood" de comentários em nosso site, optamos por pedir o número do CPF para que o usúario possa se cadastrar somente uma vez no site.</p>
                            <p style="font-family: Microsoft JhengHei Light;">Evitando assim, de qualquer usúario ter duas ou mais contas registradas no site.</p>
                        </div>
                        <div class="modal-footer">
                            <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                        </div>
                    </div>
                </div>
            </div>


            <!--      EMAIL        -->
            <?php $email = array_key_exists('email', $_POST) ? $_POST['email'] : ''; ?>
            <p><input type="text" name="email" id="email" placeholder="E-mail" class="form-control input-md" maxlength="50" value="<?php echo $email; ?>"/></p>
            <?php
            if($_POST){
            $email = $_POST['email'];
                if ($email == "") {
                    echo '<p style="font-family: Microsoft JhengHei Light;color:#fff;"><strong style="color:#8E0303;">Aviso:</strong> Campo não preenchido!</p>';
            }}?>
            <?php
            function isMail($email){
                $er = "/^(([0-9a-zA-Z]+[-._+&])*[0-9a-zA-Z]+@([-0-9a-zA-Z]+[.])+[a-zA-Z]{2,6}){0,1}$/";
                if (preg_match($er, $email)){
                return true;
                } else {
                return false;
                }
            }
            if(isset($_POST['cadastrar']))
                $emailvalida = isMail($_POST['email']);
            {
            if (isMail($email))
            {               
            } elseif (@$emailvalida == false) {
                echo '<p style="font-family: Microsoft JhengHei Light;color:#fff;"><strong style="color:#8E0303;">Aviso:</strong> Email inválido!</p>';
            }}
            ?>


            <!--      PAIS        -->
            <?php $pais = array_key_exists('pais', $_POST) ? $_POST['pais'] : ''; ?>
                    <p><input type="text" name="pais" id="pais" placeholder="País" class="form-control input-md" maxlength="50" value="<?php echo $pais; ?>" /></p>
                <?php
                if($_POST) {
                $pais = $_POST['pais'];
                    if ($pais == "") {
                        echo '<p style="font-family: Microsoft JhengHei Light;color:#fff;"><strong style="color:#8E0303;">Aviso:</strong> Campo não preenchido!</p>';
            }}?>


            <!--      ESTADO        -->
            <?php $estado = array_key_exists('estado', $_POST) ? $_POST['estado'] : ''; ?>
            <p><input type="text" name="estado" id="estado" placeholder="Estado" class="form-control input-md" maxlength="50" value="<?php echo $estado; ?>" /></p>
            <?php
            if($_POST) {
            $estado = $_POST['estado'];
                if ($estado == "") {
                echo '<p style="font-family: Microsoft JhengHei Light;color:#fff;"><strong style="color:#8E0303;">Aviso:</strong> Campo não preenchido!</p>';
            }}?>


            <legend style="color:#fff">Social</legend>


            <!--      LOGIN        -->
            <?php $login = array_key_exists('login', $_POST) ? $_POST['login'] : ''; ?>
            <p><input type="text" name="login" id="login" placeholder="Login" class="form-control input-md" maxlength="15" value="<?php echo $login; ?>"/></p>
            <?php
            if($_POST) {
            $login = $_POST['login'];
                if ($login == "") {
                    echo '<p style="font-family: Microsoft JhengHei Light;color:#fff;"><strong style="color:#8E0303;">Aviso:</strong> Campo não preenchido!</p>';
            }}?>        


            <!--      SENHA        -->
            <?php $senha = array_key_exists('senha', $_POST) ? $_POST['senha'] : ''; ?>
            <p><input type="password" name="senha" id="senha" placeholder="Senha" class="form-control input-md" value="<?php echo $senha; ?>"/></p>

            <?php
            if($_POST) {
            $senha = $_POST['senha'];
                if ($senha == "") {
                    echo '<p style="font-family: Microsoft JhengHei Light;color:#fff;"><strong style="color:#8E0303;">Aviso:</strong> Campo não preenchido!</p>';
            }}?>


            <!--      RSENHA        -->
            <?php $rsenha = array_key_exists('rsenha', $_POST) ? $_POST['rsenha'] : ''; ?>
            <p><input type="password" name="rsenha" id="rsenha" placeholder="Confirme a Senha" class="form-control input-md" value="<?php echo $rsenha; ?>"/></p>
            <?php
            if($_POST) {
            $senha          = $_POST['senha'];
            $senhaConfirma  = $_POST['rsenha'];
                if ($senha == "") {
                    echo '<p style="font-family: Microsoft JhengHei Light;color:#fff;"><strong style="color:#8E0303;">Aviso:</strong> Campo não preenchido!</p>';
                } else if ($senha == $senhaConfirma) {                   
                } else {
                    echo '<p style="font-family: Microsoft JhengHei Light;color:#fff;"><strong style="color:#8E0303;">Aviso:</strong> Senha não confere!</p>';
                }              
            }
            ?>

            <script type="text/javascript">
                $(document).ready(function() {
                $('#rsenha').bind('cut copy paste', function(event) {
                event.preventDefault();
                }); 
             });
            </script>

            <p style="float:right;">

            <input type="submit" name="enviarCadastro" value="Cadastrar" class="form-control input-md" />

        </form>

settings.php

    <?php
$pdo = new PDO("mysql:host=localhost;dbname=bd_winfo", "root", ""); 

?>

No error appears, just returns in else as "Failed"

    
asked by anonymous 02.05.2018 / 01:31

1 answer

1
session_start();
include_once("settings.php");

//Verifica se clicou no botão
$enviarCadastro=filter_input(INPUT_POST, 'enviarCadastro', FILTER_SANITIZE_STRING);
if($enviarCadastro){
    $nome = $_POST['nome'];
    $sobrenome = $_POST['sobrenome'];
    $data = $_POST['data'];
    $data_int = (int)$data;
    $cpf = $_POST['cpf'];
    $cpf_int = (int)$cpf;
    $email = $_POST['email'];
    $pais = $_POST['pais'];
    $estado = $_POST['estado'];
    $login = $_POST['login'];
    $senha = $_POST['senha'];
    $rsenha = $_POST['rsenha'];

    $inserir = $pdo->prepare("INSERT INTO cadastro(nome, sobrenome, data, cpf, email, pais, estado, login, senha, rsenha) VALUES (:nome, :sobrenome, :data, :cpf, :email, :pais, :estado, :login, :senha, :rsenha)");

    $inserir->bindParam(':nome', $nome, PDO::PARAM_STR, 50);
    $inserir->bindParam(':sobrenome', $sobrenome, PDO::PARAM_STR, 50);
    $inserir->bindParam(':data', $data_int, PDO::PARAM_INT, 50);
    $inserir->bindParam(':cpf', $cpf_int, PDO::PARAM_INT, 50);
    $inserir->bindParam(':email', $email, PDO::PARAM_STR, 50);
    $inserir->bindParam(':pais', $pais, PDO::PARAM_STR, 50);
    $inserir->bindParam(':estado', $estado, PDO::PARAM_STR, 50);
    $inserir->bindParam(':login', $login, PDO::PARAM_STR, 50);
    $inserir->bindParam(':senha', $senha, PDO::PARAM_STR, 50);
    $inserir->bindParam(':rsenha', $rsenha, PDO::PARAM_STR, 50);

    if($inserir->execute()){
        echo"Sucesso";
    }else{
        echo"Falha";
    }   
}else{
    //Dados Não enviado para o banco de dados
    $_SESSION ['NãoCadastrado'] = "Cadastro não realizado";
    header("Location: cadastro.php");
}
    
02.05.2018 / 01:39