Rafael Clares


Ler XML com PHP
Agosto 17, 2008, 12:25 am
Arquivado em: XML | Tags: , ,

Lendo um arquivo XML com o PHP5

Veremos como ler um arquivo XML utilizando o método SimpleXML no PHP5, depois que escrevi como criar um arquivo XML com PHP nada mais interessante que saber como ler o arquivo.

Começaremos criando um arquivo XML bem simples, escreva o código abaixo e salve como:

livros.xml

<?xml version=”1.0″ encoding=”iso-8859-1″?>
   <livros>
  <livro>
   <cod>01</cod>
   <titulo>PHP para iniciantes</titulo>
   <descricao>Desenvolvendo Aplicações web</descricao>
   <autor>Manuel da Silva</autor>
   <paginas>200</paginas>
   <preco>5.00</preco>
  </livro>
  <livro>
   <cod>02</cod>
   <titulo>XML</titulo>
   <descricao>Usando XML com PHP </descricao>
   <autor>José das Couves</autor>
   <paginas>100</paginas>
   <preco>15.00</preco>
  </livro>
</livros> 

Agora que já temos o XML vamos criar o arquivo PHP, salve-o com o nome que quiser.

index.php

<?
#carrega o arquivo XML e retornando um Array
$xml = simplexml_load_file(“livros.xml”);
# se o xml for um link e nao um arquivo como livros.xml, troque -o pelo link ex.
# $xml = simplexml_load_file(“http://endereco/link/mesmoQueNaoTenhaExtensaoXML/“);

#para cada nó LIVRO  atribui à variavel $livro (obj simplexml)
foreach($xml->livro as $livro)
{
 echo $livro->cod;
 #usando o utf8_decode para exibir com acentos
 echo utf8_decode($livro->titulo);
 echo utf8_decode($livro->autor);
 echo utf8_decode($livro->descricao);
 echo $livro->preco;
 echo “<br>”;
}
?>

Muito simples! O nome do método não é em vão! ;)

Bem, agora basta você formatar a saida dos dados, utilize tags html formatadas com CSS, um exemplo pode ser como abaixo:

echo “<p><b>Título:</b> “ .utf8_decode($livro->titulo) . “</p>”;

Como está no comentário no código, a função simplexml_load_file carrega um arquivo XML retornando seu conteúdo em um Array, se quiser ver o formato desse array criado pela função e atribuído à variável $xml, utilize a função do PHP print_r que serve para exibir um array na tela. O resultado será como mostrado abaixo:

O comando print_r($xml) resultará em:

SimpleXMLElement Object
(
    [livro] => Array
        (
            [0] => SimpleXMLElement Object
                (
                    [cod] => 01
                    [titulo] => PHP para iniciantes
                    [descricao] => Desenvolvendo Aplicações web
                    [autor] => Manuel da Silva
                    [paginas] => 200
                    [preco] => 5.00
                )

            [1] => SimpleXMLElement Object
                (
                    [cod] => 02
                    [titulo] => XML
                    [descricao] => Usando XML com PHP
                    [autor] => José das Couves
                    [paginas] => 100
                    [preco] => 15.00
                )

            [2] => SimpleXMLElement Object
                (
                    [cod] => 03
                    [titulo] => Javascript
                    [descricao] => O Poder do javascript
                    [autor] => Billy Borny
                    [paginas] => 80
                    [preco] => 9.90
                )

        )

)

Links:

Documentação do SimpleXML:  SimpleXML
Documentação do utf8_decode: utf8_decode

Abraços e até o próximo post.  ;)

 



Efeitos em fotos
Agosto 13, 2008, 2:11 am
Arquivado em: Webtools | Tags: , ,

 Efeitos em fotos – coloque efeitos em suas fotos através do Dumpr

Opa galerinha!

Estou deixando mais uma dica de ferramentas on-line para vocês.

Hoje estou apresentando o Dumpr, um sistema on-line interessante e cheio de recursos para inserir em suas fotos. Espero que apreciem, o resultado é bem satisfatório.

Exemplo:

Link: http://www.dumpr.net/ 

Até logo,



Gerando gráficos com PHP + FusionCharts
Agosto 10, 2008, 2:50 am
Arquivado em: PHP, XML | Tags: , , , ,

Gráficos 3D Animados com PHP  + XML + Flash

Olá Galera, após ter falado um pouco sobre gráficos com o PHPlot, na sequência estou apresentando maravilhoso gráfico gerado com o FusionCharts, esse cara aí nos permite criar belíssimos gráficos em flash!

O FusionCharts é um produto comercial, eu já tinha utilizado em uma outra ocasião porém não me recordo de terem uma versão free, mas a alguns dias entrei no site da FC e meus olhos brilharam com o anúncio ”Free Version” !

Chega de conversa, eu me empolguei !  ; )

O FusionCharts permite gerar gráficos nas liguagens PHP, ASP, CSNET, VBNET e Javascript, em todos os casos você pode setar através dos métodos do FC os valores para o gráfico, porém existe a forma que acredito ser a mais simples e prática para o exemplo que é através de XML. Podemos criar um arquivo xml com os dados desejados e informar na aplicação o endereço do XML ou podemos apenas criar no próprio código uma variável com os dados do XML, a segunda opção seria ideal no caso de ler uma tabela do banco.

Exemplo do XML para um gráfico de barras:

Clique para ampliar

clique para ampliar

 

E básicamente é apenas disso que precisamos enviar para a o arquivo PHP e Flash.

A linha 1 do XML contém o o atributo xAxisName que repesenta as colunas do gráfico e também o atributo yAxisName que representa as linhas do gráfico, observe no gráfico abaixo:
O XML pode receber mais parâmetros na primeira linha, como título do gráfico e outros, consulte os docs.

Clique para ampliar

clique para ampliar

Agora que já vimos que precisamos de um XML e sabemos como deve ser sua estrutura, vamos para o PHP.

Primeiro exemplo
- Usando um arquivo XML – Precisamos dos seguintes diretórios e arquivos:

- diretório data e dentro dele o arquivo xml chamado dados.xml (como o do exemplo)
- diretório charts com os arquivos flash que recebem o XML e geram o gráfico
- diretório includes com os arquivos FusionCharts.php e fusioncharts.js

Importante saber que essa estrutura de arquivos e diretório são usadas especificamente neste exemplo devido eu ter adaptado de  forma que fosse mais fácil compreender e trabalhar, de outra forma, a estrutura utilizada nos exemplos que vem no pacote do Fusioncharts é um pouquinho diferente mas nada de complicado fique tranquilo, você vai olhar e entender de cara.  ;)

Então voltando ao assunto principal, com essa estrutura de diretórios e seus respectivos arquivos precisamos apenas do arquivo PHP com as linhas abaixo.

<script language=”javascript” src=“charts/fusioncharts.js”></script>
<?php
 #incluindo o arquivo FC
 include(“includes/FusionCharts.php“);
 #metodo que renderiza o grafico na tela
 echo renderChart(“charts/FCF_Column3D.swf“, “data/dados.xml“, “”, “graf“, 600, 300);
?>

Acredite se quiser, com essa linha javascript e mais as 2 linhas PHP nós geramos o gráfico da imagem acima!

Como não há praticamente nada no arquivo PHP irei explicar apenas a linha que nos importa, a última linha.

 echo renderChart(“charts/FCF_Column3D.swf“, “data/dados.xml“, “”, “graf“, 600, 300);

Após incluirmos o arquivo FusionCharts na primeira linha do PHP nós chamamos a função renderChart que recebe alguns parâmetros e são eles na ordem:

1 parâmetro – caminho para o arquivo flash que irá gerar o gráfico.
2 parâmetro – caminho do arquivo XML que contém os dados que queremos exibir.
3 parâmetro – vazio, seria utilizado se ao invés de um arquivo estivessemos passando  uma variável, neste caso o parâmetro vazio seria o segundo que contém o caminho do arquivo.
4 parâmetro - nome do gráfico, dê o nome que quiser.
5 e 6 parâmetros – respectivamente largura e altura do gráfico na tela, altere como quiser.

Simples não?

Segundo exemplo
- Usando/concatenando uma váriavel PHP para gerar o XML

<script language=”javascript” src=“charts/fusioncharts.js”></script>
<?php
$strXML = “<graph xAxisName=’Meses’ yAxisName=’Acessos’>“;
$strXML .= “<set name=’Jan’ value=’462′ color=’AFD8F8′ />“;
$strXML .= “<set name=’Fev’ value=’857′ color=’F6BD0F’ />“;
$strXML .= “<set name=’Mar’ value=’671′ color=’8BBA00′ />“;
$strXML .= “<set name=’Abr’ value=’494′ color=’FF8E46′/>“;
$strXML .= “<set name=’Mai’ value=’761′ color=’008E8E’/>“;
$strXML .= “<set name=’Jun’ value=’960′ color=’D64646′/>“;
$strXML .= “<set name=’Jul’ value=’629′ color=’8E468E’/>“;
$strXML .= “<set name=’Ago’ value=’622′ color=’588526′/>“;
$strXML .= “<set name=’Set’ value=’376′ color=’B3AA00′/>“;
$strXML .= “<set name=’Out’ value=’494′ color=’008ED6′/>“;
$strXML .= “<set name=’Nov’ value=’761′ color=’9D080D’/>“;
$strXML .= “<set name=’Dez’ value=’960′ color=’A186BE’/>“;
$strXML .=  “</graph>“;
include(“includes/FusionCharts.php“);
echo renderChart(“charts/FCF_Line.swf“, “”, $strXML, “chart1“, 600, 300);
?>

Notem que as mudanças são:

- Ao invés de utilizarmos um arquivo XML, nós criamos e concatenamos a variável strXML com os valores requeridos no arquivo XML, como podem ver a estrutura do XML não muda, temos o atributo name que se refere à coluna o value que corresponde à altura da barra no gráfico e color que possui a cor em hexadecimal da barra.

- Já na função renderChart, o  segundo parâmetro está vazio e o terceiro possui a variável strXML assim como comentei mais acima, relembrando…

O segundo parâmetro é vazio quando passamos à função renderChart uma váriável php e o terceiro parâmetro é vazio quando passamos um arquivo XML.

Notem também que o nome do arquivo flash informado no primeiro parâmetro mudou, isso pq o FC dispoem de diversos tipos de gráficos que utilizam a mesma estrutura XML, deem uma vasculhada nos exemplos contidos na documentação do FC para ver os tipos de gráficos disponíveis. O arquivo flash utilizado neste exemplo irá gerar exatamente o gráfico abaixo:

clique para ampliar

clique para ampliar

Quando os gráficos que são gerados eles são animados, daí o flash. O FC É perfeito e estamos falando apenas das funções básicas da versão free, se quiserem se impressionar ainda mais olhem a versão comercial do FC, é de brilhar os olhos! ;)

Links:

FusionCharts vs. free:  http://www.fusioncharts.com/free/Download.asp?gMenuItemId=5

Nosso exemplo em ação e mais tipos de gráficos com o mesmo XML:  Exemplo

Tá legal, foi fácil entender o exemplo mas vocês terão que estruturar os diretórios como mostrei para que esses códigos do exemplo possam funcionar, a dica que dou é …

Baixe o FC e explore sua estrutura de arquivos. Verá que você não precisa fazer exatamente como eu fiz, teste os exemplos contidos no pacote mesmo. Se quiser a que eu modifiquei apenas para testes do exemplo acima, deixe um comentário aí que te mando por email, não quero colocar o link aqui! Mas não deixe de baixar o pacote completo do FC.

Últimas considerações:

- Se pretende colocar seu exemplo em um servidor linux não esqueça que o Linux entende FusionCharts e fusioncharts como 2 diretórios diferentes, ou seja, digamos que ele é CaSe sEnSiTiVe.

- Não deixe de explorar os métodos utilizados pela classe PHP, nesse exemplo não trabalhamos com a classe em si e seus métodos como no exemplo do PHPlot !

- Depois me arrisco em um post para mostrar um exemplo utilizando BD. 

Abraços e até mais,

Rafael Clares



Gerando Gráficos com PHP
Agosto 9, 2008, 8:41 pm
Arquivado em: PHP | Tags: , , ,

Gráficos utilizando a Classe PHPlot

Pessoal, blz ai né?

Galerinha, vou apresentar hoje o PHPLot, uma classe bacana para criar gráficos em nossas aplicações PHP !

Vou começar dando alguns exemplos básicos da necessidade de se gerar gráficos na aplicação.

* Mostrar estatísticas de acesso diário/mensal/anual de um sistema on-line.
Consumo de itens em uma dada categoria.
* Estatísticas de venda de produtos através da internet.
* Contatos por categoria (dúvidas, vendas, financeiro …)

Enfim, dados de entrada e saída que precisam ser acompanhados e analisados.

Aqui será apresentado o código necessário para gerar o gráfico na tela, não iremos, ao menos neste post, ver como pegar os dados dinâmicamente do banco e gerar o gráfico. Eu estou trabalhando em um projeto que deverá conter esse recurso, então fiz de acordo com as necessidades da aplicação no projeto.

Então, entraremos com os dados pré-definidos requeridos como parâmetros da classe PHPLot.

O gráfico que iremos gerar irá mostrar os usuários cadastrados em um sistema qualquer, exibiremos três barras para cada mês do ano, cada barra representará uma categoria de usuário e a quantidade de ocorrências de cadastro naquele mês.

Primeiramente, vamos ver como o código é estruturado:

<?php
#incluindo a classe. verifique se diretorio e versao sao iguais, altere se precisar
include(‘phplot-5.0.4/phplot.php’);
#Matriz utilizada para gerar os graficos
$data = array(
  array(‘Jan‘, 20, 2, 4), array(‘Fev‘, 30, 3, 4), array(‘Mar‘, 20, 4, 14),
  array(‘Abr‘, 30, 5, 4), array(‘Mai‘, 13, 6, 4), array(‘Jun‘, 37, 7, 24),
  array(‘Jul‘, 10, 8, 4), array(‘Ago‘, 15, 9, 4), array(‘Set‘, 20, 5, 12),
  array(‘Out‘, 28, 4, 14), array(‘Nov‘, 16, 7, 14), array(‘Dez‘, 24, 3, 15),
);
#Instancia o objeto e setando o tamanho do grafico na tela
$plot = new PHPlot(800,600);
#Tipo de borda, consulte a documentacao
$plot->SetImageBorderType(‘plain‘);
#Tipo de grafico, nesse caso barras, existem diversos(pizza…)
$plot->SetPlotType(‘bars‘);
#Tipo de dados, nesse caso texto que esta no array
$plot->SetDataType(text-data);
#Setando os valores com os dados do array
$plot->SetDataValues($data);
#Titulo do grafico
$plot->SetTitle(‘Cadastro de usuários no Site‘);
#Legenda, nesse caso serao tres pq o array possui 3 valores que serao apresentados
$plot->SetLegend(array(‘Estudantes‘,’Colunistas‘, ‘Desenvolvedores‘));
#Utilizados p/ marcar labels, necessario mas nao se aplica neste ex. (manual) :
$plot->SetXTickLabelPos(‘none‘);
$plot->SetXTickPos(‘none‘);
#Gera o grafico na tela
$plot->DrawGraph();
?>

O código acima irá gerar exatamento o gráfico como no exibido na figura abaixo:

A começar pelo Array $data, perceba que ele recebe 4 valores, isso é uma divergência à informação passada mais acima, mas calma, vou explicar. São 4 valores, o primeiro recebe uma string que se refere ao mês, o segundo valor recebe a quantidade de ocorrências para a categoria 1, o segundo recebe a quantidade de ocorrências para a categoria 2, o terceiro recebe a quantidade de ocorrências para a categoria 3.

Então, fora o mês temos 3 valores, opa agora sim ta fazendo sentido o que falei lá em cima. Bem, claro que você pode utilizar quantos valores quiser no seu array vai depender de sua necessidade!

Um outro ponto à ser considerado neste exemplo é a linha:

$plot->SetLegend(array(‘Estudantes’,'Colunistas’, ‘Desenvolvedores’));

Perceba que o método recebe um array com 3 valores, certo até ai não é?

continue nessa linha de raciocinio… O array recebe 3 valores que irão representar justamente os valores das 3 barras que serão geradas, lembra? 3 barras no array $data, 1 barra para cada categoria! lembrou né!!

Então, acontece que o array passado pelo método SetLegend precisa estar em ordem em relação os valores que você quer representar nas 3 barras, por exemplo:

Imagine esse array ->  (‘Janeiro’,10,20,30)

Bem, como dito antes o primeiro valor do array não será representado, trata-se apenas da legenda para as 3 barras do mês de Janeiro. Assim concluímos que, teremos uma barra com altura 10, outra com altura 20 e a última com altura 30. Então vamos voltar ao método SetLegend(), os valores do array passado por esse método irão representar as cores das barras, vamos unir as duas linhas em questão.

1 -(‘Janeiro’, 10, 20, 30)
2 -SetLegend(array(‘Estudantes’,'Colunistas’, ‘Desenvolvedores’))

 Agora, tente visualizar o Estudantes = 10, Colunistas = 20 e Desenvolvedores = 30.

Sacou né? Por isso que você deve prestar atenção na ordem das legendas, parece bobeira mas se você acidentalmente inverter as posições seu sistema não servirá de nada além de apresentar os dados incorretos para o usuário fazendo-o tomar decisões erradas. É sempre bom nos atentarmos à estes detalhes, eles fazem toda a diferença, literalmente!  ;)

Importante!

Cada arquivo como o do exemplo acima gera o gráfico retornando como uma imagem, ou seja, você não adiciona textos ou conteúdo adicional à este arquivo. Para utilizar em meio à outras páginas com conteúdos você pode fazer como descrito abaixo.

Supondo que seus gráficos são gerados pelos arquivos grafico1.php  e grafico2.php, você pode cirar um novo arquivo .php (ou qualquer outro já existente) e inserir as linhas abaixo:

<p>Gráfico 1</p>
<img src=”grafico1.php” />
<p>Gráfico 2</p>
<img src=”grafico2.php” />

 

Algumas considerações:
O PHPlot não se resume apenas à gráficos em barras, ele permite gerar gráficos desde gráficos pizza até os mais complexos gráficos. As cores também podem ser setadas como parâmetro.

Dê uma boa olhada na documentação.

Links:
A Classe PHPlot em  http://sourceforge.net/projects/phplot/

A documentação do PHPlot deve estar contida no pacote, caso contrário http://www.jeo.net/php/phplot/doc/

O Exemplo (não inclui todos os arquivos do PHPlot e docs)
download exemplo

Galerinha, vai terminando por aqui, se quiserem ver como gerar gráficos à partir de uma tabela do banco de dados, peçam aí por comentário que escreverei com muito prazer!

Abraços e obrigado pelos comentários que vocês tem deixado aí, são todos motivadores!  ;)

Rafael Clares



Strings de conexão
Agosto 9, 2008, 4:36 am
Arquivado em: PostgreSql, SQL & .NET, Webtools | Tags: , ,

Olá, irei falar sobre um problema comum à todos nós que estamos começando no mundo da programação. Em diversas vezes já me deparei com o problema de ter que criar uma pequena aplicação específica para incorporar uma já existente, acontece que as vezes o banco de dados utilizado na aplicação existente não é o que costumamos utilizar em nosso dia-a-dia, então nos surge a pequena e mais dificil pergunta:

Como me conecto à esse banco de dados? Qual string devo utilizar, quais parâmetros devem ser informados?

Então para não perdermos mais tempo um cara bem legal teve a brilhante idéia de reunir as strings de conexão dos mais conhecidos bancos de dados que utilizamos hoje em dia.

É possível visualizar todas as formas (obdc, string, etc) de conexão para o banco de dados em questão.

Vamos lá, visite o site connectionstrings e seja feliz!!!

Link: http://connectionstrings.com/

Até logo,

Rafael Clares



Icones para web
Agosto 9, 2008, 4:18 am
Arquivado em: Webtools | Tags: , , ,

Pessoal, seguindo a idéia do primeiro post na categoria Webtools, estou deixando aí a dica para quem está procurando ícones para utilizar em aplicações web. Trata-se dos conhecidos ícones que utilizamos em alternativa para os botões editar, excluir, adicionar, mail, home, etc ….

Existe um cara chamado Iconfinder que permite buscar e encontrar os mais diversos ícones no formato PNG a maioria em diversos tamanhos que já conhecemos (16,32, 64 e 128 pixels) para utilizarmos em nossas aplicações.

A utilização de ícones, de fato torna a aplicação bem mais intuitiva, uma vez que o usuário precisa excluir, por exemplo um registro, é muito mais fácil ele encontrar um ícone com um X vermelho do que encontrar a palavra remover, claro que isso deve ser utilizado de forma moderada, ninguém sai lendo ícones certo? ;)

Então façam bom proveito do vasto material disponibilizado no Iconfinder e até logo.

Link: http://www.iconfinder.net

Rafael Clares



Imagens para Ajax
Agosto 9, 2008, 4:04 am
Arquivado em: Webtools | Tags: , , ,

Olá galera, estou iniciando uma nova categoria aqui,  webtools que vai mostrar algumas ferramentas on-line.

Vamos tentar facilitar um pouca nossa vida, tentarei disponibilizar algumas dicas e links para ferramentas que julgo úteis para nós no desenvolvimento de aplicações web.

Quem nunca saiu que nem um louco procurando imagens para load do ajax no google que atire a primeira tag !

Então segue o link do Ajaxload, um pequeno e útil sistema que gera as imagens para nós. É possível escolher o formato e cor da imagem e fundo.

Link: http://www.ajaxload.info/

Alguns exemplos:



Enviando email autenticado – PHP5
Agosto 8, 2008, 1:36 am
Arquivado em: PHP | Tags: , , , , ,

Email Autenticado com PHP5 – Classe PHPMailer

Olá, galera recentemente passei por um problemão com os sites de clientes, devido à troca de host que eu utilizava para hospedar os sites de meus clientes eu acabei me deparando com uma falha (minha) muito grande!

Eu utilizava um script para envio de email que não utilizava autenticação e após a troca de host para outro que apenas enviava email autenticado os clientes acabaram ficando 2 dias sem receber email e dei sorte em perceber pq o script retornava sucesso ao enviar. Então acabei tendo que mudar em todos os clientes, embora eu soubesse da importância de se enviar email utilizando a autenticação nunca tinha notado a necessidade. É de conhecimento que os email enviados sem autenticação podem ser reportados como SPAM, poxa pq eu não pensei nisso antes…. Mas valeu a necessidade que trouxe a experiência e agora compartilho com vocês! ;)

Utilizaremos a Classe PHPMailer – download (classe)

Algumas vantagens (existem dezenas):

* Você pode enviar email de sua aplicação local, isso mesmo, pode testar localmente, isso pq ele utilizará a autenticação no seu servidor smtp. Então se você não tem o servidor de email instalado na sua máquina poderá testar sem precisar subir os arquivos para o dominio!

* Envia Email em formato HTML ou TEXTO!

* Envia anexos de forma muito simples (imagens, zip, rar, etc…)

Que tal o velho e bom HTML ? 

<html>
<head>
<title>contato</title>
</head>
<body>
 <form name="contato" id="contato" action="contato.php" method="post">
 <input type="text" name="nome" id="nome">
 <input type="text" name="email" id="email">
 <textarea name="mensagem" id="mensagem"></textarea>
 <input type="submit" name="btn_enviar" id="btn_enviar" value="mandar bala">
</body>
</html>

OK? um formulário super-ultra-power-rangers de simples não? mas servirá bem!

Olha o PHP ai !!! Salve-o como contato.php

 
Isso é tudo! Basta adaptarem às suas necessidades (outros campos, ajax, get …)

<?
#inclui a classe PHPMAILER
include("phpmailer/class.phpmailer.php");
#instancia o objeto
$mail = new PHPMailer();
#enviar via SMTP
$mail->IsSMTP();
#seu servidor smtp / dominio no meu caso "mail" mas pode mudar verifique o seu!
$mail->Host = "smtp.SEUDOMINIO.com.br";
#habilita smtp autenticado
$mail->SMTPAuth = true;
#usuário deste servidor smtp. Aqui esta a solucao
$mail->Username = "seuEmail@SEUDOMINIO.com.br";
$mail->Password = "123456"; // senha
#email utilizado para o envio, pode ser o mesmo de username
$mail->From = "eMail@SEUDOMINIO.com.br";
$mail->FromName = "NOME DE EXIBICAO";

#Enderecos que devem receber a mensagem
$mail->AddAddress("seuEmail@SEUDOMINIO.com.br","Vendas");
$mail->AddAddress("outroEmail@SEUDOMINIO.com.br","Financeiro");
#wrap seta o tamanhdo do texto por linha
$mail->WordWrap = 50;
#anexando arquivos no email (supondo estar no mesmo diretorio)
$mail->AddAttachment("arquivo.zip");
$mail->AddAttachment("foto.jpg");
$mail->IsHTML(true); //enviar em HTML

#recebendo os dados do formulario
if(isset($_POST['nome'])){
 $nome    = $_POST['nome'];
 $email    = $_POST['email'];
 $mensagem   = $_POST['mensagem'];
 #informando a quem devemos responder. o mail inserido no formulario
 $mail->AddReplyTo("$email","$nome");
 #criando o codigo html para enviar no email, voce pode utilizar qualquer tag html
 $msg  = "Contato Site";
 $msg .= " Nome: $nome\n";
 $msg .= " E-mail: $email\n";
 $msg .= " Mensagem: $mensagem\n";
 }

$mail->Subject = "ASSUNTO DO EMAIL";
#adicionando o html no corpo do email
$mail->Body = $msg;
#enviando e retornando o status de envio
if(!$mail->Send())
{
echo "houve um erro ao  enviar o email! erro: $mail->ErrorInfo";
#$mail->ErrorInfo informa onde ocorreu o erro, o uso opcional
exit;
}
echo "Mensagem enviada ok";
?>
 

Bem, acho que não tem tanto para explicar devido aos comentários no código, porém….

Como sempre (garoto bonzinho), estou à disposição para as eventuais dúvidas que surgirem.

Só uma dica, como eu não sei a senha dos emails dos clientes, claro, somente do cpanel, resolvi criar para todos uma conta de email (adicional) padrão para utilizar na autenticação do script.

Dúvido que você queira fazer o download de tudo já pronto, mas de toda forma está ai! ;)

download (exemplo)

Se sua versão do PHP for PHP 4, baixe o arquivo do link abaixo e substitua os do pacote padrão que disponibilizei por estes. Link    http://clareslab.com.br/learn/mail/php4.rar

seu email é yahoo? 

entre no email, clique em opções, Acesso POP e Redirecionamento, marque a opção Web e Acesso POP e clique em salvar. como abaixo:

 

ATENÇÃO!!!
ESSE CÓDIGO FOI ESCRITO PARA SER UTILIZADO NA VERSAO QUE DISPONIBILIZEI AQUI DO PHPMAILER
ATENTEM-SE À ISSO, TALVEZ NUMA VERSÃO DIFERENTE HAJA OUTROS PARÂMETROS À SER CONFIGURADOS OU OMITIDOS.

NO PHP.INI DESCOMENTE A LINHA  EXTENSION=PHP_OPENSSL.DLL 

CONFIRME COM SEU HOST O ENDEREÇO DO SERVIDOR SMTP

FAÇA TESTES LOCAIS E ON-LINE

 

IMPORTANTE:
ALGUMAS PESSOAS NÃO ESTÃO CONSEGUINDO ENVIAR O EMAIL DEVIDO À UM ERRO NO  ENDEREÇO SMTP, NESTE CASO UTILIZE LOCALHOST NO LUGAR DO SMTP.DOMINIO.COM.BR. EX:

$mail->Host = “localhost“ 

Obs:  No meu caso ocorria esse problema também.

 

Abraços,

Rafael Clares



Driver do SQL Server 2005 para PHP!
Agosto 8, 2008, 12:40 am
Arquivado em: PHP, SQL & .NET | Tags: , , ,

A versão 1.0 do driver do SQL Server 2005 para PHP já está disponível para download. Este novo driver facilita o desenvolvimento de aplicações PHP utilizando o SQL Server. Um importante destaque para o comprometimento da Microsoft em garantir a interoperabilidade de sua plataforma e suportar a comunidade PHP, disponibilizando o código fonte completo através do site Microsoft CodePlex. 

 Abaixo mais informações sobre o Driver do SQL Server 2005 para PHP: 

Fonte: Blog do Time de SQL Server Brasil