Jump to content
Fórum Script Brasil

Search the Community

Showing results for tags 'pdo'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Programação & Desenvolvimento
    • ASP
    • PHP
    • .NET
    • Java
    • C, C++
    • Delphi, Kylix
    • Lógica de Programação
    • Mobile
    • Visual Basic
    • Outras Linguagens de Programação
  • WEB
    • HTML, XHTML, CSS
    • Ajax, JavaScript, XML, DOM
    • Editores
  • Arte & Design
    • Corel Draw
    • Fireworks
    • Flash & ActionScript
    • Photoshop
    • Outros Programas de Arte e Design
  • Sistemas Operacionais
    • Microsoft Windows
    • GNU/Linux
    • Outros Sistemas Operacionais
  • Softwares, Hardwares e Redes
    • Microsoft Office
    • Softwares Livres
    • Outros Softwares
    • Hardware
    • Redes
  • Banco de Dados
    • Access
    • MySQL
    • PostgreSQL
    • SQL Server
    • Demais Bancos
  • Segurança e Malwares
    • Segurança
    • Remoção De Malwares
  • Empregos
    • Vagas Efetivas
    • Vagas para Estágios
    • Oportunidades para Freelances
  • Negócios & Oportunidades
    • Classificados & Serviços
    • Eventos
  • Geral
    • Avaliações de Trabalhos
    • Links
    • Outros Assuntos
    • Entretenimento
  • Script Brasil
    • Novidades e Anúncios Script Brasil
    • Mercado Livre / Mercado Sócios
    • Sugestões e Críticas
    • Apresentações

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

  1. Venho a baixo depois de muitas pesquisas nos foruns, etc. juntando um script aqui outro ali, e fui montando o sistema que esta funcionando 100%, mas gostaria da ajuda dos senhores mais experientes com a melhoria do mesmo sendo assim decidi postar ele completo pra voces. para ver funcionando e testar.. USANDO PHP 7 e PDO e mysqli... obs. tem um sistema de login tb. pra proteger um pouco de curiosos.. Ola.. baixei a versao online limpei o banco de dados, e modifiquei os arquivos de conexao pra conexao local. usando o Xamp crie o banco de dados polo, carregue o arquivo polo.sql que ele vai criar as tabelas login: [email protected] senha: 123 qualquer alteração que fizer por favor poste aqui pra galera ok. novo link de download.. https://drive.google.com/drive/folders/1b4eWmDi1bw5YxUuQnEvIZqqOsj9Zbmvp?usp=sharing
  2. Olá pessoal, queria saber se alguém tem um exemplo de script em PHP de perfil de usuário que contenha a foto do perfil, o nome e uma descrição do usuário... preciso colocar tudo isso no banco de dados também. Eu não tenho noção nenhuma de como fazer isso e não achei nenhum tutorial na internet. Agradeço a ajuda
  3. Olá, sou novo aqui, tipo acabei de criar uma conta. E já quero perguntar como posso fazer um sistema de UPDATE e de DELETE com esse script aqui que peguei de um tutorial gringo colocarei aqui em baixo o script completo + o script de conexão ao banco de dados. Em relação a formulário, ta tudo de boas eu crio, o dilema mesmo é o código de cadastrar que quero usar como base para o de editar e o deletar, se alguém poder pegar esse código e modificar, e depois colocar aqui mostrando como fica, eu agradeço muito. Código de validação(o que quero usar para fazer o sistema de UPDATE e de DELETE) <?php $data = $_POST; session_start(); if (empty($data['nome']) || empty($data['sobrenome']) || empty($data['email']) || empty($data['senha']) || empty($data['repetirsenha'])) { $_SESSION['messages'] [] = 'Por Favor preencha todos os campos!'; header('Location: /create_account'); exit; } if ($data['senha'] !== $data['repetirsenha']) { $_SESSION['messages'] [] = 'As senhas não estão iguais!'; header('Location: /create_account'); exit; } require_once 'config.php'; $statement = $connection->prepare('SELECT * FROM users WHERE nome = :nome OR email = :email'); if($statement){ $statement->execute([ ':nome' => $data['nome'], ':email' => $data['email'], ]); $result = $statement->fetchAll(PDO::FETCH_ASSOC); if(!empty($result)){ $_SESSION['messages'][] = 'Este email já está cadastrado!'; header('Location: /create_account'); exit; } } $statement = $connection->prepare('INSERT INTO users(nome, sobrenome, email, senha, repetirsenha) VALUES (:nome, :sobrenome, :email, :senha, :repetirsenha)'); if($statement){ $result = $statement->execute([ ':nome' => $data['nome'], ':sobrenome' => $data['sobrenome'], ':email' => $data['email'], ':senha' => $data['senha'], ':repetirsenha' => $data['repetirsenha'], ]); if($result){ $_SESSION['messages'] [] = 'Bem-Vindo Ao Aquinoflix, Agora você pode desfrutar de um vasto conteúdo de filmes e séries'; header('Location: /browser'); exit; } } ?> E aqui o que faz a conexão com o banco: <?php // Site link geral // connection with mysqli important! $dsn = 'mysql:dbname=install;host=localhost'; $user = 'root'; $password = ''; try{ $connection = new PDO($dsn, $user, $password); } catch(PDOException $exception){ $_SESSION['messages'] [] = 'Connection Failed: ' . $exception->getMessage(); header('Location: /index.php'); exit; } ?> Obrigado dede já quem poder ajudar
  4. Olá, estou com uma dúvida já faz alguns dias e não conseguir resolver. Tenho Minhas URLamigável, e uma delas é para exibir o perfil dos usuário, mesmo que não esteja logado, outras pessoas conseguem acessar seu perfil igual o forum aqui! Exemplo Apenas quem está logado consegue acessar o /perfil/ www.meu-site.com.br/perfil/ Mesmo que não esteja logado consegue acessar o link abaixo e quem está logado também consiga acessar! www.meu-site.com.br/perfil/NickDoUsuario index.php <?php $url = (isset($_GET['url'])) ? $_GET['url'] : 'home'; $explode = array_filter(explode("/", $url)); $pags = 'pags/'; $verific_user = $pdo->prepare("SELECT * FROM users WHERE nickname_user = :nickname"); $verific_user->bindValue('nickname', $explode[0]); $verific_user->execute(); $perfil = false; if($verific_user->rowCount() == 1){ $perfil = true; $dados_perfil = $verific_user->fetchObject(); include_once "pags/perfil.php"; }elseif(file_exists($pags.$explode[0].'.php') && $explode[0] != 'perfil'){ include ($pags.$explode[0].'.php'); }else{ echo "<h2>Página Não encontrado!<h2>"; } ?> Na pasta 'pags' tenho o arquivo perfil.php, que vai exibi os dados do perfil que está logado! A forma (index.php) acima ela consegue fazer isso www.meu-site.com.br/NickDoUsuario Porém como faço para poder Exibi os resultados como mostrado acima? perfil.php <div class="perfil-container"> <div class="profile-perfil"> <div class="profile-user" style="background-image: url('https://images2.alphacoders.com/707/thumb-1920-707145.png') ;background-size: cover;"> <div class="perfil-content"> <div class="perfil-background"> <div class="perfil-photo"> <img src="images/profile-images/profile.jpg"> </div> <div class="profile-details"> <div class="profile-nickname"><span><!-- Nome do úsuario Aqui --></span></div> <div class="profile-descrition"><p><!-- Descrição aqui --></p></div> </div> </div> </div> </div> </div> </div> <div class="container"> <div class="container-perfil-content"> <div class="sidebar-profile"> <div class="profile-item"><a href="">Artigos Favoritos</a></div> <div class="profile-item"><a href="">Nóticia Favoritos</a></div> <div class="profile-item"><a href="">Recomendação</a></div> </div> <div class="main-profile"> <div class="favorite-profile"> <div class="favorite-content"> <a href=""> <div class="favorite-content-img"> <img src="images/ciencia.jpg"> <div class="rating-favorite"><span>14</span></div> <div class="favorite-details"> <div class="favorite-title-details"><span>ARTIGO 1</span></div> <div class="favorite-genero-details"><p>Gênero: Cientifico!</p></div> </div> </div> </a> </div> </div> </div> </div> </div>
  5. Olá! Gostaria de saber como passar essa parte que fiz em MySQLi para PDO, pois eu tenho pouco conhecimento sobre a temática. function selectAllPessoa(){ $banco = abrirBanco(); $sql = "SELECT * FROM tb_questoes WHERE disciplina_quest='$disciplina' AND etapa_quest='$etapa' AND capitulo_quest='$cap' ORDER BY RAND() LIMIT 20"; $resultado = $banco->query($sql); $banco->close(); while ($row = mysqli_fetch_array($resultado)) { $grupo[] = $row; } if (empty($grupo)) { echo ""; }else{ return $grupo; } }
  6. Tenho um sistema de gerenciamento de conteúdo que utilizo no meu site de loja de carros, tem 3 tabelas que são dependentes, Loja, Carros e Carrosfotos. Quando cadastro uma Loja, adiciono um Carro e várias fotos desse carro, tudo em suas tabelas correspondentes, porém notei que o sistema não estava excluindo os registros em cascata, estavam ficando muito arquivos órfãos, ou seja, quando excluísse a loja, era pra excluir todos os carros daquela loja e todas as fotos dos carros, sendo assim fiquei com muito espaço perdido no servidor, então preciso excluir essas fotos. Pesquisei em alguns fóruns e não achei nada completo, somente fragmentos do que queria, então fui juntando as coisas e gostaria da opinião de vocês onde posso melhorar ou se estou fazendo de forma errada, segue o código: try{ //Caminho para pasta $path = "upload/imagens/carros/"; $diretorio = dir($path); //Faço uma leitura em toda pasta e adiciono cada arquivo no array $arquivos = array(); while ($file = $diretorio->read()) { if ($file != "." && $file != "..") { array_push($arquivos, $file); } } //Conexão com BD $conn = new PDO('mysql:host=localhost;dbname=minhaloja', 'user', 'senha'); //Seleciono todos os registros $stmt = $conn->prepare('SELECT `imagem` FROM `carrosfotos`'); $stmt->execute(array()); $result = $stmt->fetchAll(PDO::FETCH_ASSOC); //Percorro o array e comparo com o BD se o arquivo encontrado está cadastrado foreach ($arquivos as $foto){ if (in_array($foto, array_column($result, 'imagem'))) { echo '<pre>'; echo 'A imagem'.$foto.' está cadastrada.'; echo '</pre>'; } else { unlink($path . $foto); } } } catch (PDOException $e) { echo 'ERRO: ' . $e->getMessage(); $diretorio->close(); }
  7. Olá a todos, estou tendo um problema com os datatables aninhados, as child rows(detalhes), estão mostrando todos os dados, mas eu quero que cada informação permaneça em sua linha, alguém pode me ajudar? meu código abaixo e uma imagem pra ilustrar melhor ... link dos dois jsons que pego os dados jsonData.php: https://codebeautify.org/jsonvalidator/cb5bc515 jsonNota.php: https://codebeautify.org/jsonvalidator/cbd08a36 function format(table_id) { return '<hr/>' + '<table cellpadding="5" id="detalhes' + table_id + '" class="display" cellspacing="0" border="0" width="50%" style="padding-left:80px;">' + '<thead><tr><th>Cód. Nota:</th><th>Cód. Produto:</th><th>Descrição:</th><th>Quantidade:</th><th>R$ Unid.:</th><th>% IPI:</th><th>R$ IPI:</th><th>% Desc.:</th><th>R$ Desc.:</th><th>Desc. Unit.:</th><th>R$ Total:</th></tr></thead>' + '</table>' + '<hr/>'; } var iTableCounter = 1; var oInnerTable; $(document).ready(function() { TableHtml = $('#example').html(); var table = $('#example').DataTable({ "bProcessing": true, //"paging": false, //"searching": false, //"info": false, "rowId": 'NOTA', "ajax": { "url": 'forms/customer-details/jsonData.php', "type": 'POST', "data": { "idCustomer": <?php echo $idCustomer; ?> } }, "scrollX": true, "language": { "sUrl": "../plugins/datatables/Portuguese-Brasil.json" }, "aLengthMenu": [[10, 20, 30, 50, -1], [10, 20, 30, 50, "Todos"]], "aoColumns": [ { "class": 'details-control', "orderable": false, "data": null, "defaultContent": '' }, {"mData": "NOTA"}, {"mData": "NRO_NOTA"}, {"mData": "EMISSAO", render: function(data, type, row) { var dateSplit = data.split('-'); return type === "display" || type === "filter" ? dateSplit[1] + '/' + dateSplit[2] + '/' + dateSplit[0] : data; } }, {"mData": "QUANTIDADE1", render: $.fn.dataTable.render.number()}, {"mData": "BRUTO", render: $.fn.dataTable.render.number('.', ',', 2, 'R$ ')}, {"mData": "VALOR_DESCONTO1", render: $.fn.dataTable.render.number('.', ',', 2, 'R$ ')}, {"mData": "TOTAL1", render: $.fn.dataTable.render.number('.', ',', 2, 'R$ ')}, {"mData": "VALOR_IPI1", render: $.fn.dataTable.render.number('.', ',', 2, 'R$ ')}, {"mData": "VALOR_SUBST", render: $.fn.dataTable.render.number('.', ',', 2, 'R$ ')}, {"mData": "TOTAL_NF", render: $.fn.dataTable.render.number('.', ',', 2, 'R$ ')}, {"mData": "PRECO_MEDIO", render: $.fn.dataTable.render.number('.', ',', 2, 'R$ ')}, {"mData": "REPRES_NOME"}, {"mData": "VENDEDOR_NOME"}, {"mData": "OP_NOME"}, {"mData": "FRANQUEADO_NOME"}, {"mData": "CARTEIRA"}, {"mData": "TRANSP_NOME"}, {"mData": "RASTREAMENTO_CORREIO"}, {"mData": "CONHECIMENTO"}, {"mData": "VALOR_FRETE", render: $.fn.dataTable.render.number('.', ',', 2, 'R$ ')}, {"mData": "PERCENTUAL", render: $.fn.dataTable.render.number('.', ',', 2, '% ')}, {"mData": "DESCRICAO"}, {"mData": "DATA_OCORRENCIA"} ], "order": [[1, "desc"]] }); $('#example tbody').on('click', 'td.details-control', function() { var tr = $(this).closest('tr'); var row = table.row(tr); if (row.child.isShown()) { row.child.hide(); tr.removeClass('shown'); } else { row.child(format(iTableCounter)).show(); tr.addClass('shown'); oInnerTable = $('#detalhes' + iTableCounter).DataTable({ "bProcessing": true, "ajax": { "url": 'forms/customer-details/jsonNota.php', "type": 'POST', "data": { "idCustomer": <?php echo $idCustomer; ?> } }, "autoWidth": true, //"deferRender": true, "info": false, //"lengthChange": false, //"ordering": false, //"paging": false, //"scrollX": false, //scrollY": false, "searching": false, "language": { "sUrl": "../plugins/datatables/Portuguese-Brasil.json" }, "aLengthMenu": [[10, 20, 30, 50, -1], [10, 20, 30, 50, "Todos"]], "aoColumns": [ {"mData": "NOTA"}, {"mData": "COD_PRODUTO"}, {"mData": "DESC_PROD"}, {"mData": "QUANTIDADE", render: $.fn.dataTable.render.number()}, {"mData": "UNITARIO", render: $.fn.dataTable.render.number('.', ',', 2, 'R$ ')}, {"mData": "PCT_IPI", render: $.fn.dataTable.render.number('.', ',', 2, '% ')}, {"mData": "VALOR_IPI", render: $.fn.dataTable.render.number('.', ',', 2, 'R$ ')}, {"mData": "DESCONTO", render: $.fn.dataTable.render.number('.', ',', 2, '% ')}, {"mData": "VALOR_DESCONTO", render: $.fn.dataTable.render.number('.', ',', 2, 'R$ ')}, {"mData": "DESC_UNITARIO", render: $.fn.dataTable.render.number('.', ',', 2)}, {"mData": "TOTAL", render: $.fn.dataTable.render.number('.', ',', 2, 'R$ ')} ], "order": [[0, "desc"], [1, "asc"]] }); iTableCounter = iTableCounter + 1; } }); });
  8. Olá a todos, estou tendo um problema com os datatables aninhados, as child rows(detalhes), estão mostrando todos os dados, mas eu quero que cada informação permaneça em sua linha, alguém pode me ajudar? meu código abaixo e uma imagem pra ilustrar melhor ... link dos dois jsons que pego os dados jsonData.php: https://codebeautify.org/jsonvalidator/cb5bc515 function format(table_id) { return '<hr/>' + '<table cellpadding="5" id="detalhes' + table_id + '" class="display" cellspacing="0" border="0" width="50%" style="padding-left:80px;">' + '<thead><tr><th>Cód. Nota:</th><th>Cód. Produto:</th><th>Descrição:</th><th>Quantidade:</th><th>R$ Unid.:</th><th>% IPI:</th><th>R$ IPI:</th><th>% Desc.:</th><th>R$ Desc.:</th><th>Desc. Unit.:</th><th>R$ Total:</th></tr></thead>' + '</table>' + '<hr/>'; } var iTableCounter = 1; var oInnerTable; $(document).ready(function() { TableHtml = $('#example').html(); var table = $('#example').DataTable({ "bProcessing": true, //"paging": false, //"searching": false, //"info": false, "rowId": 'NOTA', "ajax": { "url": 'forms/customer-details/jsonData.php', "type": 'POST', "data": { "idCustomer": <?php echo $idCustomer; ?> } }, "scrollX": true, "language": { "sUrl": "../plugins/datatables/Portuguese-Brasil.json" }, "aLengthMenu": [[10, 20, 30, 50, -1], [10, 20, 30, 50, "Todos"]], "aoColumns": [ { "class": 'details-control', "orderable": false, "data": null, "defaultContent": '' }, {"mData": "NOTA"}, {"mData": "NRO_NOTA"}, {"mData": "EMISSAO", render: function(data, type, row) { var dateSplit = data.split('-'); return type === "display" || type === "filter" ? dateSplit[1] + '/' + dateSplit[2] + '/' + dateSplit[0] : data; } }, {"mData": "QUANTIDADE1", render: $.fn.dataTable.render.number()}, {"mData": "BRUTO", render: $.fn.dataTable.render.number('.', ',', 2, 'R$ ')}, {"mData": "VALOR_DESCONTO1", render: $.fn.dataTable.render.number('.', ',', 2, 'R$ ')}, {"mData": "TOTAL1", render: $.fn.dataTable.render.number('.', ',', 2, 'R$ ')}, {"mData": "VALOR_IPI1", render: $.fn.dataTable.render.number('.', ',', 2, 'R$ ')}, {"mData": "VALOR_SUBST", render: $.fn.dataTable.render.number('.', ',', 2, 'R$ ')}, {"mData": "TOTAL_NF", render: $.fn.dataTable.render.number('.', ',', 2, 'R$ ')}, {"mData": "PRECO_MEDIO", render: $.fn.dataTable.render.number('.', ',', 2, 'R$ ')}, {"mData": "REPRES_NOME"}, {"mData": "VENDEDOR_NOME"}, {"mData": "OP_NOME"}, {"mData": "FRANQUEADO_NOME"}, {"mData": "CARTEIRA"}, {"mData": "TRANSP_NOME"}, {"mData": "RASTREAMENTO_CORREIO"}, {"mData": "CONHECIMENTO"}, {"mData": "VALOR_FRETE", render: $.fn.dataTable.render.number('.', ',', 2, 'R$ ')}, {"mData": "PERCENTUAL", render: $.fn.dataTable.render.number('.', ',', 2, '% ')}, {"mData": "DESCRICAO"}, {"mData": "DATA_OCORRENCIA"} ], "order": [[1, "desc"]] }); $('#example tbody').on('click', 'td.details-control', function() { var tr = $(this).closest('tr'); var row = table.row(tr); if (row.child.isShown()) { row.child.hide(); tr.removeClass('shown'); } else { row.child(format(iTableCounter)).show(); tr.addClass('shown'); oInnerTable = $('#detalhes' + iTableCounter).DataTable({ "bProcessing": true, "ajax": { "url": 'forms/customer-details/jsonNota.php', "type": 'POST', "data": { "idCustomer": <?php echo $idCustomer; ?> } }, "autoWidth": true, //"deferRender": true, "info": false, //"lengthChange": false, //"ordering": false, //"paging": false, //"scrollX": false, //scrollY": false, "searching": false, "language": { "sUrl": "../plugins/datatables/Portuguese-Brasil.json" }, "aLengthMenu": [[10, 20, 30, 50, -1], [10, 20, 30, 50, "Todos"]], "aoColumns": [ {"mData": "NOTA"}, {"mData": "COD_PRODUTO"}, {"mData": "DESC_PROD"}, {"mData": "QUANTIDADE", render: $.fn.dataTable.render.number()}, {"mData": "UNITARIO", render: $.fn.dataTable.render.number('.', ',', 2, 'R$ ')}, {"mData": "PCT_IPI", render: $.fn.dataTable.render.number('.', ',', 2, '% ')}, {"mData": "VALOR_IPI", render: $.fn.dataTable.render.number('.', ',', 2, 'R$ ')}, {"mData": "DESCONTO", render: $.fn.dataTable.render.number('.', ',', 2, '% ')}, {"mData": "VALOR_DESCONTO", render: $.fn.dataTable.render.number('.', ',', 2, 'R$ ')}, {"mData": "DESC_UNITARIO", render: $.fn.dataTable.render.number('.', ',', 2)}, {"mData": "TOTAL", render: $.fn.dataTable.render.number('.', ',', 2, 'R$ ')} ], "order": [[0, "desc"], [1, "asc"]] }); iTableCounter = iTableCounter + 1; } }); }); jsonNota.php: https://codebeautify.org/jsonvalidator/cbd08a36
  9. CODIGO PHP: <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="UTF-8"> <title>ICM Social</title> <link href="https://fonts.googleapis.com/css?family=Titillium+Web:300,400,700" rel="stylesheet"> <link rel="stylesheet" href="_css/normalize.css"> <link rel="stylesheet" href="_css/style-signup.css"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> </head> <body> <div class="login-area"> <section> <span class="logo-image"> <center> <img src="_img/icm-logo.png" alt="ICM Social Logo" class="logo-img"> </center> </span> <form action="#" method="post"> <center> <id class="login"> <span class="entrar"> Entrar </span> <br> <input type="text" placeholder="Nome" name="nome" id="nome"> <br> <input type="email" placeholder="Email" name="email" id="email"> <br> <?php if(isset($_POST['criar'])){ if($emailCount == 0){ echo "<span style='color: white;'>Insira um email válido</span><br>"; } } ?> <input type="date" name="data" id="data" min="8"> <br> <input type="password" placeholder="Senha" id="senha" name="senha"> <br> <input type="password" placeholder="Repita a senha" id="senha" name="repitaSenha"> <br> <?php if(isset($_POST['criar'])){ if($senha != $repitaSenha){ echo "<br><span style='color: white;'>As senhas não estão iguais</span><br>"; $igual = false; } } ?> <input type="submit" name="criar" value="Criar" id="entrar"> </id> <br> <br> Já possui uma conta? <br> <span class="crie"><a href="">Logue-se agora</a></span> </center> </form> </section> </div> </body> </html> PHP(CONEXÃO): <?php try{ $pdo = new PDO("mysql:dbname=icmsocial;host=localhost", "root", ""); }catch(PDOException $e){ echo "Erro: " . $e -> getMessage(); } ?> PHP(PDO): <?php include 'mysql/connect.php'; if(isset($_POST['criar'])){ $nome = addslashes($_POST['nome']); $email = addslashes($_POST['email']); $data = addslashes($_POST['data']); $senha = addslashes($_POST['senha']); $repitaSenha = addslashes($_POST['repitaSenha']); $igual = false; if(isset($_POST['criar'])){ if($senha == $repitaSenha){ $pdo -> query("INSERT INTO usuarios VALUES nome='$nome', email='$email', data='$data', senha='$senha'"); echo "Cadastrado"; } } } ?>
  10. Preciso de Ajuda. Tenho nos meus projetos a conexão desta forma: $conexao = new PDO('mysql:host=localhost;dbname=meubanco','meuuser','minhasenha'); Funciona Normal. Porem peguei um projeto que usa a conexão dentro de uma classe da seguinte forma: Classe: dbconn.php <?php class dbconn { public $dblocal; public function __construct() { } public function initDBO() { $this->dblocal = new PDO("mysql:host=localhost;dbname=meubanco;charset=latin1","meuuser","minhasenha",array(PDO::ATTR_PERSISTENT => true)); $this->dblocal->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); } } ?> Também funciona. Mas a tenho uma de minhas páginas que fazia acesso ao select fazendo referencia à conexão com o banco usando a variável $conexaõ da seguinte forma: <?php if(isset($_POST['logar'])) { $usuario=trim(strip_tags($_POST['usuario'])); $senha=trim(strip_tags($_POST['senha'])); $select = "SELECT * from tab_usuarios WHERE email=:usuario AND senha=:senha"; try { $result = $conexao->prepare($select); //$conexão vem do arquivo conexao.php ---Aqui gera o erro. Qual erro? A variavel $conexão não existe. Claro. Já era de se esperar... $result->bindParam(':usuario',$usuario, PDO::PARAM_STR); $result->bindParam(':senha',$senha, PDO::PARAM_STR); $result->execute(); ... //continua ?> Meu problema: No arquivo de Conexao com o banco agora está dentro de uma classe e não usa mais a variável $conexão. Em seu lugar está a psedo-variável $this. Sei que não basta apenas trocar a variável $conexao pela $this... O que fazer? devo mexer só nesta linha? tem mais coisa, tipo instanciar .... Não sei o que devo alterar ra isso continuar funcionando. Estou estudando aqui PDO | POO, lendo muito, vendo videos ..., mas preciso de ajuda com isso... $result = $conexao->prepare($select); Grata.
  11. Criei um formulário para inserir dados no banco porem quando rodo o mesmo ele não insere os dados e também não mostra nenhum erro... estou tentando resolver esse problema a 3 dias se puder me ajudar ficarei muito grato. obs: estou tentando criar um organizador de arquivos para meu pc. Segue abaixo os codigos: conexao.php <?php $servidor = "localhost"; $usuario = "lvmoreira99"; $senha = "lvmoreira99"; $baseDados= "inventario"; try{ $pdo = new PDO("mysql:host=".$servidor.";dbname=".$baseDados,$usuario,$senha); }catch(PDOException $e){ echo $e->getMessage(); } return $pdo; if($pdo ->connect_error){ die("falha ao conectar khfdue::".$pdo ->connect_error); } echo "conexao realizada jeijfe"; ?> validar.php <?php require 'conexao.php'; $acao=$_GET['acao']; if($acao=="enviar"){ $titulo = $_POST['ti']; $ano = $_POST['an']; $genero = $_POST['ge']; $duracao = $_POST['du']; $tamanho = $_POST['ta']; $formato = $_POST['fo']; $codec_audio = $_POST['co']; $sinopse = $_POST['si']; //envia dados para banco de dados $enviarb = "INSERT INTO filmes (titulo,ano,genero,duracao,tamanho_GB,formato,codec_audio,sinopse) VALUES('','$titulo', '$ano', '$genero', '$duracao', '$tamanho', '$formato', '$codec_audio', '$sinopse')"; } if($pdo->query($enviarb)){ echo "dados gravados efwf"; }else { echo "Falha ao gravar hejhfe"; } ?> formulario.php <!doctype html> <html> <head> <meta charset="utf-8"> <title> Conection</title> </head> <body> <form action="validar.php?acao=enviar" method="POST"> <table border="0" align="center"> <tr> <td>Titulo</td><td><input type="text" name="ti" required autofocus/></td> </tr> <tr> <td>Ano</td><td><input type="text" name="an" required /></td> </tr> <tr> <td>Visto</td> <td> <input value="S"type="radio" name="vi" required />SIM <input value="N" type="radio" name="vi" required />NÃO </td> </tr> <tr> <td>Genero</td><td><input type="text" name="ge"/></td> </tr> <tr> <td>Duração</td><td><input type="text" name="du"/></td> </tr> <tr> <td>Tamanho em GB</td><td><input type="text" name="ta"/></td> </tr> <tr> <td>Formato</td><td><input type="text" name="fo"/></td> </tr> <tr> <td>Codec de Audio</td><td><input type="text" name="co"/></td> </tr> <tr> <td>Sinopse</td><td><input type="text" name="si"/></td> </tr> <td><input type="submit" value="Enviar"/></td> </table> </form> </body> </html>
  12. Criei um formulário para inserir dados no banco porem quando rodo o mesmo ele não insere os dados e também não mostra nenhum erro... estou tentando resolver esse problema a 3 dias se puder me ajudar ficarei muito grato. obs: estou tentando criar um organizador de arquivos para meu pc. Segue abaixo os codigos: conexao.php <?php $servidor = "localhost"; $usuario = "lvmoreira99"; $senha = "lvmoreira99"; $baseDados= "inventario"; try{ $pdo = new PDO("mysql:host=".$servidor.";dbname=".$baseDados,$usuario,$senha); }catch(PDOException $e){ echo $e->getMessage(); } return $pdo; if($pdo ->connect_error){ die("falha ao conectar khfdue::".$pdo ->connect_error); } echo "conexao realizada jeijfe"; ?> validar.php <?php require 'conexao.php'; $acao=$_GET['acao']; if($acao=="enviar"){ $titulo = $_POST['ti']; $ano = $_POST['an']; $genero = $_POST['ge']; $duracao = $_POST['du']; $tamanho = $_POST['ta']; $formato = $_POST['fo']; $codec_audio = $_POST['co']; $sinopse = $_POST['si']; //envia dados para banco de dados $enviarb = "INSERT INTO filmes (titulo,ano,genero,duracao,tamanho_GB,formato,codec_audio,sinopse) VALUES('','$titulo', '$ano', '$genero', '$duracao', '$tamanho', '$formato', '$codec_audio', '$sinopse')"; } if($pdo->query($enviarb)){ echo "dados gravados efwf"; }else { echo "Falha ao gravar hejhfe"; } ?> formulario.php <!doctype html> <html> <head> <meta charset="utf-8"> <title> Conection</title> </head> <body> <form action="validar.php?acao=enviar" method="POST"> <table border="0" align="center"> <tr> <td>Titulo</td><td><input type="text" name="ti" required autofocus/></td> </tr> <tr> <td>Ano</td><td><input type="text" name="an" required /></td> </tr> <tr> <td>Visto</td> <td> <input value="S"type="radio" name="vi" required />SIM <input value="N" type="radio" name="vi" required />NÃO </td> </tr> <tr> <td>Genero</td><td><input type="text" name="ge"/></td> </tr> <tr> <td>Duração</td><td><input type="text" name="du"/></td> </tr> <tr> <td>Tamanho em GB</td><td><input type="text" name="ta"/></td> </tr> <tr> <td>Formato</td><td><input type="text" name="fo"/></td> </tr> <tr> <td>Codec de Audio</td><td><input type="text" name="co"/></td> </tr> <tr> <td>Sinopse</td><td><input type="text" name="si"/></td> </tr> <td><input type="submit" value="Enviar"/></td> </table> </form> </body> </html>
  13. Boa noite, eu tenho um sistema de agendamento, porem eu conecto tudo certinho, está funcionando quase tudo certo, eu tenho dois botão, um +1 e um -1 que altera o valor de uma coluna no mysql, só que ela está em mysqli e eu gostaria de fazer em PDO, só que não estou conseguindo, alguém poderia me ajudar ? o codigo do botão +1 em mysqli <?php //inicia uma coneção com o banco de dados include"db2.php"; // pega o valor da variavel de identificação $id = $_GET['id']; $sql = "SELECT * FROM usuarios WHERE id='$id'"; $resultado = @mysql_query($sql) or die ("Não foi possível realizar a consulta ao banco de dados"); while ($line=mysql_fetch_array($resultado)) { $v1 = $line["v1"]; } //função de soma simples. $novoValor = $v1 + 1; //grava novo valor no banco. $gravar = mysql_query("UPDATE usuarios SET v1='$novoValor' WHERE id='$id'"); //retorna a pagina teste echo '<script type="text/javascript"> window.location="agen-pen.php"; </script>'; exit(); ?>
  14. Olá Pessoal Boa tarde! Estou com um erro que não consigo identificar de jeito nenhum. Preciso realizar mais de uma consulta em classes diferentes em uma tela. O Meu problema está acontecendo quando a segunda consulta é executada, pois o e o Php retorna, Call to a member function prepare() on null por que o parâmetro de conexão que está em __construct está retornando null na segunda classe (peguei isso através de um var_dump) por isso que o "prepare" e consequentemente a consulta não funcionam. Queria saber o que estou fazendo de errado para não consegui consultar mais de uma classe na mesma tela. Estou usando PDO e banco mysql. Essa é a minha classe de conexão <?php // Classe que realiza a conexão com o banco de dados Class Conexao { private static $con; // Impede que a classe seja instanciada private function __construct() { } // Impede que a classe seja clonada private function __clone() { } //Impede a utilização do Unserialize (que a variavel retorne o array original) private function __wakeup() { } public static function getConexao() { if (!isset(self::$con)) { try{ // parametros de conexão $tipo = 'mysql:host=localhost;dbname=teste'; $user = 'root'; $senha = ''; self::$con = new PDO( $tipo, $user, $senha, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8", PDO::ATTR_PERSISTENT => TRUE)); self::$con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); self::$con->setAttribute(PDO::ATTR_ORACLE_NULLS, PDO::NULL_EMPTY_STRING); } catch ( PDOException $erro ){ echo $erro; // Encerrando a aplicação exit(); } return self::$con; } } // finalizando o getConexao protected function closeConexao() { if($this->con != null) $this->con = null; } public function __destruct() { $this->closeConexao(); } } // finalizando a classe conexão ?> Essa é a classe na qual realizo a 1º consulta <?php // ARQUIVO DE CLASSE SLIDE_CRUD - UTILIZADA PARA ADICIONAR AS IMAGENS E CONSULTAS ATRAVÉS DO LOGIN NO PAINEL-ADMIN // chamando o arquivo de conexão class Slide_crud extends Slide{ public static $conexaoPDO; // Instanciando a conexao e a classe public function __construct(){ $this->conexaopdo = conexao::getConexao(); } //******************************************************************************************************// //*********************************************CONSULTA GERAL******************************************// //****************************************************************************************************// public function consultaslide(){ try{ // realizando o SQL $sql = ('SELECT * FROM tbl_slide'); // Realizando a conexão $prepare_sql = $this->conexaopdo->prepare($sql); $prepare_sql->execute(); return $prepare_sql->fetchAll(PDO::FETCH_OBJ); } catch(exception $e){ echo" $e erro ao realizar a consulta, se o problema persistir contate o administrador do sistema"; } } } Essa é a classe na qual realizo a 2º consulta. <?php // Criando a Classe Seo_Crud - Classe responsável pelas interações com o banco de DADOS Class Seo_crud extends Seo{ // parametro na qual será responsável por iniciar a conexão com o banco de dados static $conexaoPDO; // função responsável por instanciar a classe em questão public function __construct(){ // instanciando o parametro de conexão; $this->conexaopdo = Conexao::getConexao(); } //******************************************************************************************************// //********************************************CONSULTA GERAL*******************************************// //****************************************************************************************************// public function consultaseo(){ try{ // consulta SQL $sql = ('SELECT * FROM tbl_seo'); // repassando a consulta para a conexão $prepare_sql = $this->conexaopdo->prepare($sql); // executando a instrução $prepare_sql->execute(); // retorno da função return $prepare_sql->fetchAll(PDO::FETCH_OBJ); }catch(PDOexception $e){ print_r($e); echo"$e Atenção! Ocorreu um Erro ao realizar essa consulta de dados, tente novamente, se o problema persisitir contate o Administrador do Sistema"; } } // fim function consulta } ?> aqui está os trechos na qual estou instanciando as classes no arquivo index.php para obter os dados através de um foreach. <?php // instanciando a classe responsável pelo Crud e pelas Consultas $slide_crud = new Slide_crud(); // repassando os parâmetros para a consulta e armazenando na variavel $result $result = $slide_crud->consultaslide(); // percorrendo o array através de um laço para exibir as imagens foreach($result as $dados){ ?> <div class="cycle-anterior" <a href="#" id="anterior"></a></div> <div class="cycle-proximo" <a href="#" id="proximo"></a></div> <img src="<?=$dados->caminho ?>" class="img-thumbnail" height="260" width="960" data-cycle-desc= <?=$dados->descricao?>> <?php } <?php // instanciando a classe responsável pela consulta; $seo_crud = new Seo_crud(); // realizando a consulta e armazenando os dados em uma variavel $result_seo = $seo_crud->consultaseo(); if(!Empty($result_seo)){ foreach($result_seo as $dados){ echo "$dados->rodape_centro"; } } ?>
  15. Olá pessoal, bom estou estudando php pelo manual ,como falei em um tópico anterior , estou aprendendo o básico ainda, estou passando um pequeno script para PDO e estou com o seguinte erro Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '-5, 5' at line 1' in C:\xamppp\htdocs\modcp.php:296 Stack trace: #0 C:\xamppp\htdocs\modcp.php(296): PDOStatement->execute() #1 {main} thrown in C:\xamppp\htdocs\modcp.php on line 296 este é meu código $num_items = $noi[0]; //changable $items_per_page= 5; $num_pages = ceil($num_items/$items_per_page); if($page>$num_pages)$page= $num_pages; $limit_start = ($page-1)*$items_per_page; $sql = "SELECT id, name, text, authorid, crdate FROM fun_topics WHERE reported='1' ORDER BY crdate DESC LIMIT $limit_start, $items_per_page"; $items = $tonn->prepare($sql); $items->execute(); Se alguém puder me da uma dica do que pode ser, ficarei grato!
  16. tonzinho

    PHP PDO

    Olá pessoal sou novo no forum, e começei a estudar php pelo manual,pois nao tenho condiçoes de pagar um curso. Bom estou passando um script pequeno que tenho aqui,para PDO e estou com problemas Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '1' for key Meu código (funcionava perfeitamente com mysql): $res = $tonn->prepare("INSERT INTO fun_online SET userid = :userid, actvtime = :actvtime, place = :place, placedet = :placedet"); $res->bindParam(':userid', $uid, PDO::PARAM_STR); $res->bindParam(':actvtime', $ttime, PDO::PARAM_STR); $res->bindParam(':place', $place, PDO::PARAM_STR); $res->bindParam(':placedet', $plclink, PDO::PARAM_STR); $res->execute(); if(!$res) { $res = $tonn->prepare("UPDATE fun_online SET actvtime = :actvtime, place = :place , placedet = :placedet WHERE userid = :userid"); $res->bindValue(':actvtime', $ttime, PDO::PARAM_STR); $res->bindValue(':place', $place, PDO::PARAM_STR); $res->bindValue(':placedet', $plclink, PDO::PARAM_STR); $res->bindValue(':userid', $uid, PDO::PARAM_STR); $res->execute(); }
  17. Olá a todos, Apesar do cadastro recente gostaria de contribuir com esta comunidade, pois sempre que tenho dúvidas, percorro estes fóruns e, graças a vocês, até agora consegui solucionar todas elas. Pesquisei aqui se existia algo parecido e o único tópico que se refere a CRUD não tem o código fonte e o link esta quebrado. Este fim de semana tive que gerar várias páginas para inserção, edição, exclusão e consulta de dados de várias tabelas, então resolvi criar um gerador CRUD para facilitar minha vida e gostaria de compartilhar com vocês, não tenho muita experiência com identação e boas práticas de programação, qualquer critica para melhorar minha maneira de desenvolver e/ou sugestões para o script são bem vindas. gerador_crud.php <?php /** * Gerador CRUD (Create, Read, Update & Delete) * * Gera as 4 funções básicas de operações de dados em um único arquivo. * Serve para aumentar a produtividade na geração de formulários. * * Possui verificação de campos tipo Auto_increment para prevenir erros. * Tratamento para remover o prefixo das tabelas na exibição das labels * dos formulários Ex. produtos_codigo fica Codigo. * O CRUD gerado já utiliza a classe PDO * * Modo de usar: * Preencha as variáveis no inicio do arquivo e execute-o. * Serão exibidos dois scripts em formato de texto, copie e crie * os arquivos de conexão com o DB e o CRUD respectivamente. * Após gerados os scripts a parte estrutural estará pronta para você * começar a estilizar sua página. * * * @author SERGIO PEREIRA <[email protected]> */ //Dados para conexão com o seu servidor. $server = "localhost"; $banco = "XYZ"; $user = "root"; $senha = ""; //Parametros para gerar o seu CRUD. $tabela = ""; //Nome da tabela para gerar o CRUD. $prefixo = "_"; //Opcional, mas se os campos de sua tabela tiverem "_" remova-o. $ident = "clientes_id"; //Campo identificador para manipular dados do registro. $caminho = "conexao.php"; //Url + nome do arquivo de conexao a ser criado para o CRUD. $conn = mysqli_connect($server, $user, $senha, $banco); //Usamos <pre> para que as variaveis não sejam interpretadas no output. echo '<pre>'; echo htmlspecialchars($caminho . ' <?php $con = new PDO("mysql:host=localhost;dbname=erp", "root", "",array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES \'utf8\'")); ?> ' . $tabela . '.php <?php include "' . $caminho . '"; if(isset($_GET["id"])){ $id = (int) $_GET["id"]; } ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>CRUD '.$tabela.'</title> </head> <?php if((!isset($_GET["novo"]))&&(!isset($_GET["altera"]))&&(!isset($_GET["apaga"]))){ ?> <table border="1"> <tr>'); $campos = consulta($conn); foreach ($campos as $item) { echo htmlspecialchars(' <td><b>' . ucfirst(after('_', $item["COLUMN_NAME"])) . '</b></td>'); } echo htmlspecialchars(' </tr> <?php $rs = $con->prepare("SELECT * FROM ' . $tabela . '"); if($rs->execute()){ if($rs->rowCount() > 0){ while($row = $rs->fetch(PDO::FETCH_ASSOC)){ ?> <tr>'); $campos = consulta($conn); foreach ($campos as $item) { echo htmlspecialchars(' <td valign="top"><?php echo $row["' . $item["COLUMN_NAME"] . '"];?></td>'); } echo htmlspecialchars(' <td valign="top"><a href="' . $tabela . '.php?id=<?php echo $row["' . $ident . '"];?>&altera">Edita</a></td> <td><a href="' . $tabela . '.php?id=<?php echo $row["' . $ident . '"];?>&apaga">Apaga</a></td> </tr> <?php } ?> <?php } } ?> </table> <a href="' . $tabela . '.php?novo">Novo</a> <?php } if(isset($_GET["novo"])){ if (isset($_POST["submitted"])) { foreach($_POST AS $key => $value) { $_POST[$key] = mysql_real_escape_string($value); } $rs = $con->prepare("INSERT INTO ' . $tabela . ' ('); $campos = consulta($conn); $i = 0; $len = count($campos); foreach ($campos as $item) { echo htmlspecialchars($item["COLUMN_NAME"]); if ($i == $len - 1) { echo htmlspecialchars(''); } else { echo htmlspecialchars(', '); } $i++; } echo htmlspecialchars(') VALUES('); $campos = consulta($conn); $i = 0; $len = count($campos); foreach ($campos as $item) { echo htmlspecialchars(':' . $item["COLUMN_NAME"]); if ($i == $len - 1) { echo htmlspecialchars(''); } else { echo htmlspecialchars(', '); } $i++; } echo htmlspecialchars(')");'); $campos = consulta($conn); foreach ($campos as $item) { echo htmlspecialchars(' $rs->bindParam(":' . $item["COLUMN_NAME"] . '", $_POST["' . $item["COLUMN_NAME"] . '"], PDO::PARAM_STR);'); } echo htmlspecialchars(' $rs->execute(); echo \'<script>location.href="' . $tabela . '.php";</script>\'; } ?> <form action="" method="POST">'); $campos = consulta($conn); foreach ($campos as $item) { echo htmlspecialchars(' <p><b>' . ucfirst(after('_', $item["COLUMN_NAME"])) . ':</b><br /><input type="text" name="' . $item["COLUMN_NAME"] . '"/>'); } echo htmlspecialchars(' <p><input type="submit" value="Incluir" /><input type="hidden" value="1" name="submitted" /> </form> <?php } ?> <?php if(isset($_GET["altera"])){ if (isset($_POST["submitted"])) { foreach($_POST AS $key => $value) { $_POST[$key] = mysql_real_escape_string($value); } $rs = $con->prepare("UPDATE ' . $tabela . ' SET '); $campos = consulta($conn); $i = 0; $len = count($campos); foreach ($campos as $item) { echo htmlspecialchars($item["COLUMN_NAME"] . '=:' . $item["COLUMN_NAME"]); if ($i == $len - 1) { echo htmlspecialchars(''); } else { echo htmlspecialchars(', '); } $i++; } echo htmlspecialchars(' WHERE ' . $ident . ' = $id");'); $campos = consulta($conn); foreach ($campos as $item) { echo htmlspecialchars(' $rs->bindParam(":' . $item["COLUMN_NAME"] . '", $_POST["' . $item["COLUMN_NAME"] . '"], PDO::PARAM_STR);'); } echo htmlspecialchars(' $rs->execute(); echo \'<script>location.href="' . $tabela . '.php";</script>\'; } ?> <form action="" method="POST"> <?php $rs = $con->prepare("SELECT * FROM ' . $tabela . ' WHERE ' . $ident . ' = $id"); if($rs->execute()){ if($rs->rowCount() > 0){ while($row = $rs->fetch(PDO::FETCH_ASSOC)){ ?>'); $campos = consulta($conn); foreach ($campos as $item) { echo htmlspecialchars(' <p><b>' . ucfirst(after('_', $item["COLUMN_NAME"])) . ':</b><br /><input type="text" name="' . $item["COLUMN_NAME"] . '" value="<?= stripslashes($row["' . $item["COLUMN_NAME"] . '"]) ?>" />'); } echo htmlspecialchars(' <p><input type="submit" value="Alterar" /><input type="hidden" value="1" name="submitted" /> <?php } } } ?> </form> <?php } if(isset($_GET["apaga"])){ $id = (int) $_GET["id"]; $rs = $con->prepare("DELETE FROM ' . $tabela . ' WHERE ' . $ident . ' = :id"); $rs->bindParam(":id", $id, PDO::PARAM_INT); $rs->execute(); echo \'<script>location.href="' . $tabela . '.php";</script>\'; } ?> </body> </html> '); echo '</pre>'; function after($this, $inthat) { if (!is_bool(strpos($inthat, $this))) { return substr($inthat, strpos($inthat, $this) + strlen($this)); } else { return $inthat; } } function consulta($conn) { global $banco; global $tabela; $cons = mysqli_query($conn, "SELECT COLUMN_NAME, EXTRA FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = '$banco' AND TABLE_NAME = '$tabela';") or die(mysqli_error()); $result = array(); while ($row = mysqli_fetch_assoc($cons)) { if ($row["EXTRA"] != "auto_increment") { $campos[] = $row; } } return $campos; } ?>
  18. Estou com dificuldades em encontrar a solução esse enigma... pois as variais chegam até o echo mas não são executadas para inserção no banco . A resposta ao tentar é : Erro ao inserir os dados ini_set('display_errors', true); error_reporting(E_ALL); echo"email = ".$email. "<br>" ; echo "ddd = ".$ddd ."<br>"; echo "telefone = ".$telefone . "<br>"; echo "cpf = ".$cpf . "<br>"; echo "produto = ".$produto . "<br>" ; echo "status = ".$status . "<br>" ; echo "total = ".$total . "<br>" ; echo "data = ".$data . "<br>"; echo "ref = ".$ref. "<br>"; //Até aqui o ECHO recebe as informações try{ $inseri= $pdo -> prepare (" INSERT INTO rico_vendas (email, ddd, telefone, cpf, produto, status, valor, data_cadastro, ref) VALUES (:email, :ddd, :tel, :cpf, :produto, :status, :valor, :data, :ref)"); $inseri -> bindValue(':email',$email); $inseri -> bindValue(':ddd',$ddd); $inseri -> bindValue(':tel',$telefone); $inseri -> bindValue(':cpf',$cpf); $inseri -> bindValue(':produto',$produto); $inseri -> bindValue(':status',$status); $inseri -> bindValue(':valor',$total); $inseri -> bindValue(':data',$data); $inseri -> bindValue(':ref',$ref); $executa = $inseri -> execute(); if($executa){ echo 'Dados inseridos com sucesso'; } else{ echo 'Erro ao inserir os dados'; } } catch(PDOException $e){ echo $e->getMessage(); }
  19. Estou montando um sistema de login. Mas não consigo fazer a validação da senha digitada. Quando tento desta forma ele acusa login/senha errado. Mas já me certifiquei, o login e senha estao corretos: <?php require_once 'init.php'; // resgata dados digitados no formulario $email = isset($_POST['email']) ? $_POST['email']: ''; $senha = isset($_POST['senha']) ? $_POST['senha']: ''; // Verifica se os campos do form não estao vazios if(empty($email) || empty($senha)){ echo "<script language='javascript' type='text/javascript'>alert('Infome Email e senha.');window.location.href='../login.php';</script>"; exit; } // Comando no banco de dados $pdo = db_connect(); // Abre conexão com o banco $sql = "SELECT id, nome FROM usuarios WHERE email = :email AND senha = :senha"; // Cria query $stmt = $pdo->prepare($sql); // Prepare da query $stmt->bindValue(':email', $email); $stmt->bindValue(':senha', $senha); // Atribui valor do campo email no valor email da query $stmt->execute(); // Execute na query $arr = $stmt->fetchAll(PDO::FETCH_ASSOC); // Cria array associativo if(count($arr) <= 0) { // Verifica se a busca trouxe retorno echo "<script language='javascript' type='text/javascript'>alert('Login e/ou senha inválido!');window.location.href='../login.php';</script>"; exit; } // Pega o primeiro usuario $user = $arr[0]; // Inicia a sessão session_start(); // Definir os dados persistindo entre paginas $_SESSION['logged_in'] = true; $_SESSION['user_id'] = $user['id']; $_SESSION['user_name'] = $user['nome']; header('Location: ../index.php'); Quando dou var_dump($arr); ele me retorna um array vazio, por isso ele não faz o login. Alguém poderia me auxiliar? Grato!
  20. Olá. Estou criando um sistema de login para fins de estudo. Identifiquei no me arquivo que não esta populando o array com as informações do banco de dados... e sim, já me certifiquei que o email e senha informados já existe na base de dados. Segue arquivo de login.php: <?php require_once 'init.php'; // resgata dados digitados no formulario $email = isset($_POST['email']) ? $_POST['email']: ''; $senha = isset($_POST['senha']) ? $_POST['senha']: ''; // Cria o hash da senha $seg_senha = password_hash($senha, PASSWORD_DEFAULT); // Verifica se os campos do form não estao vazios if(empty($email) || empty($senha)){ echo 'Informe Email e Senha'; exit; } // Comando no banco de dados $pdo = db_connect(); // Abre conexão com o banco $sql = "SELECT id, nome FROM usuarios WHERE email = :email AND senha = :senha"; // Cria query $stmt = $pdo->prepare($sql); // Prepare da query $stmt->bindParam(':email', $email); // Atribui valor do campo email no valor email da query $stmt->bindParam(':senha', $seg_senha); // Atribui valor do campo senha no valor senha da query $stmt->execute(); // Execute na query $arr = $stmt->fetchAll(PDO::FETCH_ASSOC); // Cria array associativo if(count($arr) <= 0){ // Verifica se existe elemento no array echo "<script language='javascript' type='text/javascript'>alert('Login e/ou senha incorretos');window.location.href='../login.php';</script>"; exit; } // Pega o primeiro usuario $user = $arr[0]; // Inicia a sessão session_start(); $_SESSION['logged_in'] = true; $_SESSION['user_id'] = $user['id']; $_SESSION['user_name'] = $user['nome']; header('Location: ../index1.php'); Se eu comento da linha if(count($arr) <= 0){ para baixo, e coloco um var_dump($arr); abaixo de $arr = $stmt->fetchAll(PDO::FETCH_ASSOC); me retorna um array vazio C:\wamp64\www\ProjetoALPHA\core\login.php:33: array (size=0) empty Alguém poderia me ajudar? Grato!
  21. Gabrielvt14

    Ajuda com PDO

    Olá pessoal, Estou com problemas para conectar o banco de dados utilizando PDO, uso o MySQL. quando executo a conexao com o banco aparecem as seguintes mensagens de erro: ( ! ) Fatal error: Uncaught exception 'PDOException' with message ' in C:\wamp64\www\phpCRUD\config\Conecta.php on line 11 ( ! ) PDOException: in C:\wamp64\www\phpCRUD\config\Conecta.php on line 11 Call Stack # Time Memory Function Location 1 0.0003 235888 {main}( ) ...\login.php:0 2 0.0006 240904 include_once( 'C:\wamp64\www\phpCRUD\core\Login.php' ) ...\login.php:3 3 0.0013 253496 Conecta->__construct( ) ...\Login.php:5 4 0.0013 253984 __construct ( ) ...\Conecta.php:11 Não sei onde estou errando, alguém poderia me ajudar? Segue o código da configuração do banco: http://pastebin.com/24qAiFTr E abaixo arquivo conf.php: http://pastebin.com/986P4hiD
  22. Olá pessoal, estou tendo problemas para usar o PDO do MySQL no PHP. Quando tento fazer a conexão por código com o MySQL ele apresenta o seguinte erro: could not find driver Creio que o driver PDO do MySQL não esteja instalado. Não tenho muito conhecimento em configuração de Apache, php e tudo mais... Quando vou em phpinfo() ele apresenta as seguintes informações no campo Configure Command: cscript /nologo configure.js "--enable-snapshot-build" "--disable-isapi" "--enable-debug-pack" "--without-mssql" "--without-pdo-mssql" "--without-pi3web" "--with-pdo-oci=c:\php-sdk\oracle\x64\instantclient_12_1\sdk,shared" "--with-oci8-12c=c:\php-sdk\oracle\x64\instantclient_12_1\sdk,shared" "--enable-object-out-dir=../obj/" "--enable-com-dotnet=shared" "--with-mcrypt=static" "--without-analyzer" "--with-pgo" Não sei se ta haver, como disse, não tenho muito conhecimento nessas configurações. Alguém poderia me ajudar? Uso Windows 10 e o programa Wamp64. Agradeço desde já!
  23. Olá, No último mês estive desenvolvendo um painel de gerenciamento PHP Orientado a Objetos. Desenvolvido em bootstrap, ele é uma mistura simples que une o prático ao agradável. Estou disponibilizando-o para download, assim qualquer ser interessado em testá-lo e aprimorá-lo é bem-vindo! Peço apenas que mantenham os créditos. Download: https://mega.nz/#!ZcQwXBqI!qhQraQMGFw-c3_ABn5rMR_7CYlqSiynaWt_nclWwrVc Obs: O arquivo de SQL do painel não está incluso por questões de avaliações. Quem for baixar o painel envie um email para: [email protected] e receberá o arquivo de mysql + senha para descompactação do sistema. Abraços, Dúvidas - twitter: @Azielsilas
  24. Olá, Estou desenvolvendo uma aplicação para controle residencial, porém estou tendo algumas dificuldades para comunicação via PDO com o Cloud9. Não sou desenvolvedor web ou linguagens convencionais, mas estou aprendendo. Favor deixar o usuário do c9 que eu compartilho o app. <?php /* MySql Daten */ define('DB_HOST', 'igorronchi-homecontrol-1179525'); define('DB_USER', 'igorronchi'); define('DB_PASS', ''); define('DB_PORT', '3306'); define('DB_NAME', 'DAI_DB'); define('DB_CHARSET', 'utf8'); define('PREFIX', 'pi_'); define('LANGUAGE', 'en'); /*define('BASE', 'http://'.$_SERVER['HTTP_HOST'].'/');*/ /*define('SERVER_PATH', '/home/www/');*/ define('BASE', ''); define('SERVER_PATH', ''); function name($name) { $n = explode(" ", $name); if(count($n)==0) { $r = $name[0].$name[1]; }else{ $r = $n[0][0].$n[1][0]; } return strtoupper($r); } <?php class Database { private $_con; public function __construct() { return $this->con(); } function con() { $this->_con = new PDO('mysql:host='.DB_HOST.'; port='.DB_PORT. '; dbname='.DB_NAME, DB_USER, DB_PASS); $this->_con->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); $this->_con->exec("SET CHARACTER SET ".DB_CHARSET); // return all sql requests as UTF-8 return $this->_con; } }
  25. Fiz o insert usando type: text e varchar no banco... quero alterar no banco para date, mais não tenho muita ideia como fazer essa alteração no código para que para o Usuário fique o formato brasileiro, no banco converta para o americano para aceitar o date,e quando for fazer o select do fomulário para o usuário visualizar os dados recupere no formato brasileiro tb. abaixo o código como está hoje. segue o código! <script type="text/javascript"> jQuery(function($){ $("#date").mask("99/99/9999",{placeholder:"dd/mm/yyyy"}); }); </script> <?php if(isset($_POST['cadastrar'])){ $data = trim(strip_tags($_POST['data'])); $titulo = trim(strip_tags($_POST['titulo'])); $exibir = trim(strip_tags($_POST['exibir'])); $descricao = $_POST['descricao']; $alterado = trim(strip_tags($_POST['alterado'])); $logado = trim(strip_tags($_POST['logado'])); //INFO IMAGEM $file = $_FILES['img']; $numFile = count(array_filter($file['name'])); //PASTA $folder = '../upload/agenda/'; //REQUISITOS $permite = array('image/jpeg', 'image/png'); $maxSize = 1024 * 1024 * 5; //MENSAGENS $msg = array(); $errorMsg = array( 1 => 'O arquivo no upload é maior do que o limite definido em upload_max_filesize no php.ini.', 2 => 'O arquivo ultrapassa o limite de tamanho em MAX_FILE_SIZE que foi especificado no formulário HTML', 3 => 'o upload do arquivo foi feito parcialmente', 4 => 'Não foi feito o upload do arquivo' ); if($numFile <= 0){ echo '<div class="alert alert-danger"> <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button> Selecione uma Imagem e tente novamente! </div>'; } else if($numFile >=2){ echo '<div class="alert alert-danger"> <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button> Você ultrapassou o limite de upload. Selecione apenas uma foto e tente novamente! </div>'; }else{ for($i = 0; $i < $numFile; $i++){ $name = $file['name'][$i]; $type = $file['type'][$i]; $size = $file['size'][$i]; $error = $file['error'][$i]; $tmp = $file['tmp_name'][$i]; $extensao = @end(explode('.', $name)); $novoNome = rand().".$extensao"; if($error != 0) $msg[] = "<b>$name :</b> ".$errorMsg[$error]; else if(!in_array($type, $permite)) $msg[] = "<b>$name :</b> Erro imagem não suportada!"; else if($size > $maxSize) $msg[] = "<b>$name :</b> Erro imagem ultrapassa o limite de 5MB"; else{ if(move_uploaded_file($tmp, $folder.'/'.$novoNome)){ //$msg[] = "<b>$name :</b> Upload Realizado com Sucesso!"; $insert = "INSERT into agenda (imagem_agenda, data_agenda, titulo_agenda, exibir_agenda, descricao_agenda, alterado, logado) VALUES (:imagem, :data, :titulo, :exibir, :descricao, :alterado, :logado)"; try{ $result = $conexao->prepare($insert); $result->bindParam(':imagem', $novoNome, PDO::PARAM_STR); $result->bindParam(':data', $data, PDO::PARAM_STR); $result->bindParam(':titulo', $titulo, PDO::PARAM_STR); $result->bindParam(':exibir', $exibir, PDO::PARAM_STR); $result->bindParam(':descricao', $descricao, PDO::PARAM_STR); $result->bindParam(':alterado', $alterado, PDO::PARAM_STR); $result->bindParam(':logado', $logado, PDO::PARAM_STR); $result->execute(); $contar = $result->rowCount(); if($contar>0){ /******Forme date*********/ <input type="text" class="span2" id="date" name="data" value="" required >
×
×
  • Create New...