<html>
<head>
<title>noticias.php</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style>
#n1 { font-family:verdana,arial,tahoma,times new roman; font-size:10pt; color:black; font-weight:bold; }
#n2 { font-family:verdana,arial,tahoma,times new roman; font-size:7pt; color:gray; }
#n3 { font-family:verdana,arial,tahoma,times new roman; font-size:8pt; color:black; }
</style>
</head>
<body>
<?
/* Código PHP desenvolvido por Laudelino (Dúvidas? Envie um email para: laudelino7@click21.com.br)
Este código pode ser distribuído ou utilizado de qualquer forma, só não pode ser vendido.
TIPO DA TABELA A SER CRIADA NO BANCO DE DADOS!!!
CREATE TABLE news_m (
info_time varchar (100),
info_title varchar (150),
info_text text
);
*/
// ----------- função para gerar a data
function gera_data() {
$data = getdate();
$dia = $data["mday"];
$mes = $data["mon"];
$ano = $data["year"];
$nome_mes = array("Sem mês!", "Janeiro", "Fevereiro", "Março" ,"Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro");
return "$dia de ".$nome_mes[$mes]." de $ano";
}
// ----------- FIM DA FUNÇÃO PARA GERAR A DATA!!!
// ------- configurações ---------
$db = "nosso_banco_de_dados"; // nome do banco de dados
$host = "localhost"; // host (local onde seu banco de dados está hospedado, caso seja na sua máquina use "localhost") DESTAQUE 6
$user = "eu"; // nome de usuário registrado no banco de dados
$pass = "senha1234"; // senha do usuário
$port = "5432"; // "porta" para conexão ao banco de dados
$main_file = "noticias.php"; // nome deste arquivo
$user_add = "eu"; // usuário que irá adicionar as notícias
$password_add = "senha4321"; // senha para o usuário que irá adicionar as notícias
// ------- configurar as fontes no "<style>" acima
$tipo_fonte1 = "n1"; // fonte do título do texto
$tipo_fonte2 = "n2"; // fonte da data
$tipo_fonte3 = "n3"; // fonte do texto
// -------- configurações fim -----------
$string_connect = "host=$host port=$port dbname=$db user=$user password=$pass"; // Variável com as informações para a conexão ser feita
$connect = pg_pconnect($string_connect); // Comando para conectar-se ao servidor
echo "<p align=\"center\"><font id=\"$tipo_fonte3\"><b>NOTÍCIAS</b></font></p>";
if (!$acao) {
$query = pg_query("SELECT * FROM news_m"); // Comando para fazer um "query" (uma requisição de informação) no banco de dados. Note que, "SELECT * FROM news_m" já é um comando SQL conhecido. DESTAQUE 1
$n_resultados = 3; // Número de notícias a serem exibidas
$n_linhas = pg_num_rows($query); // DESTAQUE 2
$n_pag = ceil($n_linhas / $n_resultados); // DESTAQUE 3
if(!isset($_GET['pagina'])) { $_GET['pagina'] = $n_pag-1; }
$inicio = $_GET['pagina'] * $n_resultados;
$query = pg_query("SELECT * FROM news_m LIMIT $n_resultados OFFSET $inicio"); // DESTAQUE 4
// comando para listar as notícias [início] --------------------------------
while ($answer = pg_fetch_array($query)) {
echo "<p align=\"left\"><font id=\"$tipo_fonte1\"> <b>".$answer["info_title"]."</b></font></p>\n";
$text = stripslashes($answer["info_text"]);
$text = ereg_replace("\n","<br>\n",$answer["info_text"]);
echo "<p align=\"left\"><font id=\"$tipo_fonte3\">\n$text\n</font></p>\n";
echo "<p align=\"left\"><font id=\"$tipo_fonte2\">".$answer["info_time"]."</font></p>\n";
echo "<hr color=\"#000000\" size=\"1\" noshade>\n\n";
}
// comando para listar as notícias [fim] --------------------------------
// paginação de resultados [início] --------------------------------
echo "<p align=\"center\"><font id=\"$tipo_fonte3\">";
if ($n_pag > 1 && $_GET['pagina'] > 0) { $num = $_GET['pagina'] - 1; echo " [<a href=\"$main_file?pagina=$num\"><<</a>]"; }
for($i = 0; $i < $n_pag; $i++) {
$url = "$main_file?pagina=$i";
$num = $i+1;
if ($i == $_GET['pagina']) { echo " [<b>$num</b>]"; } else { echo " [<a href=\"$url\">$num</a>]"; }
}
if ($n_pag > 1 && $_GET['pagina'] < $n_pag - 1) { $num = $_GET['pagina'] + 1; echo " [<a href=\"$main_file?pagina=$num\">>></a>]"; }
echo "</font></p>\n\n";
// paginação de resultados [fim] --------------------------------
echo "<p align=\"right\"><font id=\"$tipo_fonte3\"><a href=\"$main_file?acao=form\">Envie uma notícia</a> </font><font id=\"$tipo_fonte2\">(só usuário cadastrado)</font></p>\n\n";
} else {
switch ($acao) {
case form: // formulário para enviar notícia
echo "<p align=\"center\"><font id=\"$tipo_fonte3\">Envie uma NOTÍCIA!<br>Preencha todo formulário abaixo.</font></p>";
echo "<form action=\"$main_file?acao=enviar\" method=\"post\" name=\"envia_dados\">\n";
echo "<table width=\"70%\" border=\"0\" cellspacing=\"0\" align=\"center\" bgcolor=\"#FFCC66\">\n";
echo " <tr>\n";
echo " <td align=\"right\" valign=\"top\"><font id=\"$tipo_fonte3\">Usuário</font></td>\n";
echo " <td align=\"left\" valign=\"top\"><input name=\"usuario\" type=\"text\" size=\"30\" maxlength=\"20\"></td>\n";
echo " </tr>\n";
echo " <tr>\n";
echo " <td align=\"right\" valign=\"top\"><font id=\"$tipo_fonte3\">Senha</font></td>\n";
echo " <td align=\"left\" valign=\"top\"><input name=\"senha\" type=\"password\" size=\"30\" maxlength=\"8\"></td>\n";
echo " </tr>\n";
echo " <tr>\n";
echo " <td colspan=\"2\" align=\"left\" valign=\"top\"><font id=\"$tipo_fonte3\">Título</font> <input name=\"titulo\" type=\"text\" size=\"50\" maxlength=\"150\"></td>\n";
echo " </tr>\n";
echo " <tr>\n";
echo " <td colspan=\"2\" align=\"left\" valign=\"top\"><font id=\"$tipo_fonte3\">Notícia</font><br><textarea name=\"texto\" cols=\"43\" rows=\"10\"></textarea></td>\n";
echo " </tr>\n";
echo " <tr>\n";
echo " <td colspan=\"2\" align=\"center\" valign=\"top\"><input name=\"ok\" type=\"submit\" value=\"ENVIAR\"> <input name=\"limpa\" type=\"reset\" value=\"LIMPAR\"> <font id=\"$tipo_fonte3\">[<a href=\"$main_file\">Cancelar</a>]</font></td>\n";
echo " </tr>\n";
echo "</table>\n";
echo "</form>\n";
break;
case enviar:
if ($titulo && $texto && $ok && $senha == "$password_add" && $usuario == "$user_add") { // Se tudo estiver OK, envia uma nova notícia. Caso contrário, dá uma mensagem de erro.
$data = gera_data();
$query = pg_query("INSERT INTO news_m (info_title,info_text,info_time) VALUES ('$titulo','$texto','$data')") or die("<p align=\"center\"><b><font id=\"$tipo_fonte3\" color=\"red\">ERRO!</font></b></p>\n<p align=\"center\"><font id=\"$tipo_fonte3\">Não foi possível enviar sua notícia!!!<br><a href=\"$main_file?acao=form\">Clique aqui</a> para tentar novamente.</font></p>"); // DESTAQUE 5
if ($query) { echo "<p align=\"center\"><b><font id=\"$tipo_fonte3\" color=\"red\">NOTÍCIA ENVIADA COM SUCESSO!</font></b></p>\n<p align=\"center\"><font id=\"$tipo_fonte3\"><a href=\"$main_file\">Clique aqui</a> para voltar às NOTÍCIAS</font></p>"; } else { echo "<p align=\"center\"><b><font id=\"$tipo_fonte3\" color=\"red\">ERRO!</font></b></p>\n<p align=\"center\"><font id=\"$tipo_fonte3\">Não foi possível enviar sua notícia!!!<br><a href=\"$main_file?acao=form\">Clique aqui</a> para tentar novamente.</font></p>"; }
} else {
echo "<p align=\"center\"><b><font id=\"$tipo_fonte3\" color=\"red\">ERRO!</font></b></p>\n";
echo "<p align=\"center\"><font id=\"$tipo_fonte3\">Não foi possível enviar sua notícia, você deve preencher todos os campos do formulário.<br> <a href=\"$main_file?acao=form\">Clique aqui</a> para tentar novamente.</font></p>\n";
}
break;
}
}
?>
</body>
</html>