Hoje vamos aprender a fazer um Filtro de palavras inapropriadas com substiuição de palavras. Poderá ser implementado no seu sistema de mural de recados, comentários de artigos ou fotos, enfim vamos ao que interessa.
Nessa parte vamos criar uma tabela no banco de dados para armazenar as palavras que queremos filtrar.
CREATE TABLE IF NOT EXISTS `filtro_palavras` (
`Codigo` int(4) NOT NULL AUTO_INCREMENT,
`MsgErrada` varchar(200) DEFAULT NULL,
`MsgCorreta` varchar(200) DEFAULT '--',
PRIMARY KEY (`Codigo`),
UNIQUE KEY `MsgErrada` (`MsgErrada`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='armazena filtros de palavras' AUTO_INCREMENT=1 ;
Agora vamos criar a função que vai fazer todo o trabalho.
Crie um arquivo chamado filtro.php e coloque o codigo abaixo.
//conexão com o banco de dados
$conexao = mysql_connect('servidor', 'usuario', 'senha') or die(mysql_error());
//seleciona banco de dados
$db = mysql_select_db('banco', $conexao) or die(mysql_error());
// função para Filtrar palavras inapropriadas
function filtro($mensagem)
{
if ($mensagem) {
$resultado = mysql_query("SELECT * FROM filtro_palavras");
while ($mostra = mysql_fetch_array($resultado)) {
$mensagem= str_replace($mostra['MsgErrada'], $mostra['MsgCorreta'], $mensagem);
}
}
return $mensagem;
}
?
Para chamar a função dentro do seu código siga o exemplo abaixo:
//inclue a função
include('filtro.php');
//chama a função
filtro("frase mural recado")
Continuando a primeira aula, vamos gerar a exibição da enquete.
Assista a video aula para entender cada arquivo, estou explicando detalhadamente.
Começando crie um arquivo chamado conexao.php
//este arquivo é responsavel pela conexao do banco de dados
$host = "localhost";
$database = "enquete";
$login_db = "root";
$senha_db = "pass123";
$conexao = mysql_connect ($host, $login_db, $senha_db) or die ("Erro: ".mysql_error());
$db = mysql_select_db($database);
Agora vamos criar o arquvo enquete.php para mostrar nossa enquete.
A imagem abaixo mostra como será o resultado no final.
////////////////arquivo enquete_comentar.php
/*
desenvolvido por Fabiano Bento
http://www.fabianobento.com.br
*/
//arquivo CSS de estilos
//java script para validar formulário
//verifica se existe a variavel ACT no GET
if(isset($_GET['act'])){
$act = $_GET['act'];
switch ($act) {
case "escrever":
echo "Escreva seu comentário!";
//cria o formulário e envia para o mesmo arquivo e seta avariavel act
//termina o switct
break;
//verifica se o valor de ACT é igual a inc
case "inc":
//chama o arquivo de conexao com o banco
require_once('inc/conexao.php');
$codigo_enquete = $_POST['codigo_enquete'];
$ip = getenv('REMOTE_ADDR');
$provedor = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$datahora = date(" Y-m-d H:i:s");
$form_nome = $_POST['nome'];
$form_email = $_POST['email'];
$form_cidade = $_POST['cidade'];
$form_uf = $_POST['uf'];
$form_comentario = $_POST['comentario'];
$form_btn_comentar = $_POST['btn_comentar'];
$enqcStatus = "A";
//grava os dados dentro da tabela enquetes comentarios
$sql = " INSERT INTO enquetes_comentarios (`enqcCodigo` ,`enqcCodEnquete` ,`enqcIpEnvio` ,`enqcProvedorEnvio` ,`enqcDtHrEnvio` ,`enqcNome` ,`enqcEmail` ,`enqcCidade` ,`enqcUF` ,`enqcComentario` ,`enqcStatus`)VALUES (' ', '$codigo_enquete', '$ip', '$provedor', '$datahora', '$form_nome', '$form_email', '$form_cidade', '$form_uf', '$form_comentario', '$enqcStatus')";
mysql_query("$sql");
echo "";
echo "";
break;
}
}
?>
Tela do formulário do arquivo enquete_comentar.php
Explicando o conteudo e funcionamento de cada arquivo.
*Lembrando que o texto antes da barra é o nome da pasta.
enquete/inc/conexao.php - função que conecta no banco de dados
enquete/enquete.php - este arquivo mostra a enquete com as opções para votar e links para comentar e resultado
enquete/enquete_resultado.php - aqui mostra o resultado da enquete e comentários
enquete/enquete_comentar.php - este é o formulário para envio dos comentarios
enquete/enquete_votar.php - este arquivo recebe os dados do arquivo enquete.php e grava a opções escolhida no banco de dados
Nesta aula, vou ensinar com desenvolver um sistema de enquetes para ilimitadas enquetes.
Primeiro nos vamos criar o banco de dados e as tabelas para armazenar as enquetes, os votos, comentarios, e log de registros os votos.
Assista ao video para entender sobre cada coluna das tabelas
O SQL das tabelas;
//tabela enquetes
CREATE TABLE IF NOT EXISTS `enquetes` (
`enqCodigo` int(10) NOT NULL AUTO_INCREMENT COMMENT 'codigo da enquete',
`enqDtCadastro` date NOT NULL COMMENT 'data do cadastro',
`enqNmEnquete` varchar(200) NOT NULL COMMENT 'pergunta da enquete',
`enqOpcao1` varchar(150) NOT NULL COMMENT 'resposta 1',
`enqOpcao2` varchar(150) NOT NULL COMMENT 'resposta 2',
`enqOpcao3` varchar(150) NOT NULL COMMENT 'resposta 3',
`enqOpcao4` varchar(150) NOT NULL COMMENT 'resposta 4',
`enqOpcao5` varchar(150) NOT NULL COMMENT 'resposta 5',
`enqOpcao6` varchar(150) NOT NULL COMMENT 'resposta 6',
`enqOpcao7` varchar(150) NOT NULL COMMENT 'resposta 7',
`enqOpcao8` varchar(150) NOT NULL COMMENT 'resposta 8',
`enqOpcao9` varchar(150) NOT NULL COMMENT 'resposta 9',
`enqOpcao10` varchar(150) NOT NULL COMMENT 'resposta 10',
`enqVotos1` int(10) NOT NULL DEFAULT '0' COMMENT 'htis 1',
`enqVotos2` int(10) NOT NULL DEFAULT '0' COMMENT 'htis 2',
`enqVotos3` int(10) NOT NULL DEFAULT '0' COMMENT 'htis 3',
`enqVotos4` int(10) NOT NULL DEFAULT '0' COMMENT 'htis 4',
`enqVotos5` int(10) NOT NULL DEFAULT '0' COMMENT 'htis 5',
`enqVotos6` int(10) NOT NULL DEFAULT '0' COMMENT 'htis 6',
`enqVotos7` int(10) NOT NULL DEFAULT '0' COMMENT 'htis 7',
`enqVotos8` int(10) NOT NULL DEFAULT '0' COMMENT 'htis 8',
`enqVotos9` int(10) NOT NULL DEFAULT '0' COMMENT 'htis 9',
`enqVotos10` int(10) NOT NULL DEFAULT '0' COMMENT 'htis 10',
`enqDtInicioExibicao` date NOT NULL COMMENT 'data inicio da exiicao',
`enqDtFinalExibicao` date NOT NULL COMMENT 'data final da exibicao',
`enqStatus` enum('A','I') NOT NULL DEFAULT 'A' COMMENT 'ativo ou inativo',
PRIMARY KEY (`enqCodigo`,`enqNmEnquete`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Entidade para os dados das enquetes' AUTO_INCREMENT=1 ;
//tabela enquetes_comentarios
CREATE TABLE IF NOT EXISTS `enquetes_comentarios` (
`enqcCodigo` int(20) NOT NULL AUTO_INCREMENT COMMENT 'codigo do comentario',
`enqcCodEnquete` int(10) NOT NULL,
`enqcIpEnvio` varchar(30) NOT NULL COMMENT 'ip do usuario',
`enqcProvedorEnvio` varchar(150) NOT NULL COMMENT 'provedor do ip',
`enqcDtHrEnvio` datetime NOT NULL COMMENT 'data e hora do envio',
`enqcNome` varchar(40) NOT NULL COMMENT 'nome que quem enviou',
`enqcEmail` varchar(60) NOT NULL COMMENT 'email de quem envu',
`enqcCidade` varchar(150) NOT NULL,
`enqcUF` char(2) NOT NULL,
`enqcComentario` mediumtext NOT NULL COMMENT 'comentáro',
`enqcStatus` enum('A','I') NOT NULL,
PRIMARY KEY (`enqcCodigo`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Entidade para os comentários das enquetes' AUTO_INCREMENT=1 ;
//tabela enquete_log
CREATE TABLE IF NOT EXISTS `enquetes_log` (
`enqlCodigo` int(30) NOT NULL AUTO_INCREMENT COMMENT 'codigo do envio',
`enqlCodEnquete` int(10) NOT NULL COMMENT 'codigo da enquete',
`enqlIpEnvio` varchar(30) NOT NULL COMMENT 'ip que enviou',
`enqlDtHrEnvio` datetime NOT NULL COMMENT 'data e hora do envio',
`enqlOpcao` varchar(5) NOT NULL,
PRIMARY KEY (`enqlCodigo`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Entidade para os dados de log dos votos' AUTO_INCREMENT=2 ;
form method=”get”
Faz com que os dados do formulário sejam enviados na URL do endereço que constar no action da tag
ou quando queremos passar dados para outra página usando a URL.
Veja um exemplo:
http://www.fabianobento.com.br/home/busca.php?codigo=4321
Se precisar passar mais um um valor pela URL é necessário colocar o simbolo “&” para separar.
Veja um exemplo:
http://www.fabianobento.com.br/home/busca.php?codigo=4321&nome=fabiano bento
O método POST –
Faz com que os dados do formulário sejam enviados ao endereço do que constar no action da tag
Veja um exemplo:
/forma página cadastrar.php receberá as informações pelo nome do campo “nomecompleto” e o valor informado pelo usuário.
Para recuperar essas informações use o comando $_POST[‘nomecompleto’];
Crie uma pasta chamada CD.
Em seguida crie um arquivo chamadoautorun.inf e coloque as linhas abaixo.
[autorun]
open=Iniciar.bat
Agora crie um arquivo chamadoiniciar.bat
start index.html
exit
E por ultimo crie seu arquivo index.html
aqui vai o conteudo do site em html com uma apresentação de fotos da empresa, videos, informações de contato.
uma forma simples e barata para empresas divulgar produtos especificos em feiras, promoções etc...
podendo também
ter um link para o site
Você poderá criar um CD com apresentações da sua empresa, fotos de um aniversário, etc…
Agora é so usar a criatividade e usar flash, imagens, links externos.
Hoje em dia é muito importante fazer cópia de segurança dos dados, sites de clientes, banco de dados, galerias, enfim todos os arquivos.
para isto basta fazermos um simples arquivo .BAT, com algumas linhas e agendarmos para ser executado conforme sua necessidade.
esta copia de segurança pode ser enviada para PEN DRIVE, HD EXTERNO, COMPUTADOR NA REDE entre outros dispositivos de armazenamento.
para começar abra o bloco de notas, copie e cole o codigo abaixo.
Modifique ele conforme sua necessidade.
@echo off
@rem muda a cor da tela do script
@color 81
@title “Iniciando o Backup”
@cd c:
@echo ———————————-
@echo Iniciando Backup
@echo ———————————-
@echo Iniciando ccopia dos arquivos de nome do computador para nome computador destino
@rem o caminho d:backup pode ser também caminho de rede ex.: \NomeDoPCcompartilhamento
@xcopy C:meus arquivos d:backup /m /y /r /e /i > logbackup.txt
@rem muda o titulo
@title “Backup Finalizado”
@rem imprimi uma mensagem na tela
@echo ———————————-
@echo “backup finalizado”
@echo ———————————-
@rem fecha o script quando terminar, você pode usar o comando pause ou exit
@exit
é um script bem simples para ser implementado conforme sua necessidade.