Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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.
Obrigadofelone,
Infelizmente não.
Continua excluindo o id sem abrir "Click OK para continuar?"
>
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");
}
}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.>
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 virgulaOutra coisa tambem é voce colocar "Onsubmit" na tag form, isso para executar o script antes de enviar os dados
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.>
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.
>
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.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](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](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.>
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.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/;](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](http://comerciocursos.com.br/downloads/?d=Crud%20phpOO)
manda colocar o e-mail que o download vai para e-mail até agora não enviaram nada.
É a vida.>
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.
@TeixeiraRamos tente usar o onsubmit com o return antes da sua função de validação.
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"
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> </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>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.