Posts com Tag ‘html’

Sistema de notícias com PHP & MySQL

Publicado: dezembro 9, 2009 por Stefan Yohansson em PHP + MySQL, Tecnologia
Tags:, , ,

Bem, todo mundo se pergunta como fazer um sistema de notícias ou tra la la li,
Sei que esse tutorial tem em muitos lugares, mas muitos ou não funcionam, ou tem falhas de segurança, ou isso ou aquilo, não prometo trazer o com a maior segurança, nem o mais bem explicado, mas pelo menos que funcione, sim.

Depois quando abordarmos segurança (md5), daí eu mando um sisteminha com sessions, cookies e os cambal. ( mas lembre-se, nada na boca, só o começo o resto… virem-se ) :] ~

Enfim, o que você precisa entender?
– Linguagem de programação; PHP
– Banco de dados; MySQL

– Criando a tabela

<?

$conexao = mysql_connect(“localhost”, “root”, “”) or die (“Configuração de Banco de Dados Errada!”); //lembrando que em mysql_connect é servidor,usuario,senha ali é a configuração para um servidor local sem senha e com usuario root

$db = mysql_select_db(“meusite”) or die (“Banco de Dados Inexistente!”); //acessa o banco de dados noticias

?>

criar a tabela. Com as seguintes configurações:

<?

include(‘config.php’); /* Chama o arquivo criado acima. Que é a chamada ao MySQL, lembrando que você terá de criar a db, direto do PhpMyAdmin, enfim, continue lendo. */

CREATE TABLE noticias (
id int(5) NOT NULL auto_increment,
nome char(30) 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)
);

?>

Aquela parte de cima serve para o php se conectar ao servidor mysql e devidamente ao banco de dados especificado, no caso notícias. Vamos chamar ele de arquivo: config.php. Então para não precisarmos escrever ele mil vezes e quando precisarmos edita-lo precisar fazer mil vezes, podemos botar em um arquivo separado e chama-lo pela função include(‘config.php’); vejamos como fazer isso.

antes de tudo, você terá de acessar o PhpMyAdmin e criar novo banco de dados com o nome notícias, é simples. Mas tem um tópico que explica isso aqui no blog. :~~ Procure.

  • Vamos entender/simplificar o código:

– Criando config.php

Vamos criar um arquivo que tenha os parametros de acesso do mysql, para não precisarmos ficar editando em todos os arquivos.

<?

#essas variaveis você poderá mudar.
$servidormysql = “localhost”;
$usuarioservidor = “root”;
$senhaservidor = “”;
$bancodados = “meusite”;

#Daqui para baixo, não é necessário alteração.
$conexao = mysql_connect(“$servidormysql”, “$usuarioservidor”, “$senhaservidor”) or die (“Configuração de Banco de Dados Errada!”);

$db = mysql_select_db(“$bancodados”) or die (“Banco de Dados Inexistente!”);

?>

Bem, quando precisarem mudar algum dado, mudem as variaveis e pronto. :}

Obs.: Ao invés de usar aquelas linhas todas no seu arquivo.php tente substituir por include(config.php);

Sentiu a diferença? Então já entedemos o nosso conectar ao mysql, vamos ao sistema em si.

<?

echo “<h1><b>Cadastro de Notícias</b> // <i> created by: Stefan Yohansson </i></h1>”;
echo “<hr><br>”;
echo “<form action=’inserir.php’ method=’POST’>”; /* repare no action que manda todo o conteudo do form em questão para o arquivo inserir.php por metodo post, caso não entenda isso. Estude HTML */
echo “Nome: <input name=’categoria’ type=’text’ size=30> *<br>”;

*<br>”;

echo “Titulo: <input name=’titulo’ type=’text’ size=30><br><br>”;
echo “Autor: <input name=’autor’ type=’text’ size=30><br><br>”;
echo “Texto: “;
echo “<input type=’submit’ value=’Enviar’>”;
echo “</form>”;
echo “<br><hr>”;
echo “<i>Os campos com <b>*</b> são obrigatórios.<br>”;
?>

Bem, chamaremos esse arquivo de noticias.php, ele é um html, e pode ser tirado as ” e ser salvo como noticias.html. Porém prefiro em php.

Enfim, falta só um arquivo para fazermos o básico do sistema de notícias; a página de inserir o conteúdo ali digitado.

E vamos criar o inserir.php. Por favor, substitua os /* */ pelas tags de abertura do php. Pois o wordpress impancou com elas.

/*
$categoria = $_POST[‘categoria’];
$titulo = $_POST[‘titulo’];
$autor = $_POST[‘autor’];
$texto = $_POST[‘texto’];

include(‘config.php’);

$sql = “INSERT INTO noticias (categoria, titulo, autor, texto) VALUES (‘$categoria’, ‘$titulo’, ‘$autor’, ‘$texto’)”;

$resultado = mysql_query($sql) or die(“Houve um erro no cadastramento dos valores no db.”);

echo “Dados cadastrados com sucesso.”;
*/

ele chama as variaveis que foram passadas pelo metodo POST, definido em noticias.php no <form action=”” method=”POST” />
e essas variaveis, recebem seus nomes através dos names dados ao input, por exemplo:
<input type=”text” name=”categoria“>
o nome da variavel que contém o texto categoria fica assim.
$_POST[‘categoria’];

E para não precisarmos ficar usando esse texto em toda parte definimos ele como uma outra variavel.
$categoria = $_POST[‘categoria’];
entenderam?
– Mas e o resto?

$sql = “INSERT INTO noticias (categoria, titulo, autor, texto) VALUES (‘$categoria’, ‘$titulo’, ‘$autor’, ‘$texto’)”;

Quem sabe inglês já desvenda isso de cara, mas vamos traduzir:
$sql = “INSERIR EM noticias (nas colunas tais) OS VALORES (tais) ;
O que eu quis dizer com isso? que quero que insira na tabela noticias ( o banco de dados já está conectado no include(‘config.php’) )
os valores seguidos na linha depois do VALUE, nas sequintes colunas (antes do VALUE).

Bem pessoal, não to aqui para montar sisteminha besta para ninguém.
Apenas ensinar isso. Se quiserem alterar, fique de lição de casa. Fiquem só sabendo que a query para editar é;

“ALTER TABLE noticias (…) VALUES (…)”;
ou…
“ALTER TABLE noticias VALUES (x = ‘$f’, y = ‘$z’)…”;

Espero que tenha sido útil, e qualquer dúvida / reclamação deixar nos comentários. Desculpem a demora.

Eeee…

Irei começar com Ruby On Rails.
Já que vou fazer um curso no IFRN sobre tal.