Ir para conteúdo
Sistema de Servidores de Jogos ×

Pesquisar na Comunidade

Mostrando resultados para as tags ''pdo''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • Parceiros WebCheats
    • Fox CHEATS
    • WYD LOST
  • Anúncios e Feedbacks
    • Regras
    • Anúncios e Novidades
    • Área do Usuário
    • Apresente-se aqui!
    • Tutoriais WC
    • Eventos do fórum
    • Seja um Membro Vip
  • Beta Zone - Áreas Temporárias
    • Lineage 2
    • Inteligência Artificial
    • Segurança e Investigação
    • Desenvolvimento
  • MMO Zone
    • WYD - With Your Destiny
    • Grand Chase
    • League of Legends
    • Outros MMO em Geral
    • RPG Zone - Lixão
  • Shooter Zone
    • Counter Strike
    • Blood Strike
    • Valorant
    • Point Blank
    • Outros Shooters em Geral
    • Battle Royale
    • Shooter Zone - Lixão
  • Outros Games Zone
    • Minecraft
    • Outros Games
    • Outros Games Zone - Lixão
  • Mobile
    • Mobile - Downloads de Cheats / Utilitários
    • Mobile - Tutoriais
    • Mobile - Servidores Privados
    • Mobile - Dúvidas / Pedidos
    • Mobile - Bate Papo
  • Info Zone
    • Programação
    • Cracking
    • Tech
    • Tecnologia da Informação
    • Info Zone - Lixão
  • Design Zone
    • Galeria
    • Fábricas
    • Tutoriais
    • Recursos
    • Presentes, Leilões, Vendas e Doações
    • Suporte Design
    • Bate Papo Design
    • Depósito
  • Entretenimento & Diversão
    • Notícias do Mundo
    • Bate Papo
    • Discussões
    • Mangás & Animes
    • Mídia
  • MarketPlace
    • Divulgação de Serviços
    • Contrate Serviços de Freelancer
    • Contas, Skins e Cheats
    • Outros
  • Notícias de Jogos
    • PC
    • PlayStation
    • Xbox
    • Nintendo
    • Mobile
    • Geral
  • Old WC's Bate Papo
  • 【FREE FIRE】▄︻┻┳═一's Fórum do Clube
  • Bug Abuser's Tópicos

Product Groups

Não há resultados para exibir.


Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


Discord


TItulo de usuário


Data de Criação

Entre e ganha o

Encontrado 2 registros

  1. Bom, eu postei um tópico aqui a um tempo atrás e vi que o titulo ficou errado e fiquei bolada. kkk Resolvi fazer um melhor e mais completo para postar aqui até porque posso corrigir o titulo do post anterior. Pense o seguinte: O sistema que desenvolvi ele visa uma única pagina para a criação de um artigo e edição. Através da variável na URL, podemos saber quando o usuário está querendo inserir algo no banco de dados, ou seja, criar uma pagina, ou editar um artigo já existente. Assim: // se não foi setado o primeiro, os outros também não // lembrando que $_GET['t'] = 'painel'; // pois no site que desenvolvi é inserido em uma div através do método include if (!isset($_GET['t'])||!isset($_SESSION['id'])) exit; $post_titulo = null; $post_descricao = null; $post_content = null; $post_categoria = null; $post_tipo = null; O GET['tt'] representa o 'novoartigo' ou 'editartigo' // caso seja edição, através do id coletamos os dados do artigo e inserimos nas variáveis que representaram o formulário de criação/edição if ( $_GET['tt'] == 'editartigo' && isset($_GET['ttt']) ) { $c = (int)$_GET['ttt']; $d = $db->prepare('SELECT titulo,descricao,content,categoria,tipo FROM post WHERE id = :id'); $d->bindParam(':id',$c); if ($d->execute()) if ($d->rowCount() > 0) { $e = $d->fetch(PDO::FETCH_NUM); $post_titulo = $e[0]; $post_descricao = $e[1]; $post_content = $e[2]; $post_categoria = $e[3]; $post_tipo = $e[4]; } } Segue o restante: ?> <div id="new-artigo"> <h1>Novo Artigo</h1> <div class="new-artigo-click"> <ul id="new-artigo-click"> <li><a href="">Artigo Escrito</a></li> <li><a href="">Artigo Line, ex:document.getElementById('')</a></li> <li><a href="">Artigo Composto</a></li> </ul> </div> <form id="new-artigo-form" method="POST" action="<?php echo $local ?>painel/<?php echo $_GET['tt'] ?>/"> <input type="text" name="titulo" placeholder="Titulo" value="<?php echo $post_titulo ?>"/><br /> <textarea name="descricao" placeholder="Descrição do Artigo"> <?php echo $post_descricao ?> </textarea> <div id="lcs-editor"> <ul> <li class="lcs-editor" data-tipo="a">EDITOR</li> <li class="lcs-editor" data-tipo="tituloA">TITULO 1</li> <li class="lcs-editor" data-tipo="tituloAA">TITULO A</li> <li class="lcs-editor" data-tipo="texto">TEXTO</li> <li class="lcs-editor" data-tipo="code">CODE</li> <li class="lcs-editor" data-tipo="html">HTML</li> <li class="lcs-editor" data-tipo="js">JS</li> <li class="lcs-editor" data-tipo="resposta">RESPOSTA</li> </ul> </div> <div class="pre-view"></div> <textarea name="content" style="display:none"> <?php echo $post_content ?> </textarea> <select name="categoria"> <option value="<?php echo $post_categoria ?>"> <?php echo $post_categoria == null ? 'Categoria:' : $post_categoria ?> </option> <option value="javascript">Javascript</option> </select> <select name="tipo"> <option value="<?php echo $post_tipo ?>"> <?php echo $post_tipo == null ? 'Tipo de Artigo:' : $post_tipo ?> </option> <option value="curso">Curso</option> <option value="dicas">Dicas</option> </select><br /> <?php if (isset($_GET['ttt'])) { echo '<input type="hidden" name="id" value='.$_GET['ttt'].'">'; } ?> <div style="clear:both"></div> <input type="submit" value="Concluir!" /> </form> </div> <script> var newArtigoForm = '#new-artigo-form', $newArtigoForm = $(newArtigoForm), txtContent = 'textarea[name=content]', txtDescricao = 'textarea[name=descricao]', cLcsEditor = '.lcs-editor', cPreview = '.pre-view', cBox = '.LCSbox', cEtapaIndex = '.box_etapa_index', cEtapaEdit = '.box_etapa_edit', cEtapaDelete = '.box_etapa_delete', cEtapaMove = '.box_etapa_move', cEtapaMoveText = '.box_etapa_moveText', cEtapaMoveCima = '.box_etapa_moveCima', cEtapaMoveBaixo = '.box_etapa_moveBaixo', cEtapaClear = '.box_etapa_clear', cElemEdicao = '.LCSeditor', keys = [true]; </script> <?php if ($_GET['tt'] == 'editartigo') { ?> <script> // EDIÇÃO DO ARTIGO $(cPreview).html($(txtContent).text()); // edição $(cEtapaIndex).click(function() { // permissão para execução do evento // evita bugs if ( !keys[0] ) return false; // ... var index = $(cEtapaIndex).index(this), tipo = $(this).attr('data-tipo'); editarLCSeditor(true,index,tipo); // após execução o evento deve ser bloqueado keys[0] = false; }); // click delete elemento $(cEtapaDelete).on('click',function(event) { var _cElemEdicao = cElemEdicao; if (document.getElementsByClassName(_cElemEdicao.replace('.','')).length) { alert('Feche o campo aberto antes!'); return false; } // permissão para deletar, caso seja deletado o evento desse elemento será encerrado também if (confirm("Deseja Realmente Deletar Esse Bloco?")) $(this).off(event); else return false; // prossiga... var _index = $(cEtapaDelete).index(this); $(cBox+':eq('+_index+')').remove(); }); // click move $(cEtapaMove+' span').click(function() { // var cEtapaMoveIndex = $(this).closest(cBox).index(); // var cEtapaMoveSpanIndex = $(this).index(); // mover elemeto para cima if ( cEtapaMoveSpanIndex == 0 ) { // if ($(cBox+':eq('+(cEtapaMoveIndex - 1)+')')) { // $(cBox+':eq('+cEtapaMoveIndex+')'). insertBefore($(cBox+':eq('+(cEtapaMoveIndex - 1)+')')); // } // } else if ( cEtapaMoveSpanIndex == 2 ) { // if ($(cBox+':eq('+(cEtapaMoveIndex + 1)+')')) { // $(cBox+':eq('+cEtapaMoveIndex+')'). insertAfter($(cBox+':eq('+(cEtapaMoveIndex + 1)+')')); }; } }); // verificando chave if ( !keys[0] ) keys[0] = true; // removendo bug de interpretação das tags $('.prettyprint').each(function() { $(this).text($(this).html()); }); </script> <?php } ?> <script> // removendo bug descricao $(document).ready(function() { var a = $(txtDescricao).text(); a = a.replace(' ','').replace(' ',''); $(txtDescricao).text(a); }); // formulario $newArtigoForm.submit(function() { $(txtContent).text($(cPreview).html()); }); // inserir elemento no editor $(cLcsEditor).click(function() { var insertTipo = $(this).attr('data-tipo'), insertIndex = $(cLcsEditor).index(this); insertLCSeditor(insertTipo); insertLCSdelete(); }); // deletar o elemento - OBS: deve-se acompanhar o .box_etapa_index function insertLCSdelete() { $(''+ '<div class="box_etapa_delete">'+ '<span>'+ '[DELETAR]'+ '</span>'+ '</div>'+ '').appendTo(cBox+':last'); $(cEtapaDelete+':last').on('click', function(event) { var _cElemEdicao = cElemEdicao; if (document.getElementsByClassName(_cElemEdicao.replace('.','')).length) { alert('Feche o campo aberto antes!'); return false; } // permissão para deletar, caso seja deletado o evento desse elemento será encerrado também if (confirm("Deseja Realmente Deletar Esse Bloco?")) $(this).off(event); else return false; // prossiga... var _index = $(cEtapaDelete).index(this); $(cBox+':eq('+_index+')').remove(); }); $(''+ '<div class="box_etapa_move">'+ '<span class="box_etapa_moveCima">'+ '[MOVER PARA CIMA]'+ '</span>'+'<br/>'+ '<span class="box_etapa_moveBaixo">'+ '[MOVER PARA BAIXO]'+ '</span>'+ '</div>'+ '').appendTo(cBox+':last'); // mover elemento // precisamos de chave para ter o controle e evitar bugs keys[1] = true; keys[2] = false; $(cEtapaMove+':last span').click(function() { // var cEtapaMoveIndex = $(this).closest(cBox).index(); // var cEtapaMoveSpanIndex = $(this).index(); // mover elemeto para cima if ( cEtapaMoveSpanIndex == 0 ) { // if ($(cBox+':eq('+(cEtapaMoveIndex - 1)+')')) { // $(cBox+':eq('+cEtapaMoveIndex+')'). insertBefore($(cBox+':eq('+(cEtapaMoveIndex - 1)+')')); // } // } else if ( cEtapaMoveSpanIndex == 2 ) { // if ($(cBox+':eq('+(cEtapaMoveIndex + 1)+')')) { // $(cBox+':eq('+cEtapaMoveIndex+')'). insertAfter($(cBox+':eq('+(cEtapaMoveIndex + 1)+')')); }; } }); // $(''+ '<div class="box_etapa_clear">'+ '</div>'+ '').appendTo(cBox+':last'); } // mover o elemento - OBS: deve-se acompanhar o .box_etapa_index e .box_etapa_delete function insertLCSmove(_index) { } // edição textual do elemento function insertLCSeditor(_insertTipo) { // texto default var titulo = 'Pronto Para Editar! :)', elemento = null; // alterando valor padrão, no final o valor volta no padrão cEtapaEdit = cEtapaEdit.replace('.',''); // criação do elemento switch (_insertTipo) { case 'tituloA': tipoCampo = 'textarea'; elemento = ''+ '<pre class="'+cEtapaEdit+' box_etapa_tituloA">'+ titulo+ '</pre>'; break; case 'tituloAA': tipoCampo = 'text'; elemento = ''+ '<h4 class="'+cEtapaEdit+' box_etapa_tituloAA">'+ titulo+ '</h4>'; break; case 'texto': tipoCampo = 'textarea'; elemento = ''+ '<pre class="'+cEtapaEdit+' box_etapa_text">'+ titulo+ '</pre>'; break; case 'code': tipoCampo = 'text'; elemento = ''+ '<code class="'+cEtapaEdit+' prettyprint">'+ '<span></span>'+ '</code>'; break; case 'html': tipoCampo = 'textarea'; elemento = ''+ '<h6 class="box_etapa_html">HTML</h6><br />'+ '<pre class="'+cEtapaEdit+' prettyprint">'+ '<html></html>'+ '</pre>'; break; case 'js': tipoCampo = 'textarea'; elemento = ''+ '<h6 class="box_etapa_js">JS</h6><br />'+ '<pre class="'+cEtapaEdit+' prettyprint">'+ '<script></script>'+ '</pre>'; break; case 'resposta': tipoCampo = 'textarea'; var textoElemento = prompt("Insira o Titulo"); if ( !textoElemento ) textoElemento = 'Resposta'; elemento = ''+ '<h6 class="box_etapa_js">'+textoElemento+'</h6><br />'+ '<pre class="'+cEtapaEdit+' prettyprint">'+ '<script></script>'+ '</pre>'; break; } // voltando valor padrão cEtapaEdit = '.'+cEtapaEdit; // $(''+ '<div class="LCSbox">'+ '<div class="box_etapa_index" data-tipo="'+tipoCampo+'">'+ // box_etapa_edit onde ocorre a alteração do texto elemento+ '</div>'+ '</div>'+ '').appendTo(cPreview); // edição $(cEtapaIndex).click(function() { // permissão para execução do evento // evita bugs if ( !keys[0] ) return false; // ... var index = $(cEtapaIndex).index(this), tipo = $(this).attr('data-tipo'); editarLCSeditor(true,index,tipo); // após execução o evento deve ser bloqueado keys[0] = false; }); } function editarLCSeditor(key,_index,_tipo) { // premissão de acesso if ( ! key ) return false; // setando variaveis var txtCEtapaIndex = cEtapaIndex+':eq('+_index+') '+cEtapaEdit, cEtapaIndexText = $(txtCEtapaIndex).text(); // criando o elemento para edição var elemEdicaoTexto = null; switch (_tipo) { case 'text': elemEdicaoTexto = ''+ '<input class="LCSeditor" data-tipo="text" type="text" value="'+ cEtapaIndexText+ '" />'; break; case 'textarea': elemEdicaoTexto = ''+ '<textarea class="LCSeditor" data-tipo="textarea" type="text">'+ cEtapaIndexText+ '</textarea>'; break; } // removendo conteudo do campo clicado $(txtCEtapaIndex).empty(); // inserção do elemento no campo de pre-visualização $(elemEdicaoTexto).appendTo(txtCEtapaIndex); // atalhos para edicao $(cElemEdicao).keydown(function(e) { if (e.keyCode == 13 && _tipo == 'text') { var a = $(cElemEdicao).val(); $(txtCEtapaIndex).text(a); $(cElemEdicao).remove(); keys[0] = true; // libera evento novamente } else if (e.keyCode == 27 && _tipo == 'textarea') { var a = $(cElemEdicao).val(); $(txtCEtapaIndex).text(a); $(cElemEdicao).remove(); keys[0] = true; // libera evento novamente // atalho TAB } else if (e.keyCode == 9) { _cElemEdicao = cElemEdicao; e = document.getElementsByClassName(_cElemEdicao.replace('.','')); e = e[0]; var start = e.selectionStart; var end = e.selectionEnd; var $this = $(e); var value = $this.val(); // set textarea value to: text before caret + tab + text after caret $this.val(value.substring(0, start) + "\t" + value.substring(end)); // put caret at right position again (add one for the tab) e.selectionStart = e.selectionEnd = start + 1; // prevent the focus lose return false; } }); } </script> Criação: Visualização: Edição: Voltando para os script, o arquivo que recebe o conteúdo <?php $acess = false; if (isset($_SESSION['id'])) { $acess = true; } if (isset($_GET['tt']) && $acess) { // pagina post $a = $_GET['t']; $b = $_GET['tt']; switch ($b) { case 'novoartigo': case 'editartigo': if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) { extract($_POST); $aa = $titulo; $ab = $descricao; $ac = $content; date_default_timezone_set('America/Sao_Paulo'); $ad = date('Y/m/d H:i:s'); $ae = $categoria; $af = (int)$_SESSION['id']; $ag = $tipo; if ($b == 'novoartigo') { $d = $db->prepare('INSERT INTO post VALUES (:id,:titulo,:descricao,:content,'. ':datatempo,:categoria,:usuario,:tipo)'); } else { $d = $db->prepare('UPDATE post SET titulo = :titulo,descricao = :descricao,content = :content,'. 'datatempo = :datatempo,categoria = :categoria,usuario = :usuario,tipo = :tipo WHERE id = :ids'); } if (!isset($id)) $d->bindValue(':id',0); else $d->bindValue(':ids',$id); $d->bindValue(':titulo',$aa); $d->bindValue(':descricao',$ab); $d->bindValue(':content',$ac); $d->bindValue(':datatempo',$ad); $d->bindValue(':categoria',$ae); $d->bindValue(':usuario',$af); $d->bindValue(':tipo',$ag); if ($d->execute()) { if ($d->rowCount() > 0) { header('location:'.$local.'artigosucesso/'); } else // rowCount echo 'Nenhum dado encontrado!'; } else // execute echo '[ERRO] Não foi possivel executar o SQL'; } else // request method include 'painel/novo_artigo.php'; break; default: header('location:'.$local); } // para exibir a pagina, o usuário precisa estar logado em sua conta } Para quem precisar da classe de conexão: <?php /** * Classe de conexão ao banco de dados usando PDO no padrão Singleton. * Modo de Usar: * require_once './Database.class.php'; * $db = Database::conexao(); * E agora use as funções do PDO (prepare, query, exec) em cima da variável $db. */ class Database { # Variável que guarda a conexão PDO. protected static $db; # Private construct - garante que a classe só possa ser instanciada internamente. private function __construct() { # Informações sobre o banco de dados: $db_host = "localhost"; $db_nome = "database_nome"; $db_usuario = "root; $db_senha = "senha"; $db_driver = "mysql" // tipo de conex]ao; # Informações sobre o sistema: $sistema_titulo = "Titulo"; $sistema_email = "[email protected]"; try { # Atribui o objeto PDO à variável $db. self::$db = new PDO("$db_driver:host=$db_host; dbname=$db_nome", $db_usuario, $db_senha); # Garante que o PDO lance exceções durante erros. self::$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); # Garante que os dados sejam armazenados com codificação UFT-8. self::$db->exec('SET NAMES utf8'); } catch (PDOException $e) { # Envia um e-mail para o e-mail oficial do sistema, em caso de erro de conexão. mail($sistema_email, "PDOException em $sistema_titulo", $e->getMessage()); # Então não carrega nada mais da página. die("Connection Error: " . $e->getMessage()); } } # Método estático - acessível sem instanciação. public static function conexao() { # Garante uma única instância. Se não existe uma conexão, criamos uma nova. if (!self::$db) { new Database(); } # Retorna a conexão. return self::$db; } } Créditos: [felladrin - GitHub] Pela Classe de Conexão com o PDO. Eu pelo resto. Dúvidas? Só perguntar...
×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.