Click here to load reader
Upload
sergiohenrique
View
403
Download
0
Embed Size (px)
Citation preview
Aula 8
Sistema de noticias
Banco de dados
• Criar database aula;
• Tabela noticias;
• Id: Int, auto increment;• Titulo e texto : Text;
TextoTituloId
Arquivo de conexão
<?php$usuario = "root"; //Usuario$senha = ""; //Senha$db = "aula"; //Nome do Banco$servidor = "localhost"; //Endereço do Servidor
$conexao = mysql_connect($servidor, $usuario, $senha) or die(mysql_error());
$database = mysql_select_db($db, $conexao);?>
• mysql_connect — Abre uma conexão com um servidor MySQL
• mysql_select_db — Seleciona um banco de dados MySQL
Index.php<style type="text/css"><!—#menu {
width: 200px;padding: 15px;background-color:#093;float: left;
}#centro {
width: 700px;padding: 15px;float: left;
}--></style>
<h2 align="center">Sistema de Noticias</h2>
<br /><br />
<div id="menu">
- <a href="index.php?pagina=exibe" title="">Exibir Noticias</a><br />
- <a href="index.php?pagina=inserir" title="">Inserir Noticias</a><br />
</div>
<div id="centro"><?php//Pega os dados passados pela URL$pagina = (isset($_GET["pagina"])) ? $_GET['pagina'] : '';
//Verifica se a string passada possui algum trecho invalido. Caso tenha mostra uma mensagem de erro
if(eregi("<html>|iframe|form|script|object|http|www|ftp|.dat|.txt|.gif|wget|from|select|insert|delete|where|drop table|show tables", $pagina)) {
echo "Violação de Segurança! Você provavelmente tentou entrar numa página inexistente. Volte e acesse a página correta.";
//Se a variavel passada estiver dentro das normas, executa o ELSE abaixo:
}else{
if(!empty($pagina)) {
include ("$pagina.php");
}else{
include ("inicio.php"); //incluo a página inicial
}
} ?></div>
• Eregi() - Verifica se a variavel casa com a expressão regular definida no parametro expressao;
• Include() – inclui um arquivo php
Inserir.php<!-- Titulo da página --><h3 align="center">Criação de Nova Noticia</h3>
<form name="nova_noti" id="nova_noti" method="post" action="banco/inserir.php"><table align="center"><tr><td align="right">Titulo:</td><td align="left"><input name="titulo" type="text" id="titulo" value="" size="40" /></td></tr><tr><td align="right">Conteudo da Noticia:</td><td align="left"><textarea name="texto" cols="35" rows="7" id="texto"></textarea></td></tr><tr><td colspan="2"> </td></tr><tr><td colspan="2" align="center"><input name="Submit" type="submit" value="Enviar" /></td></tr></table></form>
banco/inserir.php<?phpinclude("../config.php");?><?php//Pegando as variaveis do Formulário$titulo = $_POST['titulo'];$texto = $_POST['texto'];
$sql = mysql_query("INSERT INTO noticias (titulo, texto) VALUES ('".$titulo."', '".$texto."')");$id_noticia = mysql_insert_id(); //ID gerado para esta inserção. Usado sempre após mysql_query.
if(!$sql){
echo "Erro ao tentar inserir registro: ".mysql_error();
}else{
//Alerta de Sucesso e efetua redirecionamentoprint "<script>alert('Noticia criada com sucesso! Seu ID é $id_noticia .')</script>";print "<script>window.location.replace('../index.php')</script>";
}//Fecha ELSE
?>
• mysql_query — Envia uma consulta MySQL
• mysql_insert_id() - returna o ID gerado para um campo AUTO_INCREMENT pela ultima query INSERT
exibe.php<?phpinclude("config.php");?><!-- Titulo da página --><h3 align="center">Lista de Noticias</h3>
<?php$sqlStr = "SELECT * FROM noticias ORDER BY titulo ASC";$aux = mysql_query($sqlStr); //Seleciono os dados para exibição
$sqlStrAux = "SELECT count(*) as total FROM noticias ORDER BY titulo ASC";
$b = mysql_fetch_assoc(mysql_query($sqlStrAux)); //Conto quantidade de registros para fazer a condição
if($b['total']>0){?>
<table align="center" cellpadding="2" cellspacing="2"><tr><td bgcolor="#12037b" align="center"><strong>ID</strong></td><td bgcolor="#12037b" align="center"><strong>Titulo</strong></td><td bgcolor="#12037b" align="center"><strong>Ação</strong></td></tr><?php
$cor = '';$corA = '#ffffff';$corB = '#f7f7f7';while($valor = mysql_fetch_array($aux)) {$cor = $cor == $corA ? $corB : $corA;
echo "<tr bgcolor=\"".$cor."\">";echo "<td align=\"center\">".$valor['id']."</td>";echo "<td align=\"center\">".$valor['titulo']."</td>";echo "<td align=\"center\"><a href=\"index.php?pagina=editar&id=".$valor['id']."\"
title=\"Edite esta Noticia\"><img src=\"edite.jpg\" border=\"0\" alt=\"editar\"></a></td>";echo "</tr>";
}?></table>
<?php}else{//Se não houver registros, ou seja, $b['total'] = 0
echo "<table align=\"center\">"; echo "<tr><td>Não existem noticias cadastradas.</td></tr>";
echo "</table>";}?>
• mysql_fetch_assoc -- Busca o resultado de uma linha e o coloca numa matriz associativa