14

Click here to load reader

Aula 8 php

Embed Size (px)

Citation preview

Page 1: Aula 8 php

Aula 8

Sistema de noticias

Page 2: Aula 8 php

Banco de dados

• Criar database aula;

• Tabela noticias;

• Id: Int, auto increment;• Titulo e texto : Text;

TextoTituloId

Page 3: Aula 8 php

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);?>

Page 4: Aula 8 php

• mysql_connect — Abre uma conexão com um servidor MySQL

• mysql_select_db — Seleciona um banco de dados MySQL

Page 5: Aula 8 php

Index.php<style type="text/css"><!—#menu {

width: 200px;padding: 15px;background-color:#093;float: left;

}#centro {

width: 700px;padding: 15px;float: left;

}--></style>

Page 6: Aula 8 php

<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>

Page 7: Aula 8 php

<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>

Page 8: Aula 8 php

• Eregi() - Verifica se a variavel casa com a expressão regular definida no parametro expressao;

• Include() – inclui um arquivo php

Page 9: Aula 8 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">&nbsp;</td></tr><tr><td colspan="2" align="center"><input name="Submit" type="submit" value="Enviar" /></td></tr></table></form>

Page 10: Aula 8 php

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

?>

Page 11: Aula 8 php

• mysql_query — Envia uma consulta MySQL

• mysql_insert_id() - returna o ID gerado para um campo AUTO_INCREMENT pela ultima query INSERT

Page 12: Aula 8 php

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

Page 13: Aula 8 php

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>";}?>

Page 14: Aula 8 php

• mysql_fetch_assoc -- Busca o resultado de uma linha e o coloca numa matriz associativa