Como lançamento do blog, irei republicar todos os meus artigos de PHP, alguns revisados (como o Instalando Apache + MySQL + PHP 5 no Windows - que é recorde de visitação em todos os sites que foi publicado). De primeira, segue o artigo sobre AJAX.
Inclusive, a segunda parte já está pronta e logo estará publicada no Linha de Código e Plug Masters.
O que é AJAX e como aplicá-la com PHP, parte 1
O uso de AJAX está se proliferando cada vez mais pela internet, justamente por trazer mais interatividade e usabilidade para as aplicações – ou até mesmo, mais “glamour”. Junto disso, surgem inúmeras maneiras de implementar essa combinação (AJAX não é uma tecnologia, é um uso conjunto de tecnologias), algumas complicadas e com recursos demais, outras simplificadas, mas deficientes de recursos. A classe CPAINT é uma classe completa e permite incluir AJAX eficientemente em suas aplicações web. Nessa série de artigos, entenda o que é AJAX, as características da CPAINT, bem como uma explicações por meio de códigos exemplo.
- Faça já o download do PDF com o artigo completo e do código fonte.
- Artigo também disponível no Linha de Código e Plug Masters.








21/06/2008 às 17:22:04
Olá, tudo bem? estou com problemas, exemplo;
o email e o preço funcionam
mas eu criei as funções referentes aos logins e aos cpfs e nada aconteceu
fiz isso em validaformulario e em validacao.js
não sei o que aconteceu, ja procurei ja virei a noite. mas parece que só você entende disto, utilizei a partir do seu segundo artigo que está no linha de codigo
pode me ajudar?? vou postar para vocêr os scripts
21/06/2008 às 17:23:05
meu hotmail é rmousan@hotmail.com
se puder me enviar um e-mail com o que está de errado obrigado
validacao.js
// Cria objeto CPAINT
var cp = new cpaint();
cp.set_transfer_mode(’POST’);
cp.set_response_type(’TEXT’);
// ————————————
// GERAL
// ————————————
var erroEmail = false;
var erroLogin = false;
var erroCpf = false;
var erroFabricante = false;
var erroPreco = false;
function verificaForm(form)
{
if(erroEmail || erroFabricante || erroPreco || erroLogin || erroCpf ||
form.email.value == ‘’ || form.fabricante.value == 0 || form.login.value == ‘’ || form.cpf.value == ‘’ ||
form.modelo.value == 0 || form.preco.value == ‘’)
{
alert(’Preencha todos os campos corretamente!’);
return false;
}
return true;
}
// ————————————
// ————————————
// E-MAIL
// ————————————
// Valida e-mail fornecido
function verificaEmail()
{
// Obtém valor digitado
valor = document.getElementById(’email’).value;
// E-mail em branco? Faz validação direta em Javascript
if(valor == ‘’) {
document.getElementById(’email_erro’).innerHTML = ‘Preencha o E-mail’;
erroEmail = true;
}
// OK, e-mail preenchido, chama PHP e valida
else
{
// PRINCIPAL MÉTODO (call) = Chama o PHP e obtém o retorno
cp.call(’validaFormulario.php’, ‘verificaEmail’, retornaEmail, valor);
}
}
// Obtém o retorno da validação feita em AJAX e processa-o
function retornaEmail(retorno)
{
// Se teve algum retorno após verificar o e-mail,
// significa erro, portanto imprime-o.
if(retorno) {
document.getElementById(’email_erro’).innerHTML = retorno;
erroEmail = true;
}
else {
document.getElementById(’email_erro’).innerHTML = ‘’;
erroEmail = false;
}
}
// ————————————
// Login
// ————————————
// Valida login fornecido
function verificaLogin()
{
// Obtém valor digitado
valor = document.getElementById(’login’).value;
// E-mail em branco? Faz validação direta em Javascript
if(valor == ‘’) {
document.getElementById(’login_erro’).innerHTML = ‘Preencha o Login’;
erroLogin = true;
}
// OK, Login preenchido, chama PHP e valida
else
{
// PRINCIPAL MÉTODO (call) = Chama o PHP e obtém o retorno
cp.call(’validaFormulario.php’, ‘verificaLogin’, retornaLogin, valor);
}
}
// Obtém o retorno da validação feita em AJAX e processa-o
function retornaLogin(retorno)
{
// Se teve algum retorno após verificar o e-mail,
// significa erro, portanto imprime-o.
if(retorno) {
document.getElementById(’login_erro’).innerHTML = retorno;
erroLogin = true;
}
else {
document.getElementById(’login_erro’).innerHTML = ‘’;
erroLogin = false;
}
}
// ————————————
// CPF
// ————————————
// Valida CPF fornecido
function verificaCpf()
{
// Obtém valor digitado
valor = document.getElementById(’cpf’).value;
// E-mail em branco? Faz validação direta em Javascript
if(valor == ‘’) {
document.getElementById(’cpf_erro’).innerHTML = ‘Por favor Preencha o Cpf é necessário para que não haja falsificação de dados e cadastro’;
erroLogin = true;
}
// OK, Login preenchido, chama PHP e valida
else
{
// PRINCIPAL MÉTODO (call) = Chama o PHP e obtém o retorno
cp.call(’validaFormulario.php’, ‘verificaCpf’, retornaCpf, valor);
}
}
// Obtém o retorno da validação feita em AJAX e processa-o
function retornaCpf(retorno)
{
// Se teve algum retorno após verificar o e-mail,
// significa erro, portanto imprime-o.
if(retorno) {
document.getElementById(’cpf_erro’).innerHTML = retorno;
erroCpf = true;
}
else {
document.getElementById(’cpf_erro’).innerHTML = ‘’;
erroCpf = false;
}
}
// ————————————
// ————————————
// FABRICANTES & MODELOS
// ————————————
function carregaModelos(campo)
{
fabricanteId = campo.value;
// Nenhuma fabricante foi selecionada. Caso houvesse alguma seleção
// anterior, limpa. Pois não há modelo para fabricante 0.
if(fabricanteId == 0) {
document.getElementById(’modelos_local’).innerHTML = ‘Selecione um Fabricante’;
// Limpa os erros, caso ocorreu antes dessa boa seleção
document.getElementById(’fabricante_erro’).innerHTML = ‘’;
}
// Chama PHP para carregar modelos da fabricante selecionada
else
cp.call(’validaFormulario.php’, ‘obtemModelos’, retornaModelos, fabricanteId);
}
function retornaModelos(retorno)
{
// Nenhum modelo encontrado
if(retorno == ‘N’) {
document.getElementById(’fabricante_erro’).innerHTML = ‘Nenhum Modelo para esse fabricante. Selecione outro’;
// Limpa modelos anteriores, já que agora selecionou uma fabricante vazia
document.getElementById(’modelos_local’).innerHTML = ‘Selecione um Fabricante’;
erroFabricante = true;
}
// Ok, há modelos para o fabricante
else {
document.getElementById(’modelos_local’).innerHTML = retorno;
// Limpa os erros, caso ocorreu antes dessa boa seleção
document.getElementById(’fabricante_erro’).innerHTML = ‘’;
erroFabricante = false;
}
}
// ————————————
// ————————————
// PREÇO
// ————————————
function verificaPreco()
{
// Obtém valor digitado
valor = document.getElementById(’preco’).value;
// Preço em branco? Faz validação direta em Javascript
if(valor == ‘’) {
document.getElementById(’preco_erro’).innerHTML = ‘Preencha o Preço’;
erroPreco = true;
}
// OK, preço preenchido, chama PHP e valida
else
{
cp.call(’validaFormulario.php’, ‘verificaPreco’, retornaPreco, valor);
}
}
// Obtém o retorno da validação feita em AJAX e processa-o
function retornaPreco(retorno)
{
// Se teve algum retorno após verificar o preço,
// significa erro, portanto imprime-o.
if(retorno) {
document.getElementById(’preco_erro’).innerHTML = retorno;
erroPreco = true;
}
else {
document.getElementById(’preco_erro’).innerHTML = ‘’;
erroPreco = false;
}
}
// ————————————
validaformulario.php
register(array(’validaFormulario’, ‘verificaEmail’));
$CPaint->register(array(’validaFormulario’, ‘verificaLogin’));
$CPaint->register(array(’validaFormulario’, ‘verificaCpf’));
$CPaint->register(array(’validaFormulario’, ‘obtemModelos’));
$CPaint->register(array(’validaFormulario’, ‘verificaPreco’));
// Inicia Cpaint e retorno de dados
$CPaint->start(’ISO-8859-1′);
$CPaint->return_data();
class validaFormulario
{
function verificaEmail($Email)
{
// Primeiro verifica se está em formato válido
if(preg_match(’/^[a-z0-9\.\-_\+]+@[a-z0-9\-_]+\.([a-z0-9\-_]+\.)*?[a-z]+$/is’, $Email))
{
// E-mail ok, verifica se ele já está cadastrado
$SQL = ‘SELECT email
FROM cadusuario
WHERE email = \'’ . $Email . ‘\'’;
$resId = mysql_query($SQL);
// E-mail encontrado
if(mysql_num_rows($resId))
validaFormulario::EnviaValor(’ Este E-mail ja está cadastrado, por favor digite outro.’);
else
validaFormulario::EnviaValor(’Este está Disponivel’);
}
// E-mail inválido
else
validaFormulario::EnviaValor(’E-mail em formato inválido!’);
}
function verificaLogin($Login)
{
$SQL = ‘SELECT login
FROM cadusuario
WHERE login = \'’ . $Login . ‘\'’;
$resId = mysql_query($SQL);
// E-mail encontrado
if(mysql_num_rows($resId))
validaFormulario::EnviaValor(’ Este Login ja está cadastrado, por favor digite outro.’);
else
validaFormulario::EnviaValor(’Este está Disponivel’);
}
function verificaCpf($Cpf)
{
$SQL = ‘SELECT cpf
FROM cadusuario
WHERE cpf = \'’ . $Cpf . ‘\'’;
$resId = mysql_query($SQL);
// E-mail encontrado
if(mysql_num_rows($resId))
validaFormulario::EnviaValor(’ Este Login ja está cadastrado, por favor digite outro.’);
else
validaFormulario::EnviaValor(’Este está Disponivel’);
}
function verificaPreco($Preco)
{
require ‘testepercentual.php’;
// Verifica se está em formato válido
validaFormulario::EnviaValor(’Após o Comércio Paralelo retirar o seu percentual que é de 4.5% Você receberá ‘.$calculo1.’ de Volta’);
}
/**
* Essa função retorna um valor para o CPAINT que por sua
* vez retornará para a página
*/
function EnviaValor($Total)
{
global $CPaint;
$CPaint->set_data($Total);
}
}
?>
08/10/2008 às 15:58:20
Bom dia meu caro colega,
teria como vc enviar para o meu e-mail zipado o arquivo httpd.exe.manifest. Pois não acho ele em local algum. Já fiz diversos downloads e o mesmo não vem junto.
Abraço