Posts Tagged ‘tutorial php’

Tutorial - PHP / MySQL - Módulo 04

Com a área de Cadastro finalizada, precisamos agora exibir estes registros, para isto vamos criar a área de Visualização das Notícias.

Segue abaixo o código, e logo em seguida comentários sobre ele.

<?php
require_once(”database.php”);

$sql = “SELECT * FROM noticias ORDER BY data_cadastro DESC”;

$result = mysql_query($sql);

if(mysql_num_rows($result) > 0) {

10º while($tupla = mysql_fetch_object($result)) {
11º $titulo = $tupla->titulo;
12º $texto  = $tupla->texto;
13º ?>
14º
15º <div class=”noticias”>
16º <h4><?=$titulo?></h4>
17º <p class=”texto”> <?=$texto?> </p>
18º </div>
19º
20º <?php
21º }
22º }else {
23º ?>
24º
25º <div class=”noticias”>
26º <p class=”texto”> Nenhuma Notícia cadastrada no momento. </p>
27º </div>
28º
29º <?php
30º }
31º ?>

Linha 2, incluimos o arquivo que faz a conexão no Banco de Dados.

Linha 4, criamos uma variável com a SQL necessária para seleção dos dados na tabela notícias, criada no Módulo 01, caso você tenha dúvida sobre a sintaxe utilizada, você pode consultar aqui ou aqui, além de obviamente deixar seu comentário com a dúvida.

Linha 6, executamos a SQL criada na linha 4 através da função mysql_query.

Linha 8, verificamos se o número de registros retornados é maior que zero, ou seja, se existe alguma notícia cadastrada naquele momento, para verificarmos isto usamos a função mysql_num_rows.

Linha 10, percorremos cada linha selecionada com a função mysql_fetch_object, sendo que esta função nos retorna o registro em forma de objeto. Poderiamos pegar de outras formas, como pela função mysql_fetch_array.

O restante do código, simplesmente apresenta na tela os dados selecionados.

Para conferir como ficou nosso mini-sistema:
http://www.andersonarcenio.com/exemplos/tutorial_php_mysql_modulo_4

Para fazer o download do código-fonte.
http://www.andersonarcenio.com/exemplos/tutorial_php_mysql_modulo_4.rar

Tutorial - PHP / MySQL - Módulo 03

Pois bem, neste momento nosso mini-sistema possui já sua área de Login e com isso podemos partir para área de Cadastro das Notícias.

Segue abaixo o código, e logo em seguida comentários sobre ele.

<?php
require_once(”database.php”);

function insereNoticia() {
extract($_POST);

$data_atual = date(’Y-m-d’);

$sql = “INSERT INTO noticias(titulo, texto, data_cadastro) VALUES (’”.$titulo.”‘, ‘”.$texto.”‘, ‘”.$data_atual.”‘)”;
10º $result = mysql_query($sql);
11º
12º return $result;
13º }
14º
15º if($_SERVER['REQUEST_METHOD'] == “POST”) {
16º
17º $return = insereNoticia();
18º
19º if($return) {
20º $msg = “Cadastro efetuado com sucesso!”;
21º }
22º else {
23º $msg = “Ocorreu um erro durante o processo!”;
24º }
25º
26º }
27º
28º ?>

Linha 2, incluimos o arquivo que faz a conexão no Banco de Dados.

Linha 4 a 13, é criada a função que faz a inserção da notícia.

Linha 5, chamamos a função extract, que importa os valores digitados nos inputs advindos do formulário de cadastro, submetidos pelo método POST.

Linha 7, salvamos a data atual com o formato padrão do MySQL através da função date, para posterior cadastro no Banco de Dados.

Linha 9, criamos uma variável com a SQL necessária para inserção dos dados na tabela notícias, criada no Módulo 01, caso você tenha dúvida sobre a sintaxe utilizada, você pode consultar aqui ou aqui, além de obviamente deixar seu comentário com a dúvida.

Linha 10, executamos a SQL criada na linha acima através da função mysql_query.

Linha 15 a 26, verificamos o método de requisição, da mesma forma que foi realizado no Módulo 02, após isso chamamos a função criada insereNoticia, verificando seu retorno para setar a mensagem que será mostrada após o cadastro para o usuário. Lembrando que a função mysql_query, retorna verdadeiro, em caso de sucesso, ou falso, caso ocorra algum erro, para SQLs do tipo Insert conforme fizemos.

Para conferir como está nosso mini-sistema até o momento:
http://www.andersonarcenio.com/exemplos/tutorial_php_mysql_modulo_3

Para fazer o download do código-fonte.
http://www.andersonarcenio.com/exemplos/tutorial_php_mysql_modulo_3.rar

Tutorial - PHP / MySQL - Módulo 02

Temos como objetivo para este módulo a explicação de como fazermos o login no mini-sistema, como sempre gosto de salientar, tenho feito os códigos da maneira mais simples e direta possível, para que o público que considerei como alvo para estes tutoriais, consigam acompanhar, se você já está em um nível um pouco maior e quiser discutir sobre questões de segurança e complexidade do código, fico a disposição também.

A forma que utilizei no exemplo, não é a única à ser utilizada para se efetuar login em php, existem outras como, através da utilização de Cookie.

Segue abaixo o código, e logo em seguida comentários sobre ele.

<?php
session_start();

if($_SERVER['REQUEST_METHOD'] == “POST”) {

$usuario = $_POST["usuario"];
$senha = $_POST["senha"];
8º
if($usuario == “exemplo” && $senha == “xhtml”)  {
10º
11º $_SESSION['usuario'] = $usuario;
12º
13º header(”Location: cadastro.php”);
14º
15º }
16º else {
17º header(”Location: login.php”);
18º }
19º
20º }
21º
22º ?>

Logo na linha 2, temos um dos pontos chaves, a função session_start() inicia uma sessão, mas o que é uma sessão? Segundo o php.net, “Sessões no PHP consiste em uma maneira de preservar certos dados atráves dos acessos subsequentes..”, e com isso conseguimos controlar se o usuário está logado ou não.

A linha 4, serve apenas pra checarmos se a forma de acesso ao arquivo está sendo feita através do método “post”, ou seja, se está sendo acessado após o formulário ter sido submetido.

Linhas 6 e 7, armazenamos nas variáveis os valores digitados nos inputs respectivos.

Linha 9, verificamos se os valores digitados correspondem aos corretos, é neste ponto que fazemos a validação. Fica claro que, por se tratar de um exemplo, esta validação está sendo feita de forma direta, normalmente, se estivessemos tratando de um sistema de uso real, fariamos esta validação, com algumas questões de segurança, além de acesso à um Banco de Dados, e não diretamente por código.

Você ainda verá algo neste sentido aqui nos tutoriais.

Linha 11, aqui setamos a variável global $_SESSION, é com ela que controlaremos certas operações nas outras páginas.

Linha 13, redirecionamos para a página cadastro.php .

Agora, segue abaixo o código para fazermos o logout.

<?php
session_start();

unset($_SESSION);

session_destroy();

header(”Location: login.php”);
?>

Linha 4, destruímos a váriavel em questão.

Linha 6, a funcão session_destroy() destrói todos os dados registrados em uma sessão.

Para conferir como está nosso mini-sistema até o momento:
http://www.andersonarcenio.com/exemplos/tutorial_php_mysql_modulo_2

Para fazer o download do código-fonte.
http://www.andersonarcenio.com/exemplos/tutorial_php_mysql_modulo_2.rar

Tutorial - PHP / MySQL - Módulo 01

Antes de começar este módulo, vou primeiro comentar aqui com vocês, um fato que achei bastante interessante, após reparar que várias visitas estavam vindo através de certas palavras-chave pela busca orgânica do Google, fiz uma pesquisa rápida para ver meu posicionamento, e o resultado foi o seguinte:

“mini curso xhtml” : 1ª Página, 1ª Posição
“curso xhtml” : 1ª Página, 4ª Posição
“tutorial xhtml” : 3ª Página

Obs: Obviamente, se você ler este post no futuro, provavelmente estas posições estarão diferentes.

Bacana, espero que apesar de simples, estes tutoriais estejam sendo úteis para alguém.

Bom, vamos lá então, ao nosso primeiro módulo de PHP / MySQL que tem como objetivo a criação do banco de dados que será utilizado no mini-sistema.

Se você está usando como ambiente para desenvolvimento, o software EasyPHP, que citei no Módulo 03 de XHTML, iremos usar a ferramenta que ele disponibiliza, o phpMyAdmin para criar nosso Banco de Dados MySQL. Caso utilize outra forma, não terá problemas também, pois estarei colocando o SQL necessário para criação das tabelas.

A primeira tela após aberto o phpMyAdmin, apresenta a você a opção de criar um novo Banco de Dados, para isso, digite o nome:  “mini_sistema_noticias” e clique em Criar.

Criado o Banco, vamos a tabela agora, nesta tela seguinte, você tem a opção de adicionar uma nova tabela, para isso, digite em:

Nome:  noticias
Campos: 4

Na próxima tela, iremos criar os campos desta Tabela.

Campo 1:  id   int   unsigned   not null   auto_increment   chave-primária
Campo 2:  titulo   varchar(100)   not null
Campo 3:  texto   text   not null
Campo 4:  data_cadastro   date   not null

Feito, é esta simples tabela que irá armazenar as notícias cadastradas no exemplo.

Eu, particularmente não gosto muito de criar tabelas e adicionar campos da forma que citei acima, se você é como eu, ou não está utilizando o phpMyAdmin, abaixo estão os SQLs necessários para criação.

CREATE DATABASE `mini_sistema_noticias` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

CREATE TABLE `noticias` (

`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`titulo` VARCHAR( 100 ) NOT NULL ,
`texto` TEXT NOT NULL ,
`data_cadastro` DATE NOT NULL ,
PRIMARY KEY ( `id` )

);

Obs: Volto a ressaltar que estes tutoriais, tem como público-alvo, pessoas que estão iniciando, por isso estou tentando fazer da forma mais simples possível, é obvio que,  numa outra ocasião as coisas seriam mais complexas e completas.

Links:

http://www.w3schools.com/sql - Tutorial de SQL da w3schools ( Inglês )
http://dev.mysql.com/doc/refman/4.1/pt/reference.html - Referência para MySQL ( Português )

Tutorial - PHP / MySQL

Desenvolvemos durante o Tutorial de XHTML as páginas estáticas que iremos utilizar para desenvolver o mini-sistema de notícias, agora no Tutorial de PHP / MySQL iremos torná-las dinâmicas, fazendo a programação necessária para que o mini-sistema funcione.

O tutorial será dividido em 4 módulos:

  • Criação do Banco de Dados MySQL
  • Login
  • Cadastro
  • Visualizar

Breve, começamos!

Links:

http://www.php.net - PHP

http://www.mysql.com - MySQL