CRUD GERAL E LOGIN Sumário

Propaganda
CRUD GERAL E LOGIN
Sumário
Construção de sistema Administrativo ........................................................................................................................ 2
Sistema de Login ..................................................................................................................................................... 2
Técnicas para Evitar Ataques ............................................................................................................................... 3
Formulário de Login e Senha ............................................................................................................................... 3
Controlar Sessão ..................................................................................................................................................... 4
Criar Menu .......................................................................................................................................................... 4
Pagina de LOGIN ................................................................................................................................................. 4
CRUD ...................................................................................................................................................................... 6
O que é CRUD? .................................................................................................................................................... 6
Criando as classes que fazem parte do CRUD....................................................................................................... 6
Busca Dados Geral ............................................................................................................................................... 6
Insert Geral ......................................................................................................................................................... 7
Update Geral ....................................................................................................................................................... 9
Delete Geral ...................................................................................................................................................... 11
Recuperar ID do último registro inserido ........................................................................................................... 11
Lista Geral ......................................................................................................................................................... 12
1
CRUD GERAL E LOGIN
Construção de sistema Administrativo
Um sistema administrativo é composto por CRUDs e Sistema de Segurança através de Login e Senha.
Nesse modelo, iremos ensinar como criar um sistema administrativo simples em PHP.
Os arquivos base estão em http://www.danypires.com.br/apliweb/EXERCICIOS/crud-login.rar
Esse modelo é composto de duas partes LOGIN e CRUD.
Vamos iniciar a parte do LOGIN.
Sistema de Login
Iremos construir um sistema de login e senha para garantir a segurança do sistema administrativo.
No arquivo class.php das linhas 346 a 393 que contém os métodos referente ao sistema de login e senha.
Primeiro vamos falar de SQL INJECTION ou INJEÇÃO DE SQL
Muitos desenvolvedores web não sabem de como consultas SQL podem ser manipuladas e presumem que uma
consulta de SQL é um comando confiável. Significa que consultas SQL são capazes de passar imperceptível por
controles de acesso, portanto desviando da autenticação padrão e de checagens de autorização, e algumas vezes
consultas SQL podem permitir acesso à comando em nível do sistema operacional do servidor.
Injeção direta de comandos SQL é uma técnica onde um atacante cria ou altera comandos SQL existentes para expor
dados escondidos, ou sobrescrever dados valiosos, ou ainda executar comandos de sistema perigosos no servidor.
Isso é possível se a aplicação pegar a entrada do usuário e combinar com parâmetros estáticos para montar uma
consulta SQL. Os exemplos a seguir são baseados em histórias verdadeiras, infelizmente.
2
CRUD GERAL E LOGIN
Devido à falta de validação de entrada e conectando ao banco de dados usando o super-usuário ou um usuário que
pode criar usuário, o atacante pode criar um super-usuário no seu banco de dados.
Técnicas para Evitar Ataques
Você pode dizer que o atacante precisa possuir um pouco de informação sobre o esquema de banco de dados na
maioria dos exemplos. Você tem razão, mas você nunca sabe quando e como isso pode ser obtido e, se acontecer,
seu banco de dados pode ficar exposto. Se você estiver usando um pacote open source publicamente disponível
para lidar com banco de dados, que pode pertencer a um sistema de controle de conteúdo ou forum, os invasores
facilmente produzem uma cópia de parte de seu código. Também pode ser um risco de segurança se este for for mal
desenhado.
Esses ataques se baseiam principalmente em explorar falhas no código escrito sem se preocupar com segurança.
Nunca confie em nenhum tipo de entrada, especialmente aquela que vem do lado do cliente, mesmo que venha de
um combobox, um campo de entrada escondido (hidden) ou um cookie. O primeiro exemplo mostra como uma
consulta inocente pode causar desastres.
Nunca conecte ao banco de dados como um super-usuário ou como o dono do banco de dados. Use sempre usuários
personalizados com privilégios bem limitados.
Verifique se uma entrada qualquer tem o tipo de dados esperado. O PHP tem um grande número de funções de
validação de entrada, desde as mais simples encontrada em Funções de Variáveis e em Funções de Tipo de
Caracteres (ex.: is_numeric(), ctype_digit() respectivamente) além de usar o suporte a Expressões Regulares
Compatível com Perl.
Se a aplicação espera por entradas numéricas, considere verificar os dados com a função is_numeric(), ou
silenciosamente mudar o seu tipo usando settype(), ou usar a representação númerica usando a função sprintf().
Outra maneira é utilizando um função PHP para tratar esses erros. A função do PHP
mysql_real_escape_string, Esta função irá escapar os caracteres especiais em unescaped_string, levando
em conta o atual conjunto de caracteres da conexão, assim é seguro coloca-la em mysql_query().
Veja um método para tratar SQL INJECTION no PHP
//métodos de login e senha
public function anti_sql_injection($string){//método responsável por tratar
dados para evitar SQL injection
$string = get_magic_quotes_gpc() ? stripslashes($string) : $string;
$string = function_exists("mysql_real_escape_string") ?
mysql_real_escape_string($string) : mysql_escape_string($string);
return $string;
}
Esse método trata os campos digitados contra SQL INJECTION.
Formulário de Login e Senha
public function form_login($string){//método de formulario de login
$login ="<fieldset>
<legend>Login</legend>\n";
$login .="<form action=\"login.php?cod=logar\" method=\"post\">\n";
3
CRUD GERAL E LOGIN
$login .="<label>Login</label>\n";
$login .="<input type=\"text\" class=\"campos\" name=\"login\"
size=\"12\"><br />\n";
$login .="<label>Senha</label>\n";
$login .="<input type=\"password\" class=\"campos\" name=\"senha\"
size=\"12\"><br /><span class=\"erro\">".$string."</span>\n";
$login .="<div align=\"right\"><input type=\"submit\"
class=\"botoes\" value=\"OK\"></div>\n";
$login .="</form>\n";
$login .="</fieldset>\n";
return $login;
}
Esse método cria um formulário de login e senha, podendo ser possível passar alguma mensagem de erro.
Controlar Sessão, caso não logado volta a página de login e senha.
//método de controle de sessão
public function sessao(){
session_start();//inicio sessão
if(!isset($_SESSION['id'])) {//checo se variavel sessao de ID foi
declarada
$obj->redireciona("login.php"); //a tela de login
}
}
//método de menu do admin
Criar Menu
Método criar menu através de login no sistema
public function get_menu(){
if(isset($_SESSION['id'])) {
$menu = "<ul>
<li><a href=\"crudbanner.php\">Banner</a></li>
<li><a href=\"crudnoticia.php\">Notícia</a></li>
<li><a href=\"crudproduto.php\">Produtos</a></li>
<li><a href=\"crudtexto.php\">Textos</a></li>
<li><a href=\"cruduser.php\">Usuário</a></li>
<li><a href=\"login.php?cod=logoff\">Sair</a></li>
</ul>";
}else{
$menu = "Área reservada!";
}
return $menu;
}
Com os métodos acima, posso criar minha página de login com o código abaixo.
Pagina de LOGIN
Utilizando os método em CLASS posso criar uma página de LOGIN e SENHA
Veja o script da página LOGIN
<?php
include
"class.php";
4
CRUD GERAL E LOGIN
$obj = new basics;
$obj->conn("localhost","news","root","");
switch ($_GET['cod']) {
case 'logar':
//parte do código que irá logar e criar sessão
$senha = $obj->anti_sql_injection($_POST['senha']);//trata de sql injection
$login = $obj->anti_sql_injection($_POST['login']);
//trata de sql injection
$erro = "";//mensagem de erro zerada
$sql = mysql_query("SELECT * FROM usuarios WHERE usuario_login
='".$login."'");// faço o SQL no banco para ver se o login digitado existe no
banco
if(mysql_num_rows($sql) > 0 ) {// se existir
$array = mysql_fetch_array($sql);// recupero os campos do banco em
mysql_fetch_array
if ($array['usuario_senha'] == $senha){ // comparo se senha digitada
bate com a senha cadastrada no banco
session_register('user');//registro as variveis de sessão na
instance de sessão do navegador
session_register('id');
session_register('nome_user');
session_name('login');
$_SESSION['user'] = $array['usuario_login'];//salvo valores nas
variaves de sessão registradas
$_SESSION['id'] = $array['usuario_id'];
$_SESSION['nome_user'] = $array['usuario_nome'];
$obj->redireciona("login.php?cod=boas-vindas"); // redireciono
para a boas-vindas
}else {
$erro = "Senha errada!"; //mensagem de erro de senha
} // fecha if senha
}else {
$erro= "Usuário inválido!";//mensagem de erro de usuario
}
$login = $obj->form_login($erro);// instancio o formulario de login com
as mensagens de erro, se houverem
break;
case "boas-vindas":// tela de boas vindas com o formulário de sessão
$obj->sessao();//checo se as variaveis de sessão existem, senão
existirem, voltam para a tela de login
$login = "Seja bem-vindo a Área administrativa";
break;
case "logoff"://destroe as sessõese faz log-off
session_start();
unset($_SESSION['user']);
unset($_SESSION['id']);
unset($_SESSION['nome_user']);
$obj->redireciona("login.php");
break;
default://formulário de login
$login = $obj->form_login("");
break;
}
include "login.html";
?>
5
CRUD GERAL E LOGIN
O script acima utilizo a variável GET cod para delimitar a ação da pagina, quando está em default, ou seja, sem ser
informada, ela carrega o formulário de login. No caso de LOGAR, ela recupera as variáveis de login e senha digitadas
no formulário, trata o SQL INJECTION e faz o login, conforme explicação no código.
CRUD
Uma área administrativa compreende em áreas para gerenciar conteúdos que existem no banco de dados, no
nosso projeto temos duas tabelas no banco de dados, TEXTOS e NOTICIAS.
Então iremos criar nesse capítulo um CRUD que atenda a todas as áreas administrativas internas, com isso, você
sozinho conseguirá fazer o da tabela de usuários que terá acesso a esse site.
O que é CRUD?
Mas falamos de CRUD, o que seria um CRUD?
Consiste numa única aplicação que LISTE, INSERA, ALTERE e EXCLUA registros no banco de dados.
A abreviação CRUD mapeada para o padrão ISO/SQL é:
Create INSERT
Retrieve (Read) SELECT
Update UPDATE
Destroy (Delete) DELETE
Ou seja, nessa aplicação teremos as seguintes instruções SQL: SELECT, INSERT, UPDATE e DELETE.
Sendo assim, o SELECT será a listagem dos registros paginados, algo que já fizemos anteriormente.
O INSERT será inserção de registros no banco de dados através de um formulário.
O UPDATE será alteração desses registros no banco de dados também através de um formulário.
E o DELETE será a exclusão desse registro no banco de dados.
Criando as classes que fazem parte do CRUD
Para criarmos no nosso sistema um CRUD, faremos classes que sejam usadas para criar os arquivos de CRUD. A
vantagem nesse procedimento é que iremos construir uma área administrativa em segundos, sem a
necessidade de desenvolvimento de classes para cada tabela.
Se houver a necessidade de reescrever algum método, você pode usar o POLIMORFISMO, estendo a class
BASICS e só reescrevendo o novo método. Esses métodos devem ser inseridos no final do arquivo class.php.
/* métodos referente ao crud geral
Método referente a varrer uma tabela e criar e declarar variaveis para
cada campo, auxiliando muito num formulário de alteração*/
Método para corrigir erros de inserção e alteração de strings com aspas simples.
public function acerta_sql($string){
return str_replace("'","\'",$string);
}
Busca Dados Geral
O busca dados geral é o método que recuperará os dados de uma consulta para alteração de dados.
Abaixo o método que irá recuperar os dados de uma tabela, usando como where o campo e o id a ser filtrado.
Ele será muito parecido com o insert geral e update geral, porém irá criar variáveis globais afim de que
consigamos com esses valores recuperar dados de uma consulta ao banco de dados.
public function busca_dados_geral($nome_table,$campo,$id){
6
CRUD GERAL E LOGIN
$sql = mysql_query("SELECT * FROM ".$nome_table." WHERE
".$campo."='".$id."'");// instrução que exibe os campos de uma tabela
$array = mysql_fetch_array($sql);
$sqla = mysql_query("SHOW COLUMNS FROM ".$nome_table);// rastreia
todos os campos de uma tabela
while ($row = mysql_fetch_assoc($sqla)) {// exibe todos os
campos e tipo de dados de uma tabela
$GLOBALS[$row['Field']] = $array[$row['Field']];//
salva cada campo da tabela numa variável global
if ($row['Type'] == "date"){
// trata os campos do tipo data de aaaa-mm-dd para
dd/mm/aaaa
$GLOBALS[$row['Field']] =
self::formata_data($array[$row['Field']]);
}
switch($row['Type']){
// trata os campos do tipo float para R$
case "float(12,2)":
case "decimal(10,2)":
case "decimal(12,2)":
$GLOBALS[$row['Field']] =
self::formata_valor_brasil($array[$row['Field']]);
break;
}
}
}
Insert Geral
O método INSERT GERAL é um método que fará INSERT no banco de dados, passando somente os parâmetros
de nome da tabela e método (POST, GET ou outro array).
Com isso qual o trabalho que terei num INSERT apenas o de criar um formulário, facilitando a inclusão de
registros no banco de dados, segue abaixo explicação do método linha a linha.
Para usar INSERT GERAL, devemos construir formulários com o nome do campo idêntico aos campos da tabela
em questão.
/* método responsável por inserir registros em um banco de dados,
originados de um array que pode ser através de um formulário, pelo método
POST
para usar o método INSERT GERAL com formulários, na construção do
mesmo, os campos devem ter o mesmo nome da coluna da tabela a ser inserida
registros*/
public function insert_geral($nome_table,$arr){//0
7
CRUD GERAL E LOGIN
$table = "INSERT INTO ".$nome_table;// início da string de insert
while (list ($key, $val) = each ($arr)) {//1
//inicia um WHILE varrendo o ARRAY que enviou
registros ao INSERT GERAL, exemplo POST, KEY = nome do campo, VAL = valor
$sql = mysql_query("SHOW COLUMNS FROM
".$nome_table);// instrução que exibe os campos e tipos de uma tabela
if (mysql_num_rows($sql) > 0) {//2
while ($row = mysql_fetch_assoc($sql))
{// 3 varre a tabela em questão recuperando os campos de uma tabela
if($row['Key'] != "PRI"){// checa se o tipo do campo é diferente de
chave primária
if($key ==
$row['Field']){// na array, quando o indice for Field, voltará o nome do
campo
switch($row['Type']){
case "date"://
trata campos de data, transformando-os de dd/mm/aaaa para aaaa-mm-dd
$vv =
substr($val,0,4);
$vv =
strchr($val,"/");
$vv2 =
strrev($vv);
if ($vv != ""
&& $vv2 != ""){//checa se o valor preenchido veio dd/mm/aaaa
$val_novo
= self::formata_usa($val);
}else{// senão
veio preenchido daquela maneira e sim aaaa-mm-dd ele não trata o registro e
faz insert no banco da maneira preenchida
$val_novo
= $val;
}
break;
//trata valor
monetário de R$ para U$
case "float(12,2)":
case
"decimal(10,2)":
case
"decimal(12,2)":
$val_novo =
self::formata_preco_banco($val);
break;
8
CRUD GERAL E LOGIN
default://senão for
data nem casa monetária, o valor entra sem tratamento, apenas tratando erro
de sql para ASPAS SIMPLES
$val_novo =
self::acerta_sql($val);
break;
}
$valor =
$val_novo;// declara que valor é val_novo que são os valores tratados
$table1 = "("; //
faz parte da formação da string de inserção
$table2 .=
$key.","; // faz parte da formação da string de inserção
$table3 = ""; //
faz parte da formação da string de inserção
$table4 = ") VALUES
("; // faz parte da formação da string de inserção
$table5 .=
"'".$valor."',"; // faz parte da formação da string de inserção
$table6 = ")";//
faz parte da formação da string de inserção
}
}
}
}
}
//compoe os pedaços para compor a string de inserção
$table .=
$table1."".$table2."".$table3."".$table4."".$table5."".$table6;
$table = str_replace(",)",")",$table);//retira virgula, entre os
parenteses de campos e valores, os quais serão inseridos nas strings table2
e table5, as quais fazem loops nos campos da tabela e valores recuperados
pelo array
$sql = mysql_query($table) or die("Erro no comando
SQL:".mysql_error());// faz insert no banco de dados
}
Update Geral
Igualmente o método insert_geral eu tenho um para update_geral, ele será bem similar, mas construirá um
script para fazer update no banco de dados, também da mesma maneira que com o insert. Usando também o
show elements column para conseguir as colunas do banco de dados.
Repare que o script abaixo é bem similar ao acima, porém construindo a instrução updade no banco de dados.
Veja abaixo como são os mesmas princípios com pequenas alterações.
/* método responsável por alterar registros em um banco de dados,
originados de um array que pode ser através de um formulário, pelo método
POST
9
CRUD GERAL E LOGIN
para usar o método UPDATE GERAL com formulários, na construção do
mesmo, os campos devem ter o mesmo nome da coluna da tabela a ser alterada
registros*/
public function update_geral($nome_table,$arr){//0
$table = "UPDATE ".$nome_table." SET "; //inicia string de
alteração de registros
while (list ($key, $val) = each ($arr)) {//1
//inicia um WHILE varrendo o ARRAY que enviou registros ao INSERT
GERAL, exemplo POST, KEY = nome do campo, VAL = valor
$sql = mysql_query("SHOW COLUMNS FROM
".$nome_table);// instrução que exibe os campos e tipos de uma tabela
if (mysql_num_rows($sql) > 0) {//2
while ($row = mysql_fetch_assoc($sql))
{// 3 varre a tabela em questão recuperando os campos de uma tabela
switch($row['Type']){//4
case "date":// trata
campos de data, transformando-os de dd/mm/aaaa para aaaa-mm-dd
$vv =
substr($val,0,4);
$vv =
strchr($val,"/");
$vv2 = strrev($vv);
if ($vv != "" &&
$vv2 != ""){//checa se o valor preenchido veio dd/mm/aaaa
$valor =
self::formata_usa($val);
}else{// senão veio
preenchido daquela maneira e sim aaaa-mm-dd ele não trata o registro e faz
insert no banco da maneira preenchida
$valor = $val;
}
break;
case
"float(12,2)"://trata valor monetário de R$ para U$
case "decimal(10,2)":
case "decimal(12,2)":
$valor = self::formata_preco_banco($val);
break;
default://senão for data
nem casa monetária, o valor entra sem tratamento, apenas tratando erro de
sql para ASPAS SIMPLES
$valor =
self::acerta_sql($val);
break;
}//4
if($key ==
$row['Field']){//4// na array, quando o indice for Field, voltará o nome do
campo
10
CRUD GERAL E LOGIN
switch($row['Key']){//5
checa o tipo de campo
case "PRI":// chave
primaria escreve uma parte da string de update
$table2 =
" WHERE
".$key."='".$val."'";
$log_id_table =
$val;
break;
default:// senão escreve
outra parte da string de alteração e trata de erro de sql
$table .=
$key."=";
$table .=
"'".$valor."',";
break;
}//5
}//4
}//3
}//2
}//1
$table .= $table2;
$table = str_replace(", WHERE"," WHERE",$table);//retira virgula,
entre os parenteses de valores, os quais serão inseridos string table, as
quais fazem loops nos campos da tabela e valores recuperados pelo array
$sql = mysql_query($table) or die("Erro no comando
SQL:".mysql_error());// faz update no banco de dados
}//0
Delete Geral
Assim como tenho o insert_geral e o update_geral eu tenho o delete_geral, que irá excluir um registro no
banco de dados. Será uma query simples, onde passarei como parâmetros, nome da tabela e id.
/* método responsável por excluir registros no banco de dados, é
necessário passar dois parametros nome da tabela e ID*/
public function delete_geral($nome_table,$id){//0
$sql = mysql_query("SHOW INDEX FROM ".$nome_table);
$row = mysql_fetch_assoc($sql);
$primaria = $row['Column_name'];// recupera nome do campo de
chave primária
$table = "DELETE FROM ".$nome_table." WHERE
".$primaria."='".$id."'";
$sqlxc = mysql_query($table) or die("Erro no comando
SQL:".mysql_error());
//exclui registros no banco de dados
}
Recuperar ID do último registro inserido
Nesse método recupero o último valor de ID inserido na tabela a ser instanciada.
11
CRUD GERAL E LOGIN
public function recupera_id($nome_table){//metodo responsavel por
recuperar o ID no último registro inserido em uma tabela
$sql = mysql_query("SHOW INDEX FROM ".$nome_table);
$row = mysql_fetch_assoc($sql);
$primaria = $row['Column_name'];
$sql = mysql_query("SELECT max(".$primaria.") AS N FROM
".$nome_table);
$array = mysql_fetch_array($sql);
$id = $array['N'];
return $id;
}
/*método responsavel por montar uma lista geral para acesso ao um crud
*/
Lista Geral
O lista geral será usado para listar algo de uma tabela, com os botões de alterar e excluir.
Poderá ser usado em qualquer área administrativa, agora caso essa lista deva ser alterada, pode-se criar uma
classe estendida da basics na área que deverá ter a lista diferente e através do POLIMORFISMO, escreve-se o
método lista_geral com as alterações.
O lista geral base irá ter como parâmetros nome da tabela, três campos a serem usados, WHERE da consulta,
ORDER da consulta, nome do arquivo CRUD (área).
public static function
lista_geral($table_name,$campo1,$campo2,$order,$area){
/*
$table_name= nome da tabela
$campo1 = campo ID de uma tabela
$campo2 = campo a ser inserido na coluna do lista geral
$order = de exibição da listagem
$area = nome do arquivo PHP do crud, exemplo crudnoticia.php
*/
$sql = mysql_query("SELECT * FROM
".$table_name."
order by ".$order);
$lista_texto = "
<center><input type=\"button\" class=\"botoes\"
value=\"Cadastrar\" onclick=\"location.href='".$area."?cod=form'\"
/></center>";//botão para inserir registros
if(mysql_num_rows($sql) > 0){//1
$lista_texto .= "Existem ".mysql_num_rows($sql)." registros.
";
$lista_texto .= "<table width=\"100%\" border=\"0\"
cellspacing=\"3\" cellpadding=\"3\" align=\"center\">\n";
$lista_texto .="<tr> \n";
$lista_texto
$lista_texto
$lista_texto
$lista_texto
.="<th width=\"90%\"></th>\n";
.="<th width=\"5%\"></th>\n";
.="<th width=\"5%\"></th>\n";
.="</tr>\n";
12
CRUD GERAL E LOGIN
$zebrado = "zebra1";
while($arr = mysql_fetch_array($sql)){
if($zebrado == "zebra1"){
$zebrado = "zebra2";
}else{
$zebrado = "zebra1";
}
$lista_texto .="<tr> \n";
$lista_texto .="<td
class=\"".$zebrado."\">".$arr[$campo2]."</td>\n";
$lista_texto .="<td class=\"".$zebrado."\"
align=\"center\"><a
href=\"".$area."?cod=form&id=".$arr[$campo1]."\">Alterar</a></td>\n";
$lista_texto .="<td class=\"".$zebrado."\"
align=\"center\"><a href=\"".$area."?cod=exclui&id=".$arr[$campo1]."\"
onclick=\"return confirm('Você tem certeza que deseja deletar?')\"
>Excluir</a></td>\n";
$lista_texto .="</tr>\n";
}//3
$lista_texto .="</table>\n";
}else{//2
$lista_texto .="Não existem dados cadastrados!\n";
}//2
return $lista_texto;
}
// fim de métodos de CRUD
//métodos básicos para funcionamento
public function redireciona($url){// redireciona para uma URL a ser
informada
?>
<script>
location.href='<?php echo $url ?>';
</script>
<?php
}
Construindo um arquivo de CRUD, exemplo crudnoticia.php
Nesse exemplo de CRUD, nas primeiras linhas incluímos class.php, criamos e instanciamos objeto da classe basics.
Após conectar com o banco, é necessário instanciar o método sessão irá controlar se o login esta ativo ou não.
O CRUD é separado em 5 partes:
13
CRUD GERAL E LOGIN
Controlado pela variável GET cod, temos 5 fases no CRUD
No default será a lista dos registros da tabela mencionada no lista_geral.
No FORM é acionado o formulário para inserção ou alteração. Se o paramento GET ID vier, o formulário será de
alteração, senão será de inserção.
No INSERE, será feito a inserção de dados na tabela mencionada através do método POST e será redirecionado para
o DEFAULT .
No ALTERA, será feito a alteração de dados na tabela mencionada através do método POST e será redirecionado
para o DEFAULT .
No EXCLUI, será feito a exclusão do registro na tabela mencionada através GET ID e mencionar a tabela e será
redirecionado para o DEFAULT .
Com esses 5 passos, será feito o CRUD e isso funciona para qualquer tabela. Basta fazer os formulários e utilizar
esses métodos através do INCLUD do class.php.
<?php
include "class.php";
$obj = new basics;
$obj->conn("localhost","news","root","");
$obj->sessao();
switch($_GET['cod']){
case "form":
if(isset($_GET['id'])){
$obj->busca_dados_geral("noticia","noticia_id",$_GET['id']);
$cod = "altera";
$botoes = "Alterar";
}else{
$cod = "insere";
$botoes = "Cadastrar";
}
include "noticia.html";
break;
case "insere":
$obj->insert_geral("noticia",$_POST);
$obj->redireciona("crudnoticia.php");
break;
case "altera":
$obj->update_geral("noticia",$_POST);
$obj->redireciona("crudnoticia.php");
break;
case "exclui":
$obj->delete_geral("noticia",$_GET['id']);
$obj->redireciona("crudnoticia.php");
break;
default:
$lista = $obj>lista_geral('noticia','noticia_id','noticia_titulo','noticia_id
DESC','crudnoticia.php');
include "lista.html";
break;
}
14
CRUD GERAL E LOGIN
?>
15
Download