SlideShare uma empresa Scribd logo
1 de 14
Aula 8

Sistema de noticias
Banco de dados
• Criar database aula;

• Tabela noticias;

      Id             Titulo   Texto


• Id: Int, auto increment;
• Titulo e texto : Text;
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">&nbsp;</td></tr>
<tr>
<td colspan="2" align="center">
<input name="Submit" type="submit" value="Enviar" />
</td>
</tr>
</table>
</form>
banco/inserir.php
<?php
include("../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 redirecionamento
      print "<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
<?php
include("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

Mais conteúdo relacionado

Mais procurados

Acesso a banco de dados com JDBC
Acesso a banco de dados com JDBCAcesso a banco de dados com JDBC
Acesso a banco de dados com JDBC
Eduardo Mendes
 
LabMM4 (T16 - 12/13) - PHP + MySQL
LabMM4 (T16 - 12/13) - PHP + MySQLLabMM4 (T16 - 12/13) - PHP + MySQL
LabMM4 (T16 - 12/13) - PHP + MySQL
Carlos Santos
 
Apresentação j query6
Apresentação j query6Apresentação j query6
Apresentação j query6
douglasgrava
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
Regis Magalhães
 
Criando APIs usando o micro-framework Respect
Criando APIs usando o micro-framework RespectCriando APIs usando o micro-framework Respect
Criando APIs usando o micro-framework Respect
Ivan Rosolen
 

Mais procurados (19)

Phpex1
Phpex1Phpex1
Phpex1
 
Programando com estilo e Performance
Programando com estilo e Performance Programando com estilo e Performance
Programando com estilo e Performance
 
Acesso a banco de dados com JDBC
Acesso a banco de dados com JDBCAcesso a banco de dados com JDBC
Acesso a banco de dados com JDBC
 
Introdução à JQuery
Introdução à JQueryIntrodução à JQuery
Introdução à JQuery
 
PHP MySQL Aula 07
PHP MySQL Aula 07PHP MySQL Aula 07
PHP MySQL Aula 07
 
Manipulando Bancos de Dados com JDBC
Manipulando Bancos de Dados com JDBCManipulando Bancos de Dados com JDBC
Manipulando Bancos de Dados com JDBC
 
Introdução ao Respect\Validation (1.0)
Introdução ao Respect\Validation (1.0)Introdução ao Respect\Validation (1.0)
Introdução ao Respect\Validation (1.0)
 
LabMM4 (T16 - 12/13) - PHP + MySQL
LabMM4 (T16 - 12/13) - PHP + MySQLLabMM4 (T16 - 12/13) - PHP + MySQL
LabMM4 (T16 - 12/13) - PHP + MySQL
 
Menu dinâmico com kendoUI
Menu dinâmico com kendoUIMenu dinâmico com kendoUI
Menu dinâmico com kendoUI
 
PHP básico para iniciantes
PHP básico para iniciantesPHP básico para iniciantes
PHP básico para iniciantes
 
Introdução ao Symfony 2 - SfCon 2012
Introdução ao Symfony 2 - SfCon 2012Introdução ao Symfony 2 - SfCon 2012
Introdução ao Symfony 2 - SfCon 2012
 
Apresentação j query6
Apresentação j query6Apresentação j query6
Apresentação j query6
 
Bread board
Bread boardBread board
Bread board
 
Php 02 Primeiros Passos
Php 02 Primeiros PassosPhp 02 Primeiros Passos
Php 02 Primeiros Passos
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Aula09 phonegap storage_connection
Aula09 phonegap storage_connectionAula09 phonegap storage_connection
Aula09 phonegap storage_connection
 
Criando APIs usando o micro-framework Respect
Criando APIs usando o micro-framework RespectCriando APIs usando o micro-framework Respect
Criando APIs usando o micro-framework Respect
 
Introdução a ciência de dados com Python
Introdução a ciência de dados com PythonIntrodução a ciência de dados com Python
Introdução a ciência de dados com Python
 
DELPHI & MySQL - September 2004
DELPHI & MySQL - September 2004DELPHI & MySQL - September 2004
DELPHI & MySQL - September 2004
 

Destaque

Pagelayout & data tab of ms excel 2010
Pagelayout & data tab of ms excel 2010Pagelayout & data tab of ms excel 2010
Pagelayout & data tab of ms excel 2010
Nitish Kumar
 

Destaque (8)

Ingles perla
Ingles  perlaIngles  perla
Ingles perla
 
Best practices for bulk mailings with CiviCRM
Best practices for bulk mailings with CiviCRMBest practices for bulk mailings with CiviCRM
Best practices for bulk mailings with CiviCRM
 
Microsoft Office Word 2007 - Lesson 8
Microsoft Office Word 2007 - Lesson 8Microsoft Office Word 2007 - Lesson 8
Microsoft Office Word 2007 - Lesson 8
 
Mailing List ppt
Mailing List pptMailing List ppt
Mailing List ppt
 
Word 2007-Mail Merge 1- Use Mail Merge For Mass Mailings
Word 2007-Mail Merge 1- Use Mail Merge For Mass MailingsWord 2007-Mail Merge 1- Use Mail Merge For Mass Mailings
Word 2007-Mail Merge 1- Use Mail Merge For Mass Mailings
 
Pagelayout & data tab of ms excel 2010
Pagelayout & data tab of ms excel 2010Pagelayout & data tab of ms excel 2010
Pagelayout & data tab of ms excel 2010
 
Cs101 lec10
Cs101 lec10Cs101 lec10
Cs101 lec10
 
Ca clarity ppm v13 differences course
Ca clarity ppm v13 differences courseCa clarity ppm v13 differences course
Ca clarity ppm v13 differences course
 

Semelhante a Aula 8 php

Aula 08 - Introdução ao banco de dados MySQL - Programação Web
Aula 08 - Introdução ao banco de dados MySQL - Programação WebAula 08 - Introdução ao banco de dados MySQL - Programação Web
Aula 08 - Introdução ao banco de dados MySQL - Programação Web
Dalton Martins
 
Aula 01 PHP+MySQL - LabMM4
Aula 01 PHP+MySQL - LabMM4Aula 01 PHP+MySQL - LabMM4
Aula 01 PHP+MySQL - LabMM4
Carlos Santos
 
Windows Azure 5/8 - Recursos adicionais do Windows Azure
Windows Azure 5/8 - Recursos adicionais do Windows AzureWindows Azure 5/8 - Recursos adicionais do Windows Azure
Windows Azure 5/8 - Recursos adicionais do Windows Azure
Vitor Ciaramella
 
LabMM4 (T18 - 12/13) - Navegação e insert
LabMM4 (T18 - 12/13) - Navegação e insertLabMM4 (T18 - 12/13) - Navegação e insert
LabMM4 (T18 - 12/13) - Navegação e insert
Carlos Santos
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
Regis Magalhães
 

Semelhante a Aula 8 php (20)

Sistema php
Sistema phpSistema php
Sistema php
 
PHP MySQL Aula 03
PHP MySQL Aula 03PHP MySQL Aula 03
PHP MySQL Aula 03
 
Aula 08 - Introdução ao banco de dados MySQL - Programação Web
Aula 08 - Introdução ao banco de dados MySQL - Programação WebAula 08 - Introdução ao banco de dados MySQL - Programação Web
Aula 08 - Introdução ao banco de dados MySQL - Programação Web
 
HTML & CSS - Aula 4
HTML & CSS - Aula 4HTML & CSS - Aula 4
HTML & CSS - Aula 4
 
Segurança e Performance WordPress
Segurança e Performance WordPressSegurança e Performance WordPress
Segurança e Performance WordPress
 
HTML + CSS
HTML + CSSHTML + CSS
HTML + CSS
 
Escrevendo códigos php seguros
Escrevendo códigos php segurosEscrevendo códigos php seguros
Escrevendo códigos php seguros
 
HTML & CSS - Aula 2
HTML & CSS - Aula 2HTML & CSS - Aula 2
HTML & CSS - Aula 2
 
Aula 01 PHP+MySQL - LabMM4
Aula 01 PHP+MySQL - LabMM4Aula 01 PHP+MySQL - LabMM4
Aula 01 PHP+MySQL - LabMM4
 
Windows Azure 5/8 - Recursos adicionais do Windows Azure
Windows Azure 5/8 - Recursos adicionais do Windows AzureWindows Azure 5/8 - Recursos adicionais do Windows Azure
Windows Azure 5/8 - Recursos adicionais do Windows Azure
 
Tutorial.yii
Tutorial.yiiTutorial.yii
Tutorial.yii
 
Introdução ao JQuery e AJAX
Introdução ao JQuery e AJAXIntrodução ao JQuery e AJAX
Introdução ao JQuery e AJAX
 
Prog web 05-php-mysql
Prog web 05-php-mysqlProg web 05-php-mysql
Prog web 05-php-mysql
 
LabMM4 (T18 - 12/13) - Navegação e insert
LabMM4 (T18 - 12/13) - Navegação e insertLabMM4 (T18 - 12/13) - Navegação e insert
LabMM4 (T18 - 12/13) - Navegação e insert
 
Meu primeiro tema de WordPress
Meu primeiro tema de WordPressMeu primeiro tema de WordPress
Meu primeiro tema de WordPress
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Introdução a Desenvolvimento Web
Introdução a Desenvolvimento WebIntrodução a Desenvolvimento Web
Introdução a Desenvolvimento Web
 
Evento Front End SP - Arquitetura de Front
Evento Front End SP - Arquitetura de FrontEvento Front End SP - Arquitetura de Front
Evento Front End SP - Arquitetura de Front
 
Play Framework - FLISOL
Play Framework - FLISOLPlay Framework - FLISOL
Play Framework - FLISOL
 
MIRA - Um framework Javascript para construção de interfaces adaptativas em a...
MIRA - Um framework Javascript para construção de interfaces adaptativas em a...MIRA - Um framework Javascript para construção de interfaces adaptativas em a...
MIRA - Um framework Javascript para construção de interfaces adaptativas em a...
 

Último

A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
PatriciaCaetano18
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
marlene54545
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
Autonoma
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
azulassessoria9
 
Sistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturasSistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturas
rfmbrandao
 

Último (20)

A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
 
Falando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introdFalando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introd
 
Apresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União EuropeiaApresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União Europeia
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdfMESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
Sistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturasSistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturas
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmico
 
Caderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfCaderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdf
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 

Aula 8 php

  • 1. Aula 8 Sistema de noticias
  • 2. Banco de dados • Criar database aula; • Tabela noticias; Id Titulo Texto • Id: Int, auto increment; • Titulo e texto : Text;
  • 3. 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); ?>
  • 4. • mysql_connect — Abre uma conexão com um servidor MySQL • mysql_select_db — Seleciona um banco de dados MySQL
  • 5. Index.php <style type="text/css"> <!— #menu { width: 200px; padding: 15px; background-color:#093; float: left; } #centro { width: 700px; padding: 15px; float: left; } --> </style>
  • 6. <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>
  • 7. <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>
  • 8. • Eregi() - Verifica se a variavel casa com a expressão regular definida no parametro expressao; • Include() – inclui um arquivo php
  • 9. 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>
  • 10. banco/inserir.php <?php include("../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 redirecionamento print "<script>alert('Noticia criada com sucesso! Seu ID é $id_noticia .')</script>"; print "<script>window.location.replace('../index.php')</script>"; }//Fecha ELSE ?>
  • 11. • mysql_query — Envia uma consulta MySQL • mysql_insert_id() - returna o ID gerado para um campo AUTO_INCREMENT pela ultima query INSERT
  • 12. exibe.php <?php include("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
  • 13. 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>"; } ?>
  • 14. • mysql_fetch_assoc -- Busca o resultado de uma linha e o coloca numa matriz associativa