Vamos mostrar como se deve fazer para criar um sistema para cadastro e controle de notícias usando PHP e MySQL. Como sempre lembro a todos que meus artigos são voltados especialmente para os mais leigos, que assim como eu, tem alguma dificuldade em entender artigos mais complexos.
Então o primeiro passo que eu sempre indico é: "iniciar o apache". Após isso iremos também abrir o nosso editor, ao meu conhecimento o mais frequentemente utilizado é o DreamWeaver, mas também existem inúmeros outros como o Eclipse ou até mesmo qualquer outro editor de texto mais comum, como o bloco de notas por exemplo.
Agora com o Apache devidamente "startado", vamos abrir o nosso browser e indicar nele o seguinte caminho:
http://localhost/phpmyadmin
E a partir daí começaremos nosso trabalho propriamente dito, pois nesse momento criaremos a nossa tabela que armazenará todos os dados das nossas notícias.
Vamos criar também uma pasta que chamaremos de "noticias" dentro da pasta htdocs do apache ou do xampp, de acordo com o que está sendo trabalhado, para salvar nela todos os arquivos que serão criados por nós daqui em diante.
Vamos pensar um pouco o que se deve ter de dados para que possamos validar nossas notícias? O que alguém que irá enviar uma notícia tem que mandar a respeito dessa notícia? Definiremos alguns detalhes disso aqui, criaremos os seguintes campos: nome (autor da notícia), sobrenome, cidade, estado, email, data, hora, titulo, subtitulo, mensagem, visualizar, id. É importante que criemos uma id pelo fato de podermos ter um controle e uma organização mais fácil de nossas notícias e campo visualizar será uma validação que o administrador do sistema fará.
Primeiramente criaremos um banco de dados no MySQL, como foi mostrado no artigo anterior. Criaremos um banco com o nome "noticias", após criaremos uma tabela dentro desse banco, para facilitar podemos usar o mesmo nome "noticias".
Em http://localhost/phpmyadmin/ digite o nome da tabela a ser criada, no nosso caso chamaremos de noticias, clique em criar, após isso construiremos uma tabela com a seguintes características:
CREATE TABLE noticias (
id int(5) NOT NULL auto_increment,
nome char(30) NOT NULL ,
sobrenome char(30) NOT NULL ,
cidade char(50) NOT NULL ,
estado char(2) NOT NULL ,
email char(80) ,
data date NOT NULL,
hora time NOT NULL ,
titulo char(100) NOT NULL ,
subtitulo char(200) ,
mensagem text NOT NULL ,
visualizar char(3) DEFAULT 'nao' ,
PRIMARY KEY (id),
UNIQUE id (id)
);
Não é difícil, basta copiar e colar todos os itens acima de uma vez no campo onde tem: "fazer procura(s) no banco de dados noticias" e depois clicar em executar. Pronto, aí será criada a tabela noticias dentro do banco noticias, é simples, não tem erro!
[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.
[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());
}
[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 .....
[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
// 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>";