Bgames
Olá visitante! Seja bem vindo ao nosso fórum!

Para você ter total acesso ao nosso fórum é preciso que você se cadastre.

Cadastre-se Aqui!


PARA VER LINKS E IMAGENS É PRECISO SE REGISTRAR!

[Tutorial] Sistema De Notícias Em PHP E MySQL

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[Tutorial] Sistema De Notícias Em PHP E MySQL

Mensagem por Swift em Seg 1 Out 2012 - 13:56

[Você precisa estar registrado e conectado para ver esta imagem.] Sr.Herry Bgames Apresenta
Sistema de Notícias em PHP e MYSQL





Hoje falaremos sobre um tipo de sistema muito utilizado no dia a dia. O Sistema de Notícias.

[Você precisa estar registrado e conectado para ver esta imagem.]

Dificilmente você encontra matérias na Internet contendo um passo a
passo completo e explicativo. Tem sim: vários sistemas disponíveis com
código pronto para você apenas copiar.


[Nesta matéria comentaremos as partes mais importantes de cada script, visando facilitar seu aprendizado.

Passo 1: Estrutura de pastas


Como alguns já sabem, gosto de focar os sistemas que desenvolvo de forma limpa, prática e organizada.

Por este motivo, apresentamos abaixo a estrutura utilizada nas pastas deste Sistema:

[Você precisa estar registrado e conectado para ver esta imagem.]

OBS.: Na pasta

Passo 2: Criando as Tabelas na Base de Dados:


Antes de partirmos para a programação, abra o arquivo script-sql.txt
(disponível no arquivo em anexo) e cole seu conteúdo no Programa
utilizado para gerenciamento da base de dados.


Em nossas matérias utilizamos como padrão o MySQLFront. Caso você
queira utilizar este programa, clique em SQL Editor e cole o conteúdo do
script (conforme imagem abaixo).


[Você precisa estar registrado e conectado para ver esta imagem.]

Passo 3: Script De Conexão


Tendo as pastas já criadas e as tabelas na base de dados geradas, você já pode dar início à Programação!

Crie o arquivo conexao.php e coloque dentro da pasta CONFIG.

Neste arquivo, você deverá disponibilizar o texto abaixo:


Código:
----- CONFIG.PHP ------
 
$database="localhost:3307"; // SERVIDOR E PORTA UTILIZADA 
$dbname="tutorial"; // BASE DE DADOS
$usuario="root"; // USUÁRIO DO MYSQL
$dbsenha=""; // SENHA DO MYSQL

$conexao=mysql_connect ($database, $usuario, $dbsenha);
if($conexao){
      if (mysql_select_db($dbname, $conexao)){ print "";
      }else{ print "Não foi possível selecionar o Banco de Dados"; }
}else{ print "Erro ao conectar o MySQL"; }
?>
----------

Passo 4: Menu Gerencial – Formulário (index.php):


A página index.php apesar de ter uma aparência simples, é de fundamental importância para este sistema.

Através dela temos acesso ao menu gerencial!

OBS.: Para facilitar seus acessos, criamos o usuário abaixo:

Login: [Você precisa estar registrado e conectado para ver este link.] – Senha: 123456

[Você precisa estar registrado e conectado para ver esta imagem.]

Passo 5: Menu Gerencial – Autenticação (autenticacao.rotinas.php):


Esta será a página onde faremos todo o gerenciamento de usuários,
isto é: Diremos ao Sistema quem deve ou não ter acesso à Área Gerencial.


Bem… estamos disponibilizando um script simples de acesso, porém, caso seja de seu interesse, você poderá melhorar este código.


Código:
-----Linha 02 e 03 -----
session_start();
include ("../config/conexao.php");
------------

Talvez esta seja a parte mais importante do código, pois se você não
tiver este conteúdo em seu código, ele simplesmente não vai registrar a
sessão, nem permitir a conexão à base de dados.



Código:
-----Linha 06 à Linha 08 -----
$cliente_username = $_POST["usuario"];
$cliente_password = $_POST["senha"];
$enviado          = $_POST["enviado"];
---------------

Através das linhas acima você receberá as variáveis com o nome do
usuário, senha de acesso e o status (neste caso, utilizaremos a condição
enviado para reforçar na segurança).



Código:
-----Linha 10 à Linha 29 -----

if ($enviado == "posted"){   

if (!isset($cliente_username) or !isset($cliente_password)) { echo "Erro!"; exit; } 
if (empty($cliente_username) or empty($cliente_password)) { echo "Dados inválidos!"; exit; }

$query = "select * from tbl_usuarios where email = '$cliente_username' and senha = '$cliente_password'";
$result = mysql_query($query);
$number = mysql_num_rows($result);

if ($number==0) { ?>
alert('Autorização inexistente/Senha inválida ou expirada.');history.back();
exit;
} else {
$_SESSION['usuario_id'] = mysql_result($result,0,'id');
$_SESSION['usuario_nome'] = mysql_result($result,0,'nome');
?>document.location = '../principal.php'}
mysql_close($conexao);

}
----------

Nas linhas acima o script fará uma validação completa, verificando se o usuário e a senha informado existem.

Antes disso, ele só fará a leitura se a variável $enviado (exemplo da linha 6 à linha 8) tiver o valor posted.

Caso este valor (que será passado através do método POST) não seja o informado, ele sequer fará a leitura no demais.

Nas linhas a seguir (após ele validar a variável $enviado) o script
fará uma série de verificações, finalizando ao registrar as sessões para
o ID e NOME do Usuário selecionado. Além disso ele fará seu
direcionamento à página principal.php.


Passo 6: Menu Gerencial – Página Principal (principal.php):


Esta será a página principal do sistema, onde teremos acesso às
demais a serem gerenciadas (conforme você pode ver na imagem abaixo).


[Você precisa estar registrado e conectado para ver esta imagem.]

OBS.: Apesar de também estar disponível no Sistema (no arquivo em
anexo), para não tomar muito seu tempo, falaremos nesta matéria apenas
dos itens Cadastrar Notícia e Listar Notícias.


Certamente os comentários diversos disponíveis nesta matéria sanarão qualquer dúvida que você tenha quanto aos demais arquivos.


Código:
-----Linha 02 à Linha 11 -----
 session_start();
if (empty($_SESSION['usuario_id'])){
 echo "Acesso negado!";
 exit;
}else{
include('config/conexao.php');

$usuario_id  = $_SESSION['usuario_id'];
$usuario_nome = $_SESSION['usuario_nome'];
}
------------

Neste trecho do script faremos uma validação!

Se o ID e NOME do usuário tiver em uso nsta sessão, ele deverá lhe
dar acesso, caso não esteja em uso ele deverá restringir o acesso.


Fará acesso também ao script conexao.php (responsável pela conexão ao banco de dados).

Após isto, o sistema fará algumas verificações simples neste script,
só atentando para o botão excluir (onde ele deverá direcionar seu acesso
ao script logout.php (responsável pela exclusão da sessão).


Passo 7: Menu Gerencial – Cadastrar Notícia (noticias_cadastrar.php):


Esta é a página responsável pelo cadastro da notícia (conforme você pode ver na imagem disponível abaixo).

[Você precisa estar registrado e conectado para ver esta imagem.]


Código:
-----Linha 28 à Linha 35 -----





  _editor_url = "htmlarea/";
  _editor_lang = "en";

----------

O trecho acima chama os scripts responsáveis pelo funcionamento do Editor de Textos.

OBS.: Veja que ele chama os scripts a seguir: javascript.js, htmlarea.js, jscript.js e a pasta htmlarea.


Código:
-----Linha 46 -----

[/b][/color][/font][font=Comic Sans Ms][color=green][b]
----------

Apesar do trecho acima ser muito utilizado (por tratar-se do FORM), fiz questão de comentar esta linha, por ter o enctype.

Fazendo uso do multipart/form-data será possível efetuar o envio de arquivo (FILE) ao Servidor.


Código:
-----Linha 195 à Linha 198 -----

 editor_generate('msg');


-----

O Javascript acima trás ao TEXTAREA o Editor de Textos personalizado.

Passo 8: Menu Gerencial – Script Notícias (script_noticias.php):


Trata-se de um script exclusivo que deverá receber os scripts
tratados enviar ao banco de dados, devendo após este inserir, alterar ou
excluir o conteúdo.


OBS.: Para saber mais sobre este script, sugerimos verificá-lo na íntegra, dentro da pasta ADMIN.


Código:
-----Linha 25 à Linha 29 -----

$acao = $_GET['acao'];

switch ($acao) {

case cadastrar_categoria:
----------

Assim como os demais scripts, o script_noticias.php também tem o
conteúdo padrão para manter sua segurança; porém, até para facilitar seu
gerenciamento, recebe por método GET o motivo da entrada (exemplo:
alterar, cadastrar, cadastrar_categoria, excluir) e por método POST
receberá os valores a serem manipulados.


OBS.: Após a inserção, edição ou exclusão, seja qual for o comando
utilizado, o script fará o redirecionamento para uma outra página.


Passo 9: Menu Gerencial – Listar Notícia (noticias_listar.php):


Através desta página você poderá de forma prática e simples listar
todas as notícias cadastradas, além de poder visualizá-las em janela
popup, podendo editá-las ou efetuar sua exclusão a qualquer momento..


[Você precisa estar registrado e conectado para ver esta imagem.]


Código:
-----Linha 27 à Linha 31 -----

 
function Abrir_Pagina(URL,Configuracao) {
  window.open(URL,'',Configuracao);     
}

----------

No trecho acima você chamará a página externa
noticias_visualizar.php. Esta página deverá abrir a notícia selecionada,
sendo possível visualizar até mesmo a imagem inserida.



FOnte > [Você precisa estar registrado e conectado para ver este link.]


Última edição por Sr.Herry em Seg 1 Out 2012 - 14:16, editado 2 vez(es)

Swift


Mensagens : 1431
Pontos : 2160
Evolução : 3


Ver perfil do usuário http://www.bgames.com.br

Voltar ao Topo Ir em baixo

Re: [Tutorial] Sistema De Notícias Em PHP E MySQL

Mensagem por Erictemponi em Seg 1 Out 2012 - 13:59

parabéns, ganhou meu rep

Erictemponi


Mensagens : 1825
Pontos : 7296
Evolução : 2


Ver perfil do usuário http://www.fury-share.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: [Tutorial] Sistema De Notícias Em PHP E MySQL

Mensagem por FooFKnight em Seg 1 Out 2012 - 14:11

Olá,
o Tópico Ficou bem elaborado, Porem não foi você quem ó Criou !!!
Coloque os Devidos Crédidos !!

FooFKnight


Mensagens : 679
Pontos : 679
Evolução : 2


Ver perfil do usuário http://www.hostbrazill.com/

Voltar ao Topo Ir em baixo

Re: [Tutorial] Sistema De Notícias Em PHP E MySQL

Mensagem por Conteúdo patrocinado Hoje à(s) 3:34


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum