Web Sites com Ajax

JavaScript

Compreendendo a página formulario.php

A página formulario.php inicia com três headers super importantes:

Exemplo dos headers utilizados

O primeiro header corrige o problema de acentuação dos caracteres e deve ser a primeira linha de código da página.

Já os dois headers seguintes tem a função de evitar que tal página seja armazenada no cache do navegador.

Em seguinda temos o seguinte código:

Inclusão de outras páginas

Esta página também utiliza o mesmo recurso que a actions.php, que é o de incluir as páginas class.MySQL.php e functions.php somente se estivermos trabalhando via Ajax.

Como já dito antes, a página index.php já incluiu essas páginas. Mas como a página formulario.php será acessada via Ajax e não pela index.php precisamos incluir as referidas páginas.

Em seguinda, verificamos se ocorrerá uma edição de dados - isset($_GET['editar']). Se houver, criamos um "recordset" filtrado pelo ID do contato, de forma que teremos os dados do cadastrado e o exibiremos no atributo value dos campos do formulário.

Com essas condições realizadas, podemos criar nosso formulário.

Vejamos:

Criando o formulário

Este formulário possui uma peculiaridade que é a atribuição da variável exibirFormulario na action do form e os códigos para exibição dos erros. Vamos compreender isso melhor:

Imagine que estamos utilizando nossa agenda de contato sem o suporte ao JavaScript, então, para exibirmos o formulário na página, precisamos que a URL contenha a variável exibirFormulario.

Assim, ao enviarmos os dados precisamos que, caso existam erros, os mesmos sejam exibidos. E, como os códigos para exibição dos erros está presente na página formulario.php e ela é exibida somente se houver a tal variável na URL, a colocamos juntamente da página para o qual enviaremos o formulario index.php?exibirFormulario=true no atributo action dele. Esse procedimento é para que a página permaneça em exibição e conseqüentemente indique os erros ocorridos ao usuário.

Agora, observe na imagem abaixo como o atributo value dos campos foram definidos:

Exemplo do atributo value

Ou seja, verificamos se o processo será de edição de dados - isset($_GET['editar']). Se for, exibiremos o referido dado armazenado no banco de dados em seu respectivo campo no formulário.

Finalizando a página, temos significantes pecularidades que valem uma boa observação.

Vejamos os códigos:

Exemplo do botão de cancelar

Acima, exibiremos um botão que será utilizado caso o usuário desista do processo de cadastramento ou edição dos dados. Mas, repare que verificamos !isset($_GET['ajax']) se não estamos trabalhando com o Ajax.

Sendo assim, exibimos um link que redireciona o usuário para a página index.php sem a variável exibirFormulario, que neste caso ocultará o formulário da página. Caso contrário, exibiremos um campo do tipo reset e atribuiremos a ele uma função para fechar o formulário (você compreenderá isso melhor quando abordarmos o JavaScript com o Ajax).

Exemplo do botão cadastrar/editar

Este código acima verifica se não estamos no processo de edição dos dados !isset($_GET['editar']). Com isso, atribuímos ao campo oculto - hidden - denominado como action, o valor cadastrar.

Se estivermos no processo de edição, atribuímos o valor editar e criamos outro campo oculto - hidden - denominado como ID e, atribuímos a ele como valor, o ID do contato da agenda em questão presente na URL através da variável ID.

Esse campo action lhe parece familiar? Sim, exatamente. Falamos sobre ele ao compreendermos a página actions.php. O valor dele será utilizado pelo switch, onde será cadastrado um contato se o valor for cadastrar e será editado os dados de um cadastrado se o valor for editar.

Seguimos agora para a compreensão da página com o relatório dos cadastrados.