Web Sites com Ajax

JavaScript

Compreendendo a página actions.php

Como dito anteriormente, a página actions.php desempenhará as principais funções do aplicativo, ou seja, incluirá, editará e excluirá os contatos desejados da agenda.

Sendo assim, vamos analisá-la passo-a-passo.

Incluindo arquivos na página

A página inicia incluindo as páginas class.MySQL.php e functions.php, ambas já familiares para nós. É importante e necessário compreender nessa inclusão a condição que é verificada para que ela seja realizada.

Assim, as páginas serão incluídas somente se estivermos trabalhando via Ajax, seja na inclusão de registros - isset($_GET['ajax']) - ou na edição dos dados - isset($_GET['editar']) - e não devem ser inseridas se existir a variável exibirFormulario na URL.

Mas, por que isso? Pense comigo: a página index.php também realiza este mesmo processo, ou seja, incluir as referidas páginas. Ok, mas se ela (index.php) já inseriu por que iremos inserir novamente?

Não iremos inserir novamente, simplesmente iremos utilizar a página actions.php também através do Ajax e para isso, ela precisa que tais páginas estejam inclusas.

Então, verificamos através de uma condição se a página está sendo acessada via Ajax, caso esteja, incluímos as páginas necessárias - class.MySQL.php e functions.php.

Em seguinda temos outra condição, vejamos:

Verificando se o formulário foi submetido

Sendo simplista, ela verifica se o formulário foi submetido. Onde action é igual ao nome de um campo do formulário.

Logo após essa verificação, criaremos algumas variáveis que conterão os dados informados no formulário. Observemos:

Pegando os dados informado no formulário

Bom, o diferencial aí está na condição isset($_GET['ajax']), ou seja, se existir a variável ajax na URL, compreendemos que estamos trabalhando via Ajax. Assim, utilizaremos a função formatDataAjax e, quando não estivermos trabalhando via Ajax, usaremos a formatData. Ambas estão localizadas na página functions.php.

As duas funções diferenciam-se apenas por duas linhas de códigos a mais na função formatDataAjax. Repare-as:

O diferencial da função formatDataAjax

Para você perceber o quanto elas são importantes e essenciais, vou lhe mostrar como os dados são inseridos no banco de dados, sem e com a utilização dessas linhas.

Exemplos dos dados armazenados no banco de dados

Atente-se ao seguinte, elas são utilizadas somente quando os dados são inseridos via Ajax.

O próximo passo é a verificação dos dados, ou seja, se os dados necessários foram informados e se o e-mail é válido.

Esses dados serão utilizados ao trabalharmos sem o Ajax. Quando trabalharmos com ele, a validação será feita pelo JavaScript (abordaremos isso logo mais).

Se os dados passarem corretamente na validação, prosseguimos e cadastraremos um novo contato ou editaremos os dados de um contato já cadastrado.

Vamos observar a imagem de exemplo:

Inclusão e edição dos dados

A variável action armazena o dado atribuído ao campo oculto action do formulário (falaremos sobre ele ainda). Esse dado será cadastrar ou editar utilizando o switch (nada mais é do que uma série de instruções IFs seguidas) e verificaremos qual dado foi atribuído à variável no momento.

Se tivermos cadastrar atribuído a variável, cadastramos. Se tivermos editar atribuído editamos.

Atente-se que há algumas particularidades desse código exemplificado na imagem acima: $mySQL é um objeto que criamos - $mySQL = new MySQL - na página class.MySQL.php. O redirecionamento para a página index.php será feito somente se não tivermos trabalhando com o Ajax.

A página actions.php é finalizada com o seguinte código:

Código de exclusão de registros

Esse código verifica se há na URL a variável excluir. Havendo, será executado a exclusão de um registro de acordo com o ID informado.

Na próxima unidade, falaremos sobre o formulário e suas peculiaridades.