Sistema de notícias em PHP

Este é um sistema de notícias simples para iniciantes que tem maiores dificuldades com scripts mais complexos.

[ Hits: 87.410 ]

Por: Saulo José Neco Capistrano em 29/06/2008


Arquivo controlar.php



Finalmente nosso arquivo de exibição das notícias foi criado, criaremos então um arquivo para que possamos administrar as notícias e através deste iremos dizer quais notícias serão aceitas e quais serão descartadas, chamaremos nosso próximo arquivo de controlar.php.

controlar.php

<?

$conexao = mysql_connect("localhost","","");
$db = mysql_select_db("noticias");
$sql = "SELECT * FROM noticias ORDER BY id DESC";
$resultado = mysql_query($sql) or die ("Não foi possível realizar a consulta ao banco de dados");

echo "<table width=740 border=1 cellpadding=1 cellspacing=1>";
echo "<tr>";
echo "<th width=15>ID:</th>";
echo "<th width=100>Nome:</th>";
echo "<th width=100>Sobrenome:</th>";
echo "<th width=100>Cidade:</th>";
echo "<th width=15>UF:</th>";
echo "<th width=100>Email:</th>";
echo "<th width=30>Data:</th>";
echo "<th width=30>Hora:</th>";
echo "<th width=100>Título:</th>";
echo "<th width=50>Disponível</th>";
echo "<th width=50>Alterar</th>";
echo "<th width=50>Excluir</th>";
echo "</tr>";

while ($linha=mysql_fetch_array($resultado)) {
   $id = $linha["id"];
   $nome = $linha["nome"];
   $sobrenome = $linha["sobrenome"];
   $cidade = $linha["cidade"];
   $estado = $linha["estado"];
   $email = $linha["email"];
   $data = $linha["data"];
   $hora = $linha["hora"];
   $titulo = $linha["titulo"];
   $visualizar = $linha["visualizar"];

   $novadata  = substr($data,8,2) . "/" .substr($data,5,2) . "/" . substr($data,0,4);
   $novahora  = substr($hora,0,2) . "h" .substr($hora,3,2) . "min";


   echo "<tr>";
   echo "<th width=15>$id<br></th>";
   echo "<th width=100>$nome<br></th>";
   echo "<th width=100>$sobrenome<br></th>";
   echo "<th width=100>$cidade<br></th>";
   echo "<th width=15>$estado<br></th>";
   echo "<th width=100>$email<br></th>";
   echo "<th width=30>$novadata<br></th>";
   echo "<th width=30>$novahora<br></th>";
   echo "<th width=100>$titulo<br></th>";
   echo "<th width=50>$visualizar<br></th>";
   echo "<th width=50><a href='alterar.php?id=$id'>Alterar</a><br></th>";
   echo "<th width=50><a href='excluir.php?id=$id'>Excluir</a><br></th>";
   echo "</tr>";
   echo "<br>";

}

echo "</table>";

?>

Página anterior     Próxima página

Páginas do artigo
   1. Iniciando com a criação do banco de dados
   2. Arquivo cadastrar.php
   3. Arquivo inserir.php
   4. Arquivo noticias.php
   5. Arquivo controlar.php
   6. Arquivos excluir.php e alterar.php
   7. Arquivo alteradb.php
Outros artigos deste autor

Cadastro e login em PHP

Leitura recomendada

MVC - Conceito e exemplo em PHP

Verdades e mentiras sobre tecnologias WEB

Instalando Servidor LAMP no Ubuntu e Derivadas

PHP Orientado a Objetos: Para quem está começando

Xoops - Um ótimo gestor de portais em PHP

  
Comentários
[1] Comentário enviado por coffani em 30/06/2008 - 23:40h

Ótimo artigo, para iniciantes é uma excelente forma de aprendizado, Parabéns

[2] Comentário enviado por aprendiz_ce em 05/07/2008 - 09:41h

Otimo artigo para estudos!!!

Agora, aproveitando o contato... Me tira uma dúvida por gentileza.

Segui o artigo à risca... Tudo funciona certinho, mas não sei o que pode estar acontecendo, pois os dados não estão sendo gravados. Ao enviar o registro é inserido no DB, só que os campos ficam em branco, o único campo que é preenchido é o "id" pois o mesmo é "auto-incremento". O que pode estar acontecendo?

Revisei:

1) O DB tá cerinho, pois consigo inserir registro pelo phpmyadmin.
2) O script "cadastro.php" está sem erro algum, pois quando existia o browse aponta o devido erro.
3) O DB foi criado como administrado e o script também está acessando o DB como administrador.

Estou "tonto" com esse problemas, pois sou programador a muitos anos e sei como a coisa funciona... Conheço SQL e ASP (acho é que um boa base para aprender PHP), mas estou estudando PHP, pois tenho um "xodó" com o PHP e quero passar a utiliza-lo com mais frequencia.

Muito obrigado pela sua atenção e aguardo retorno.

Parabéns pelo sua artigo!!!

Abraço.

[3] Comentário enviado por removido em 13/10/2008 - 08:03h

Olá a todos do VOL,

Primeiramente, parabens pelo artigo excelente.
Tive o mesmo problema que o coffani. Daí, pensei na possibilidade deste artigo ter sido elaborado em uma versão anterior ao PHP5 a qual utilizo. Então a questão do erro ao postar uma noticia, eu resolvi "uma parte" substituindo o código do arquivo inserir.php pelo código abaixo. Porém o campo referente a data ainda continua vazio "00:00:00".


<?php
$con = mysql_connect("localhost","noticias", "senha");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("noticias", $con);

$sql="INSERT INTO noticias (nome, sobrenome, cidade, estado, email, data, hora, titulo, subtitulo, mensagem)
VALUES
('$_POST[nome]','$_POST[sobrenome]','$_POST[cidade]','$_POST[estado]','$_POST[email]',
'$_POST[data]','$_POST[hora]','$_POST[titulo]','$_POST[subtitulo]','$_POST[mensagem]')";

if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";

mysql_close($con)
?>

Creio que este erro da data esteja relacionado a variável $data no arquivo cadastrar.php

Vou verificar com mais calma, mas, se alguém tiver a solução, seremos gratos pela ajuda.

Muito Linux a todos

[4] Comentário enviado por comfaa em 28/10/2008 - 13:00h

muito legal !!!

[5] Comentário enviado por viniciusmmm em 01/02/2009 - 18:57h

creio que isso aqui possa resolver , cria essas variaveis ai.

$data = date("Y-m-d");
$hora = date("H:i:s");
$novadata = substr($data,8,2) . "/" .substr($data,5,2) . "/" . substr($data,0,4);
$novahora = substr($hora,0,2) . "h" .substr($hora,3,2) . "min";




[6] Comentário enviado por rumao em 02/04/2009 - 17:28h

Este tutorial foi tirado na cara dura do Livro:
Treinamento Prático em PHP da Digerati..
E pelo visto nem os bugs foram tratados.

[7] Comentário enviado por saulocapistrano em 03/04/2009 - 14:40h

Cara eu percebi que você foi um tanto rude no comentário que fez ao meu artigo, bom só para você saber, pois eu não gosto que digam qualquer coisa que seja sobre mim que não seja verdade, seguinte o artigo foi feito por mim, as minhas fontes não preciso expor porém só para você ficar sabendo eu fiz no braço mesmo, estudando por alguns livros, e pela Internet minha intenção neste artigo foi somente facilitar para todos que interessassem a facilidade que eu não tive... não sou nenhum especialista e só para constar no meu ambiente de trabalho quando eu fiz não deixei nenhum erro. Não coloquei o artigo com erro, mesmo porque se tivesse tanto erro como você deixa a entender que tem não teria nem sido aprovado pela comissão do viva o linux mesmo assim agradeço pela sua observação.
Não tenho cara dura.

[8] Comentário enviado por quemtava em 24/04/2009 - 22:18h

Cara muito bem explicadinho _ parabens pela iniciativa de compartilhar conhecimentos -

mas galera como sou muito iniciante mesmo na area dava para alguem dar uma ajudinha abaixo o erro

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'pontonob'@'localhost' (using password: NO) in /home/pontonob/public_html/noticias/inserir.php on line 6
Configuração de Banco de Dados Errada!

acho que criei o db certino com o nome de noticias igual fala no artigo..

se alguem puder ajudar desde já agradeço e caso alguem precise de alguma ajuda me ramo é no desenvolvimento de anuncios .....

[9] Comentário enviado por marcusnunes em 01/05/2009 - 15:29h

Muito bom.
Exemplo clássico para iniciantes :)

[10] Comentário enviado por adener em 23/07/2009 - 03:17h

Muuuuuuuuito bom ,,, Mais concerta os BUGS PLS ''' Não tá aparecendo as notícias postadas :'(

[11] Comentário enviado por NioDio em 21/01/2011 - 15:48h

Pessoal desculpe por ter sido o coveiro deste topico mas eh que estou estudando php e peguei um script igualsinho a este na net e tem o msm problema, vc escreve o cadastro mas quando manda cadastrar o db fica em branco soh salvando a chave primaria que é auto_increment. Testei o banco de dados cadastrando pelo mysql na linha de comando e deu certo, salvou certinho o problema deve estar no arquivo inserir...

<?php

$sql = "INSERT INTO noticias(nome,sobrenome,cidade,estado,email,data,hora,titulo,subtitulo, mensagem) VALUES ('$nome','$sobrenome','$cidade','$estado','$email','$data','$hora','$titulo',$subtitulo,$mensagem)";
/* Temos aqui uma variável que recebe um comando para fazer inserção no banco de dados, o papel dessa variável se resume a
receber cada valor que for enviado pelo usuário*/

$conexao = mysql_connect("localhost", "root", "inaciohacker") or die ("Configuração de Banco de Dados Errada!"); /* Essas configurações são referentes ao meu banco, existe bancos por exemplo que usam ("localhost", "root, "root").*/
$db = mysql_select_db("noticias") or die ("Banco de Dados Inexistente!");// aqui estamos indicando qual é o nosso banco de dados
$sql = mysql_query($sql) or die ("Houve erro na gravação dos dados, por favor, clique em voltar e verifique os campos obrigatórios!");// Agora estamos enviando os dados
echo "<h1>Cadastro efetuado com sucesso!</h1>";
echo "<th width=50><a href='cadastrar.php'>Novo cadastro</a><br></th>";
echo "<th width=50><a href='noticias.php'>Ver lista de notícias</a><br></th>";

?>

alguem saberia me passar uma dia de oque devo fazer para que este script funf bleza? vlw

[12] Comentário enviado por elton.alex em 24/04/2012 - 14:17h

<?php
$conexao = mysql_connect("localhost", "root", "") or die (mysql_error()+"Configuração de Banco de Dados Errada!");
/* Essas configurações são referentes ao meu banco, existe bancos por exemplo que usam ("localhost", "root, "root").*/
$db = mysql_select_db("noticias") or die ("Banco de Dados Inexistente!");// aqui estamos indicando qual é o nosso banco de dados


// Recebendo Váriaveis

$nome = $_POST['nome'];
$sobrenome = $_POST['sobrenome'];
$cidade = $_POST['cidade'];
$estado = $_POST['estado'];
$email = $_POST['email'];
$titulo = $_POST['titulo'];
$subtitulo = $_POST['subtitulo'];
$mensagem = $_POST['mensagem'];

// Questão Data e hora resolvidos na instrução mysql

$sql = "INSERT INTO noticias (nome, sobrenome, cidade, estado, email, data, hora, titulo, subtitulo, mensagem)
VALUES ('$nome', '$sobrenome', '$cidade', '$estado', '$email', date(now()),time(now()) , '$titulo', '$subtitulo', '$mensagem')";
/* Temos aqui uma variável que recebe um comando para fazer inserção no banco de dados, o papel dessa variável se resume a
receber cada valor que for enviado pelo usuário*/

$resultado = mysql_query($sql) or die ("Houve erro na gravação dos dados, por favor, clique em voltar e verifique os campos obrigatórios!");// Agora estamos enviando os dados
echo "<h1>Cadastro efetuado com sucesso!</h1>";

?>


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts