TeixeiraRamos 4 Denunciar post Postado Novembro 12, 2018 Tenho o seguinte: Citar config.php <?php define('HOST', 'localhost'); define('USER', 'root'); define('PASS', ''); define('BASE', 'phpoo'); Citar DB.php <?php /** * Description of DB * * @author José Ivan */ require_once 'config.php'; class DB { private static $instance; public static function getInstance() { if (!isset(self::$instance)) { try { self::$instance = new PDO('mysql:host=' . HOST . '; dbname=' . BASE, USER, PASS); self::$instance->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); self::$instance->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ); } catch (PDOException $e) { echo $e->getMessage(); } } return self::$instance; } public static function prepare($sql) { return self::getInstance()->prepare($sql); } } Citar CrudUser.php <?php require_once 'DB.php'; abstract class CrudUser extends DB { protected $tabela; public $nome; public $email; public function setNome($nome) { $this->nome = $nome; } public function getNome() { return $this->nome; } public function setEmail($email) { $this->email = $email; } public function getEmail() { return $this->email; } } Citar Usuarios.php <?php /** * Description of Usuarios * * @author José Ivan */ require_once 'CrudUser.php'; class Usuarios extends CrudUser { protected $tabela = 'tbl_usuarios'; public function findUnit($id) { $sql = "SELECT * FROM $this->tabela WHERE id = :id"; $stm = DB::prepare($sql); $stm->bindParam(':id', $id, PDO::PARAM_INT); $stm->execute(); return $stm->fetch(); } public function findAll() { $sql = "SELECT * FROM $this->tabela"; $stm = DB::prepare($sql); $stm->execute(); return $stm->fetchAll(); } public function insert() { $sql = "INSERT INTO $this->tabela (nome, email) VALUES (:nome, :email)"; $stm = DB::prepare($sql); $stm->bindParam(':nome', $this->nome); $stm->bindParam(':email', $this->email); return $stm->execute(); } public function update($id) { $sql = "UPDATE $this->tabela SET nome = :nome, email = :email WHERE id = :id"; $stm = DB::prepare($sql); $stm->bindParam(':id', $id, PDO::PARAM_INT); $stm->bindParam(':nome', $this->nome); $stm->bindParam(':email', $this->email); return $stm->execute(); } public function delete($id) { $sql = "DELETE FROM $this->tabela WHERE id = :id"; $stm = DB::prepare($sql); $stm->bindParam(':id', $id, PDO::PARAM_INT); return $stm->execute(); } } Citar Index.php <?php //require_once 'classes/Usuarios.php'; function __autoload($class) { require_once '../classes/' . $class . '.php'; } ?> <!DOCTYPE html> <html lang="pt-BR"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> <title>phpOO - Orientado a Objeto</title> <!-- Bootstrap --> <link href="../css/bootstrap.min.css" rel="stylesheet"> <script> var ch = '<?php echo sha1(time()); ?>'; </script> </head> <body> <div class="container"> <header> <img src="imagens/logo.png"/> <div class="well"> <h1 class="text-center">PhpOO Crud - Orientado a Objeto -> <span class="text-primary">ComercioCursos.com.br</span></h1> </div> </header> <!-- Form cadastrar --> <div style="margin: 100px 0; text-align: center"> <?php $usuario = new Usuarios(); // Cadastro de Usuario if ( isset($_POST['cadastrar']) ): $nome = $_POST['nome']; $email = $_POST['email']; $usuario->setNome($nome); $usuario->setEmail($email); if ($usuario->insert()) { echo '<div class="alert alert-success alert-dismissible" role="alert"> <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button> <strong>OK!</strong> Incluido com sucesso!!! </div>'; } else { echo '<div class="alert alert-success alert-dismissible" role="alert"> <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button> <strong>OK!</strong> Erro ao alterar!!! </div>'; } endif; //exclusao de Usuario if (isset($_POST['excluir_ui'])){ $id = $_POST['id_ui']; $usuario->delete($id); } // Alterar Usuario if ( isset($_POST['alterar']) ) { $id = $_POST['id_uii']; $nome = $_POST['nome']; $email = $_POST['email']; $usuario->setNome($nome); $usuario->setEmail($email); $usuario->update($id); } ?> <legend>Formulário Cadastrar</legend> <form class="form-inline" method="post"> <div class="input-group"> <span class="input-group-addon glyphicon glyphicon-user"></span> <input name="nome" type="text" class="form-control" required > </div> <div class="input-group"> <span class="input-group-addon">@</span> <input name="email" type="email" class="form-control"> </div> <input name="cadastrar" type="submit" class="btn btn-success" value="Cadastrar"> </form> </div> <!-- Fim form cadastrar --> <!-- Inicio da tabela --> <table class="table table-striped table-bordered table-hover"> <thead> <tr class="active"> <th>Nome</th> <th>E-mail</th> </tr> </thead> <tbody> <?php foreach ($usuario->findAll() as $key => $value) { ?> <tr> <td> <?php echo $value->nome;?> </td> <td> <?php echo $value->email;?> </td> <td> <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#myModal" onclick="load_modal('<?php echo $value->nome;?>', '<?php echo $value->email;?>', <?php echo $value->id;?>);"> Alterar</button> <form class="form_excluir" method="post" style="float: left; margin: 0 15px;"> <input name="id_ui" type="hidden" value="<?php echo $value->id;?>"/> <button name="excluir_ui" type="submit" onclick="fn_exluir();" class="btn btn-danger">Excluir</button> </form> </td> </tr> <?php } ?> </tbody> </table> <!-- Fim da tabela --> <!-- Modal para alterar Usuário --> <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title" id="myModalLabel">Alterando Usuário</h4> </div> <div class="modal-body"> <form class="form-inline" method="post"> <div class="input-group"> <span class="input-group-addon glyphicon glyphicon-user"></span> <input id="text_nome" name="nome" type="text" class="form-control" required value="" > </div> <div class="input-group"> <span class="input-group-addon">@</span> <input id="text_email" name="email" type="email" class="form-control"> </div> <input id="id_uii" name="id_uii" type="hidden" value=""/> <input name="alterar" type="submit" class="btn btn-warning" value="Alterar"> </form> </div> </div> </div> </div> <!-- fim Modal --> </div> <!-- fim cantainer --> <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> <script src="https://code.jquery.com/jquery-1.11.3.min.js" integrity="sha256-7LkWEzqTdpEfELxcZZlS6wAx5Ff13zZ83lYO2/ujj7g=" crossorigin="anonymous"></script> <!-- Include all compiled plugins (below), or include individual files as needed --> <script src="../js/bootstrap.min.js"></script> <script src="../js/script.js"></script> </body> </html> Citar script.js // JavaScript Document function fn_excluir() { $('.form_excluir').submit(function () { return confirm("Click OK para continuar?"); }); } function load_modal(nome, email) { $('#text_nome').val(nome); $('#text_email').val(email); } O que vem ocorrendo com os script acima: 1 - Clicando no botão "Cadastrar" do Formulário Cadastrar mostra no formulário " OK! Incluido com sucesso!!!" e o registro é salvo no banco de dados; 2 - Clicando no botão "Alterar", abre um formulário, mostra o registro correspondente aquele "id", depois da "alteração" e clicando em "Alterar", fecha a mas o registro não é alterado; 3 - Clicando no botão "Excluir", o "id" correspondente é excluído imediatamente do banco de dados, mas não abre a tela com o pedido de confirmação "Clique OK para continuar"; Tanto para "Alterar" como para "Excluir" acredito que esteja no meu script.js, mas já procurei e não vejo onde se encontra o erro. Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
felone 0 Denunciar post Postado Novembro 12, 2018 function fn_excluir() { $('.form_excluir').submit(function () { return confirm("Click OK para continuar?"); }); } Se tirar o return e deixar confirm("Click OK para continuar?"); num funciona ? Compartilhar este post Link para o post Compartilhar em outros sites
TeixeiraRamos 4 Denunciar post Postado Novembro 12, 2018 felone, Infelizmente não. Continua excluindo o id sem abrir "Click OK para continuar?" Compartilhar este post Link para o post Compartilhar em outros sites
felone 0 Denunciar post Postado Novembro 13, 2018 15 horas atrás, TeixeiraRamos disse: felone, Infelizmente não. Continua excluindo o id sem abrir "Click OK para continuar?" Man, não sei se vai funcionar mas tenta isso function fn_excluir() { var resultado = confirm("Click OK para continuar?"); if (resultado == true) { $('.form_excluir').submit(function () { return; }); }else { alert("Registro não pode ser excluido"); } } Compartilhar este post Link para o post Compartilhar em outros sites
TeixeiraRamos 4 Denunciar post Postado Novembro 13, 2018 Não funcionou. Continua excluindo direto "sem passar" pela function. Estou cometendo algum erro nesse script.js. Será que salvei errado o script no DW, mas isso não procede também porque se eu colocar tudo aqui com "comentário": function load_modal(nome, email) { //$('#text_nome').val(nome); //$('#text_email').val(email); } afeta a tela que abre para alterar o registro, ou seja, não aparece nem o "nome" nem o "e-mail" do "Id" que se clicou para alterar. Retirando o "comentário" volta a aparecer corretamente o "nome" e o "e-mail", mas não altera o registro. Com isso se conclui que nessa parte a function está funcionando, mas o "update" que é bom nada. Agora não sei se é o script.js ou o formulário nessa parte aqui: //exclusao de Usuario if (isset($_POST['excluir_ui'])){ $id = $_POST['id_ui']; $usuario->delete($id); } // Alterar Usuario if ( isset($_POST['alterar']) ) { $id = $_POST['id_uii']; $nome = $_POST['nome']; $email = $_POST['email']; $usuario->setNome($nome); $usuario->setEmail($email); $usuario->update($id); } Gostaria de ver funcionando, mas até agora nada. Compartilhar este post Link para o post Compartilhar em outros sites
felone 0 Denunciar post Postado Novembro 13, 2018 Em 12/11/2018 at 12:35, TeixeiraRamos disse: <form class="form_excluir" method="post" style="float: left; margin: 0 15px;"> <input name="id_ui" type="hidden" value="<?php echo $value->id;?>"/> <button name="excluir_ui" type="submit" onclick="fn_exluir();" class="btn btn-danger">Excluir</button> </form> pelo que vi quando você usa onclick para chamar uma função voce não coloca ponto e virgula Compartilhar este post Link para o post Compartilhar em outros sites
felone 0 Denunciar post Postado Novembro 13, 2018 Outra coisa tambem é voce colocar "Onsubmit" na tag form, isso para executar o script antes de enviar os dados Compartilhar este post Link para o post Compartilhar em outros sites
felone 0 Denunciar post Postado Novembro 13, 2018 HTML <form onsubmit="confirmar()" class="form_excluir" method="post" style="float: left; margin: 0 15px;"> <input name="id_ui" type="hidden" value="<?php echo $value->id;?>"/> <button name="excluir_ui" type="submit" onclick="fn_exluir()" class="btn btn-danger">Excluir</button> </form> Java script function confirmar() { resultado = confirm(); if (resultado == true) { fn_excluir() }else{ alert("Registro não pode ser excluido"); } } Voce coloca onsubmit na tag form, depois cria uma função confirmar no js para ser executada antes de enviar os dados do formulário. Compartilhar este post Link para o post Compartilhar em outros sites
TeixeiraRamos 4 Denunciar post Postado Novembro 13, 2018 4 horas atrás, felone disse: pelo que vi quando você usa onclick para chamar uma função voce não coloca ponto e virgula Aqui? <form class="form_excluir" method="post" style="float: left; margin: 0 15px;"> <input name="id_ui" type="hidden" value="<?php echo $value->id;?>"/> <button name="excluir_ui" type="submit" onclick="fn_exluir();" class="btn btn-danger">Excluir</button> </form> Citar onclick="fn_exluir();" Não tem ponto e vírgula? Não entendi. Compartilhar este post Link para o post Compartilhar em outros sites
TeixeiraRamos 4 Denunciar post Postado Novembro 13, 2018 Citar Voce coloca onsubmit na tag form, depois cria uma função confirmar no js para ser executada antes de enviar os dados do formulário. O que ocorre. a) Quando clico no Botão "Excluir" abre uma janela com dois botões: um com botão "OK" e o outro "Cancelar", somente. Não faz pergunta; b) Clicando no botão "Ok" o registro é excluído fecha a janela; c) Clicando no botão "Cancelar", abre uma janela informando "Registro não pode ser excluido" e abaixo para marcar "Bloquear janelas de confirmação desta página", habilitando ou não essa mensagem, clicando no "OK" o registro é excluído do banco, ou seja, está excluindo da mesma forma o registro. A function e a onsubmit funcionou em parte, mas excluir. Compartilhar este post Link para o post Compartilhar em outros sites
Omar~ 87 Denunciar post Postado Novembro 14, 2018 Só para deixar claro. Quando se vai submeter um formulário por função javascript, você deve remover o comportamento padrão do browser sobre aquele evento. Existem duas formas de se fazer isso. 1 - Você deve adicionar o comando onsubmit direto na tag do form exemplo: <form onsubmit="return false;"> Isso quer dizer que não impota quantos botões haja dentro do form ele nunca será validado por inline, sendo necessário eventos de script para acionar-lo. Ou nesse mesmo termo chamar diretamente uma função para o evento <form onsubmit="return MinhaFuncao();"> Sendo então a função que vai tratar do retorno var retorna = null; // se fosse true retornava function MinhaFuncao() { if (retorna) { return true; // O form é submetido } else { return true; // O form permanece sem submeter } } 2 - Que pode ser um caso de uma função depender de outra ou outras funções/condições, tratamos do evento diretamente no script, bastando informar qual elemento é o gatilho que dispara o evento. Exemplo <form id="identificador"> <!-- Conteúdo --> </form> <script> var gatilho = document.getElementById('identificador'); gatilho.addEventListener('submit', alguma_funcao, false); </script> Nesse caso é sempre a função quem vai tratar do retorno. Que pode ser o pelo termo return false; ou por prevenção do evento padrão function alguma_funcao(evento) { evento.preventDefault(); // Remove o comportamento padrão, seja qual for o evento de origem console.log(evento); // Dados de quem disparou o evento é mostrado no console do navegador } Enfim, é só para esclarecer sobre o assunto de form X script. @TeixeiraRamos Fiz um exemplo para você funcional, porém, como odeio jquery e acho que ele não serve para bost... nenhuma. Fiz só com o bom e prático javascript. E também usei um script para modal meu que também é puro e simples javascript. Spoiler Arquivo JS usado: https://github.com/Spell-Master/sm-web/blob/master/javascript/ModalShow.js Arquivo CSS de apoio: https://github.com/Spell-Master/sm-web/blob/master/css/ModalShow.css Exemplo <link href="ModalShow.css" rel="stylesheet" type="text/css"/> <script src="ModalShow.js" type="text/javascript"></script> <?php if (isset($_POST) && count($_POST) >= 1) { echo ("<pre>"); var_dump($_POST); echo ("</pre>"); } ?> <form id="confirma_acao" method="POST"> <input type="text" name="valor_A" value="alguma_coisa" /> <input type="text" name="valor_B" value="alguma_coisa2" /> <button>Acionar Confirmação</button> </form> <div class="modal" id="modal-confirma"> <div class="modal-box" style="max-width: 600px"> <div class="modal-header"></div> <div class="modal-content" id="carrega_dados"></div> </div> </div> <script> /* * Primeiro parâmetro - é o ID do modal que queira abrir * Segundo parâmetro - quer dizer que toda vez que o modal for fechado é para limpar seu conteúdo */ var modal = new ModalShow('modal-confirma', true); var form; var atual = document.getElementById('confirma_acao'); // Armazenar o id do formulário atual.addEventListener('submit', confirmacao, false); // Adiciona o evento para chamar a função /* * Cria toda a estrutura de confirmação */ function confirmacao(e) { e.preventDefault(); // Remove o comportamento padrão do form (funciona igual a "return false") form = e.target; // Identifica qual é o alvo atual da função var div = document.createElement('div'); // Cria um elemento DIV /* * Aqui eu escrevi o HTML, então você pode criar um div com class do jeito que quiser * como se estivesse escrevendo na página */ div.innerHTML = '<button onclick="salvarForm(\'' + form.id + '\')">Confirmar e Salvar o formulário!</button>'; document.getElementById('carrega_dados').appendChild(div); // Insere a div criada dentro da interface do modal modal.open('Confirmar a Ação??', true); // Abre o modal } function salvarForm(fID) { document.getElementById(fID).submit(); } </script> Fica a dica, antes de completar uma ação porque esse é o erro de 99.9% das pessoas é não depurar os valores antes da validação, quer dizer que antes de fazer um updade, submit etc.. em um DB. Teste/ veja/ analise com cuidado os dados que você está enviando, só quando tudo estiver de acordo é que você começa a transcrever o resto. O mesmo vale para formatações HTML. Compartilhar este post Link para o post Compartilhar em outros sites
felone 0 Denunciar post Postado Novembro 14, 2018 12 horas atrás, TeixeiraRamos disse: O que ocorre. a) Quando clico no Botão "Excluir" abre uma janela com dois botões: um com botão "OK" e o outro "Cancelar", somente. Não faz pergunta; b) Clicando no botão "Ok" o registro é excluído fecha a janela; c) Clicando no botão "Cancelar", abre uma janela informando "Registro não pode ser excluido" e abaixo para marcar "Bloquear janelas de confirmação desta página", habilitando ou não essa mensagem, clicando no "OK" o registro é excluído do banco, ou seja, está excluindo da mesma forma o registro. A function e a onsubmit funcionou em parte, mas excluir. Da um console.log(resultado); e veja qual é o retorno da variavel resultado no console do navegador. Compartilhar este post Link para o post Compartilhar em outros sites
TeixeiraRamos 4 Denunciar post Postado Novembro 14, 2018 lefone e Oamar, muito obrigado pela atenção. Às vezes começo a fazer algo tenho que interromper. Bate um sono de tombar mesmo. É a glicose muito alta, mesmo tomando a insulina bem cedo. Demorei a responder, mas não é falta de interesse pelo assunto. Bem vamos lá: Observei o seguinte: a) com script original e com as sugestões postadas do lefone e omar // JavaScript Document function fn_excluir() { $('.form_excluir').submit(function () { return confirm("Click OK para continuar?"); }); } function load_modal(nome, email) { $('#text_nome').val(nome); $('#text_email').val(email); } //Sugestão do forum forum imasters lefone //function confirmar() { // resultado = confirm(); //if (resultado == true) { //fn_excluir() //}else{ //alert("Registro não pode ser excluido"); //} //} //Sugestão do forum forum imasters Omar //function alguma_funcao(evento) { //evento.preventDefault(); // Remove o comportamento padrão, seja qual for o evento de origem //console.log(evento); // Dados de quem disparou o evento é mostrado no console do navegador //} Mostra no Console: Citar Failed to load resource: the server responded with a status of 404 (Not Found) glyphicons-halflings-regular.woff2:1 Failed to load resource: the server responded with a status of 404 (Not Found) glyphicons-halflings-regular.woff:1 Failed to load resource: the server responded with a status of 404 (Not Found) glyphicons-halflings-regular.ttf:1 Failed to load resource: the server responded with a status of 404 (Not Found) Agora vou mostrar o que mais encuca é que aqui funciona: Citar https://www.youtube.com/watch?v=mhdKMVCGAaY Como acompanhei a aula: 1- Liguei um dos computadores e fui acompanhando a aula; 2- No outro fui digitando os script no DW; 3- Quando criei o script.js começou a não funcionar a parte de Alteração e Exclusão, ou seja, diferente conforme mostra na aula; 4- Depois de conferir dezenas de vezes, assistindo as aulas não consegui descobrir como que mostra no vídeo a Alterando e Excluindo registro e só o meu não faz; 5- Fui até a página http://comerciocursos.com.br/php-oo-do-jeito-facil-de-crud-com-bootstrap/; 6- Encontrei todos os scripts, exceto o script.js (logo esse) e deletei tudo que digitei e colei os scripts do autor; 7- O problema continua. Como se no vídeo não mostra esse problema. Mostra um erro ou outro aquilo normal que ocorre na digitação, mas o resultado final é bom e Alteração e Exclusão (com pergunta) funcionam; 5- E agora? 6- Aqui http://comerciocursos.com.br/downloads/?d=Crud phpOO manda colocar o e-mail que o download vai para e-mail até agora não enviaram nada. É a vida. Compartilhar este post Link para o post Compartilhar em outros sites
TeixeiraRamos 4 Denunciar post Postado Novembro 19, 2018 Em 13/11/2018 at 15:49, felone disse: pelo que vi quando você usa onclick para chamar uma função voce não coloca ponto e virgula Eu coloquei ; e continua. Compartilhar este post Link para o post Compartilhar em outros sites
Ricardo Busatta 0 Denunciar post Postado Novembro 19, 2018 @TeixeiraRamos tente usar o onsubmit com o return antes da sua função de validação. Compartilhar este post Link para o post Compartilhar em outros sites
Fernando C 128 Denunciar post Postado Novembro 19, 2018 1. alteracoes: ha dois botoes ocultos; um deles - o de alteracoes - nao esta passando o "id"; localize essas linhas: Citar <input id="id_uii" name="id_uii" type="hidden" value=""/> <input name="alterar" type="submit" class="btn btn-warning" value="Alterar"> e troque a primeira linha por essa: <input id="id_uii" name="id_uii" type="hidden" value="<?php echo $value->id;?>"/> 2. exibir modal de confirmacao de exclusao: localizar essas linhas: Citar </span> <button name="excluir_ui" type="submit" onClick="fn_exluir();" class="btn btn-danger">Excluir</button> </form> corrigir o nome da funcao: onClick="fn_excluir();" conforme esta no "script.js" Compartilhar este post Link para o post Compartilhar em outros sites
TeixeiraRamos 4 Denunciar post Postado Novembro 20, 2018 Prezados muito obrigado mesmo, Fiz conforme sugerido. Ricardo continuou com os erros. O que mudou com informação Fernando C: Alterar a) Clicando no botão "Alterar" e alterando o registro é feita a alteração correta porém não no "Id" correspondente. Por exemplo: Cliquei no registro que corresponde o "id" 4 (ultimo do banco) a Alteração é feita com sucesso; b) Fazendo o mesmo processo, mas clicando no registro correspondente ao "id" número 1, abre a tela para alterar o registro correspondente ao "id", mostra o "nome" e "email" desse "id" 1, porém alterando altera o "id" 4, o ultimo e não "id" 1 que cliquei; Excluir a) Desculpe, editei essa postagem, para informar que fechei a página e voltei a abrir e fiz vários teste e está excluindo corretamente, ou seja, mostra o botão informando "Clique em OK para continuar". Clicando é excluir é excluído registro concorrente. Na alteração que não está excluindo o registro corretamente. Clique no id 1, altera o registro 9, por exemplo. Pessoal desculpe, mas as vezes não sei o que devo postar para ajudar. Se tiver errando perdão: Já coloquei tantos comentários tirei voltei a colocar. Usei esse script.js para esse teste: // JavaScript Document function fn_excluir() { $('.form_excluir').submit(function () { return confirm("Click OK para continuar?"); }); } function load_modal(nome, email) { $('#text_nome').val(nome); $('#text_email').val(email); } //Sugestão do forum forum imasters lefone //function confirmar() { // resultado = confirm(); //if (resultado == true) { //fn_excluir() //}else{ // alert("Registro não pode ser excluido"); //} //} //Sugestão do forum forum imasters Omar //function alguma_funcao(evento) { //evento.preventDefault(); // Remove o comportamento padrão, seja qual for o evento de origem //console.log(evento); // Dados de quem disparou o evento é mostrado no console do navegador //} Testei o index.php <?php //require_once 'classes/Usuarios.php'; function __autoload($class) { require_once '../classes/' . $class . '.php'; } ?> <!DOCTYPE html> <html lang="pt-BR"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> <title>phpOO - Orientado a Objeto</title> <!-- Bootstrap --> <link href="../css/bootstrap.min.css" rel="stylesheet"> <script> var ch = '<?php echo sha1(time()); ?>'; </script> </head> <body> <div class="container"> <header> <img src="imagens/logo.png"/> <div class="well"> <h1 class="text-center">PhpOO Crud - Orientado a Objeto -> <span class="text-primary">ComercioCursos.com.br</span></h1> </div> </header> <!-- Form cadastrar --> <div style="margin: 100px 0; text-align: center"> <?php $usuario = new Usuarios(); // Cadastro de Usuario if ( isset($_POST['cadastrar']) ): $nome = $_POST['nome']; $email = $_POST['email']; $usuario->setNome($nome); $usuario->setEmail($email); if ($usuario->insert()) { echo '<div class="alert alert-success alert-dismissible" role="alert"> <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button> <strong>OK!</strong> Incluido com sucesso!!! </div>'; } else { echo '<div class="alert alert-success alert-dismissible" role="alert"> <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button> <strong>OK!</strong> Erro ao alterar!!! </div>'; } endif; //exclusao de Usuario if (isset($_POST['excluir_ui'])){ $id = $_POST['id_ui']; $usuario->delete($id); } // Alterar Usuario if ( isset($_POST['alterar']) ) { $id = $_POST['id_uii']; $nome = $_POST['nome']; $email = $_POST['email']; $usuario->setNome($nome); $usuario->setEmail($email); $usuario->update($id); } ?> <legend>Formulário Cadastrar</legend> <form class="form-inline" method="post"> <div class="input-group"> <span class="input-group-addon glyphicon glyphicon-user"></span> <input name="nome" type="text" class="form-control" required > </div> <div class="input-group"> <span class="input-group-addon">@</span> <input name="email" type="email" class="form-control"> </div> <input name="cadastrar" type="submit" class="btn btn-success" value="Cadastrar"> </form> </div> <!-- Fim form cadastrar --> <!-- Inicio da tabela --> <table class="table table-striped table-bordered table-hover"> <thead> <tr class="active"> <th>Nome</th> <th>E-mail</th> </tr> </thead> <tbody> <?php foreach ($usuario->findAll() as $key => $value) { ?> <tr> <td> <?php echo $value->nome;?> </td> <td> <?php echo $value->email;?> </td> <td> <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#myModal" onclick="load_modal('<?php echo $value->nome;?>', '<?php echo $value->email;?>', <?php echo $value->id;?>);">Alterar</button> <form class="form_excluir" method="post" style="float: left; margin: 0 15px;"> <input name="id_ui" type="hidden" value="<?php echo $value->id;?>"/><button name="excluir_ui" type="submit" onclick="fn_excluir();" class="btn btn-danger">Excluir</button></form> <!--Fernando C do forum descobriu erro no nome da função --> </td> </tr> <?php } ?> </tbody> </table> <!-- Fim da tabela --> <!-- Modal para alterar Usuário --> <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title" id="myModalLabel">Alterando Usuário</h4> </div> <div class="modal-body"> <form class="form-inline" method="post"> <div class="input-group"> <span class="input-group-addon glyphicon glyphicon-user"></span> <input id="text_nome" name="nome" type="text" class="form-control" required value="" > </div> <div class="input-group"> <span class="input-group-addon">@</span> <input id="text_email" name="email" type="email" class="form-control"> </div> <!--<input id="id_uii" name="id_uii" type="hidden" value=""/>--> <!--Fernando C pede para substituir só alinha acima por essa lonha --> <input id="id_uii" name="id_uii" type="hidden" value="<?php echo $value->id;?>"/> <input name="alterar" type="submit" class="btn btn-warning" value="Alterar"> </form> </div> </div> </div> </div> <!-- fim Modal --> </div> <!-- fim cantainer --> <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> <script src="https://code.jquery.com/jquery-1.11.3.min.js" integrity="sha256-7LkWEzqTdpEfELxcZZlS6wAx5Ff13zZ83lYO2/ujj7g=" crossorigin="anonymous"></script> <!-- Include all compiled plugins (below), or include individual files as needed --> <script src="../js/bootstrap.min.js"></script> <script src="../js/script.js"></script> } </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
TeixeiraRamos 4 Denunciar post Postado Novembro 20, 2018 OK Gente, Tive que alterar também a script.js ficou assim: // JavaScript Document function fn_excluir() { $('.form_excluir').submit(function () { return confirm("Click OK para continuar?"); }); } function load_modal(nome, email, id) { $('#text_nome').val(nome); $('#text_email').val(email); $('#id_uii').val(id); } Isso feito mais o que o Fernando C sugeriu ficou completo o CRUD com Bootstrap - PHP 00 Sem vocês não conseguiria. Aqui sempre foi um incentivo para o estudo e aprendizagem. Obrigados a todos. Agora vou estudar para inserir mais coisas nesse form. Desejo Sucesso a todos e fiquem com Deus. Compartilhar este post Link para o post Compartilhar em outros sites