<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Felipe Tonello &#187; XHTML</title>
	<atom:link href="http://felipetonello.com/blog/category/web/xhtml/feed/" rel="self" type="application/rss+xml" />
	<link>http://felipetonello.com/blog</link>
	<description>Compartilhe, ajude e cresça</description>
	<lastBuildDate>Thu, 29 Jul 2010 20:35:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>ValeTI &#8211; Portal de empregos de TI feito em django</title>
		<link>http://felipetonello.com/blog/2010/01/09/valeti-portal-de-empregos-de-ti-feito-em-django/</link>
		<comments>http://felipetonello.com/blog/2010/01/09/valeti-portal-de-empregos-de-ti-feito-em-django/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 14:11:19 +0000</pubDate>
		<dc:creator>Felipe Tonello</dc:creator>
				<category><![CDATA[Django]]></category>
		<category><![CDATA[Projetos]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://felipetonello.com/blog/?p=250</guid>
		<description><![CDATA[Olá pessoal, Depois de um bom tempo sem postar estou de volta para anunciar um portal que fiz. O ValeTI. É basicamente um portal de anúncios de emprego de TI na região do Vale do Paraíba. Para desenvolve-lo eu segui basicamente a idéia de desenvolvimento. Ser simples, claro e genérico. Por isso fiz bom uso de [...]]]></description>
			<content:encoded><![CDATA[<p>Olá pessoal,</p>
<p>Depois de um bom tempo sem postar estou de volta para anunciar um portal que fiz. O <a title="ValeTI - Empregos de TI no Vale do Paraíba" href="http://valeti.com.br">ValeTI</a>. É basicamente um portal de anúncios de emprego de TI na região do <a href="http://pt.wikipedia.org/wiki/Vale_do_Para%C3%ADba">Vale do Paraíba</a>.</p>
<p>Para desenvolve-lo eu segui basicamente a idéia de desenvolvimento. <a title="The Practice of Programming" href="http://books.google.com/books?id=to6M9_dbjosC&amp;amp;dq=the+practice+of+programming&amp;printsec=frontcover&amp;source=bn&amp;hl=en&amp;ei=dNpGS6mMGoGutgfd-fz0AQ&amp;sa=X&amp;oi=book_result&amp;ct=result&amp;resnum=4&amp;ved=0CBYQ6AEwAw#v=onepage&amp;q=&amp;f=false">Ser simples, claro e genérico</a>. Por isso fiz bom uso de <a href="http://python.org">Python</a> e <a href="http://djangoproject.com">Django</a>.</p>
<p>Fiquei impressionado com o Django. É realmente uma ferramenta impressionante. Super fácil de usar, completa e muito genérica.</p>
<p>Taí a dica. Agora nesse ano de 2010 voltarei com meus posts de artigos e tutoriais. O ano de 2009 foi muito corrido e não deu para fazer nada praticamente devido ao vestibular.</p>
]]></content:encoded>
			<wfw:commentRss>http://felipetonello.com/blog/2010/01/09/valeti-portal-de-empregos-de-ti-feito-em-django/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Engatinhando com AJAX e PHP. Parte 2</title>
		<link>http://felipetonello.com/blog/2007/01/20/engatinhando-com-ajax-e-php-parte-2/</link>
		<comments>http://felipetonello.com/blog/2007/01/20/engatinhando-com-ajax-e-php-parte-2/#comments</comments>
		<pubDate>Sat, 20 Jan 2007 16:29:16 +0000</pubDate>
		<dc:creator>Felipe Tonello</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://felipetonello.com/blog/2007/01/20/engatinhando-com-ajax-e-php-parte-2/</guid>
		<description><![CDATA[Nesse tutorial vamos fazer nosso primeiro exemplo de AJAX + PHP. Vamos usar primeiramente o XMLHttp GET Request. Quem não viu ainda, a parte 1 do tutorial você encontra aqui mesmo. [update 03/10/07] Parte 1 do tutorial AJAX + PHP Parte 3 do tutorial AJAX + PHP [/update] Bora lá!! Criando o Objeto XMLHttp Vamos [...]]]></description>
			<content:encoded><![CDATA[<p>Nesse tutorial vamos fazer nosso primeiro exemplo de AJAX + PHP.<br />
Vamos usar primeiramente o <em>XMLHttp GET Request</em>.</p>
<p>Quem não viu ainda, a parte 1 do tutorial você encontra <a href="/blog/2006/11/14/engatinhando-com-ajax-e-php-parte-1/" title="Engatinhando com AJAX e PHP. Parte 1">aqui mesmo</a>.</p>
<p>[update 03/10/07]<br />
<a href="/blog/2006/11/14/engatinhando-com-ajax-e-php-parte-1/" title="Engatinhando com AJAX e PHP. Parte 1">Parte 1 do tutorial AJAX + PHP</a><br />
<a href="/blog/2007/10/01/engatinhando-com-ajax-e-php-parte-3/" title="Engatinhando com AJAX e PHP. Parte 3">Parte 3 do tutorial AJAX + PHP</a><br />
[/update]</p>
<p>Bora lá!!</p>
<blockquote><p><strong>Criando o Objeto XMLHttp</strong></p></blockquote>
<p>Vamos mexer um pouco no JavaScript para criar a requisição.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> criaXMLHttp<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
 <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">typeof</span> XMLHttpRequest <span style="color: #339933;">!=</span> <span style="color: #3366CC;">&quot;undefined&quot;</span><span style="color: #009900;">&#41;</span>
 	<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">new</span> XMLHttpRequest<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>window.<span style="color: #660066;">ActiveXObject</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
 	<span style="color: #003366; font-weight: bold;">var</span> versoes <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span><span style="color: #3366CC;">&quot;MSXML2.XMLHttp.5.0&quot;</span><span style="color: #339933;">,</span>
 	<span style="color: #3366CC;">&quot;MSXML2.XMLHttp.4.0&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;MSXML2.XMLHttp.3.0&quot;</span><span style="color: #339933;">,</span>
 	<span style="color: #3366CC;">&quot;MSXML2.XMLHttp&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;Microsoft.XMLHttp&quot;</span>
 	<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span>
 <span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> i <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> versoes.<span style="color: #660066;">length</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
 	<span style="color: #000066; font-weight: bold;">try</span><span style="color: #009900;">&#123;</span>
 		<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">new</span> ActiveXObject<span style="color: #009900;">&#40;</span>versoes<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 	<span style="color: #009900;">&#125;</span><span style="color: #000066; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span>e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span>
 <span style="color: #009900;">&#125;</span>
 <span style="color: #000066; font-weight: bold;">throw</span> <span style="color: #003366; font-weight: bold;">new</span> Error<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Seu browser nao suporta AJAX&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Primeiro ela testa se o browser suporta o XMLHttpRequest e cria se o suportar.. se não ele cria um array com várias versões do XMLHttp para browsers mais antigos(IE). E fica em um loop até conseguir criar um objeto, se não criar nenhum ele retorna a mensagem de erro.<br />
Resumindo: a função testa as possibilidades do browser de criar o objeto XMLHttp. Se for o IE 6.0 ele cria o MSXML2.XMLHttp.5.0 e assim por diante.</p>
<blockquote><p><strong>Usando o XMLHttp</strong></p></blockquote>
<p>O objeto XMLHttp tem um método que a mais imporante, a <em>open()</em>. Ela tem 3 parâmetros que precisamos saber:</p>
<ul>
<li><strong>Tipo da </strong>requisição: sintrg que indique o tipo: get ou post</li>
<li><strong>URL</strong>: string com a url que você quer fazer a requisição</li>
<li><strong>Async</strong>: boolean que indica se o modo da requisição seja feito assincronamente(não sei escrever essa palavra <img src='http://felipetonello.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  )</li>
</ul>
<p>O ultimo parâmetro é o mais importante.. ele que vai dizer se a sua requisição é AJAX mesmo ou não. Se ele for <em>true</em>, a requisição é feita em tempo real. Já se você colocar <em>false</em>, a requisição é feita e o resto da página só é loadada quando a requisição retornar algo ou terminar.<br />
Exemplo:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> XMLHttp <span style="color: #339933;">=</span> criaXMLHttp<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
XMLHttp.<span style="color: #000066;">open</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;get&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;info.txt&quot;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Outro evento importante no XMLHttp é o <em>onreadystatechange</em>. O XMLHttp tem uma propriedade chamada <em>readyState</em> que muda conforme a requisição é recebida. Existem 5 estados para o <em>readyState</em>:</p>
<ul>
<li><strong>0(Não Iniciado)</strong>: O Objeto foi criado mas o método <em>open()</em> não foi chamado ainda.</li>
<li><strong>1(Carregando)</strong>: O método <em>open()</em> foi chamado mas a requisição não foi enviada ainda.</li>
<li><strong>2(Carregado)</strong>: A requisição foi enviada.</li>
<li><strong>3(Incompleto)</strong>: Uma parte da resposta do servidor foi recebida.</li>
<li><strong>4(Completo)</strong>: Todos as informações foram recebidas e a conexão foi fechada com sucesso.</li>
</ul>
<p>Toda vez que a propriedade do <em>readyState</em> for mudada, o evento <em>onreadystatechange</em> é disparado. Por causa das diferentes implementações dos browsers, a propriedade do <em>readyState</em> não funciona corretamente em todos os browsers. O unico modo para cross-browser é usando o valor 0, 1 e 4 para o <em>readyState</em>. Mas na maioria dos casos você usará apenas o estado 4 mesmo.<br />
Depois de tudo isso temos que realmente enviar a requisição com o método <em>send()</em>. Quando utilizamos a requisição por GET nós não precisamos passar nenhum parâmetro no <em>send()</em>. Depois quando vermos com POST aí iremos usar mais profundamente. <img src='http://felipetonello.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Exemplo:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> XMLHttp <span style="color: #339933;">=</span> criaXMLHttp<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
XMLHttp.<span style="color: #000066;">open</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;get&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;info.txt&quot;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
XMLHttp.<span style="color: #660066;">onreadystatechange</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
 <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>XMLHttp.<span style="color: #660066;">readyState</span> <span style="color: #339933;">==</span> <span style="color: #CC0000;">4</span><span style="color: #009900;">&#41;</span>
 	<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;EEE primeiro teste com AJAX!! :)&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
XMLHttp.<span style="color: #660066;">send</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Tá bom, mas e agora? Enviei tudo, recebi e pronto. Cadê minha informação?<br />
Ta certo, agora é bem simples, existe uma propriedade no XMLHttp que ele tem o retorno do http request, o responseText(no nosso caso, poderia ser responseXML). Lembram da primeira parte do tutorial? Então, agora vamos usar ela.<br />
Primeiro vamos testar se a informação retornada veio com sucesso (200). Para testarmos o status do retorno existe a propriedade status do XMLHttp. Tudo muito simples não? Então olha o exemplo:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>XMLHttp.<span style="color: #000066;">status</span> <span style="color: #339933;">==</span> <span style="color: #CC0000;">200</span><span style="color: #009900;">&#41;</span>
	<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;O retorno foi: &quot;</span> <span style="color: #339933;">+</span> XMLHttp.<span style="color: #660066;">responseText</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000066; font-weight: bold;">else</span>
	<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;O retorno foi: &quot;</span> <span style="color: #339933;">+</span> XMLHttp.<span style="color: #660066;">statusText</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Beleza. Até aí vimos exemplo bem bobos, apenas para intendermos como funciona as coisas.<br />
Agora sim vamos ver como fica uma aplicação com AJAX e PHP.</p>
<p>Já temos a função que retorna o Objeto XMLHttp, então vamos fazer a partir dela.<br />
Agora vamos para o código HTML.<br />
Criamos duas <em>divs</em>. Uma vai exibir o resultado e outra vai ser o campo onde você coloca o id para fazer a pesquisa.</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;resultado&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
&nbsp;
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;lerid&quot;</span>&gt;</span>
Id: <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;id&quot;</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;id&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;OKA!!&quot;</span> <span style="color: #000066;">onclick</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;lerId()&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;button&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>

<p>Agora, na função <em>lerId()</em> temos que pegar o valor do <em>campo id</em> e enviar ele na requisição usando GET e depois disso, recebemos o valor e exibimos na <em>div resultado</em>.<br />
Fica assim:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> lerId<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> id <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;id&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">value</span><span style="color: #339933;">;</span>
	<span style="color: #003366; font-weight: bold;">var</span> divInfo <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;resultado&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #003366; font-weight: bold;">var</span> XMLHttp <span style="color: #339933;">=</span> criaXMLHttp<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	XMLHttp.<span style="color: #000066;">open</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;get&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;lerId.php?id=&quot;</span> <span style="color: #339933;">+</span> id<span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	XMLHttp.<span style="color: #660066;">onreadystatechange</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>XMLHttp.<span style="color: #660066;">readyState</span> <span style="color: #339933;">==</span> <span style="color: #CC0000;">4</span><span style="color: #009900;">&#41;</span>
			<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>XMLHttp.<span style="color: #000066;">status</span> <span style="color: #339933;">==</span> <span style="color: #CC0000;">200</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				divInfo.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> XMLHttp.<span style="color: #660066;">responseText</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
				divInfo.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;Um erro ocorreu&quot;</span> <span style="color: #339933;">+</span> XMLHttp.<span style="color: #660066;">statusText</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
	XMLHttp.<span style="color: #660066;">send</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Como já vimos como funciona a requisição XMLHttp não vamos ter muita dificuldade de entender essa. A unica diferença com o exemplo é que nós passamos um parâmetro para a página <em>pegaId.php</em> e exibir o resultado no <em>div resultado</em>.</p>
<p>Agora vamos criar a página pegaId.php que irá ler o id enviado pela requisição Http e retornar o status.<br />
<strong>lerId.php:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #666666; font-style: italic;">// mudamos o tipo de arquivo.. ao invez de php irá retornar um texto normal</span>
<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Content-Type: text/plain&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// recebe o id que veio pelo parametro usando o método GET</span>
<span style="color: #000088;">$id</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;id&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$resultado</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// isso agora é um exemplo, você tem que aplicar a conexão e a consulta sql à sua necessidade</span>
<span style="color: #000088;">$BDUsuario</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;seu usuario ou root&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$BDSenha</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;senha do usuario&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$BDServidor</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;localhost normalmente ou o servidor de banco de dados&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$BancoDeDados</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;nome do seu banco de dados&quot;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">mysql_connect</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$BDServidor</span><span style="color: #339933;">,</span> <span style="color: #000088;">$BDUsuario</span><span style="color: #339933;">,</span> <span style="color: #000088;">$BDSenha</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">mysql_select_db</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$BancoDeDados</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$sql</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;SELECT * FROM tabela WHERE id = &quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$id</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$resultado</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$mysql_fetch_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sql</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #000088;">$resultado</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;ID Encontrado
	<span style="color: #000099; font-weight: bold;">\n</span>
	Nome: &quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$resultado</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'nome'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$resultado</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Agora o seu primeiro programa com AJAX está escrito.. bem simples não?<br />
Ele só recebe o id que veio por GET, procura no banco de dados, e exibe o nome da pessoa referente ao id(exemplo apenas)..<br />
A unica coisa que pode ficar meio no ar é a questão do <em>header</em> e do <em>echo</em> no final. O header serve para fazer com que o retorno do arquivo fique em formato texto e não em outro tipo(como html, php). Pois nós usamos o XMLHttp.responseText. Se você colocar alguma tag html, na pagina principal, onde o script é rodado, irá funcionar o html, pois a página é html. Agora se você rodar o lerId.php ele irá exibir como se fosse um texto normal.<br />
O echo serve apenas para exibir o resultado. Todo o resultado que você quer que seja exibido no cliente você tem que exibir em seu script php, pois o XMLHttp.responseText pega justamente o que a página php(server-side) exibe, no caso um texto.</p>
<p>Terminamos por hoje nossa aula de AJAX com PHP parte 2.</p>
<p><a href="/blog/2007/10/01/engatinhando-com-ajax-e-php-parte-3/" title="Engatinhando com AJAX e PHP. Parte 3">Na proxima aula vamos ver como funciona a requisição pelo método POST.</a></p>
<p>Dúvidas podem comentar.</p>
<p>Abraços</p>
]]></content:encoded>
			<wfw:commentRss>http://felipetonello.com/blog/2007/01/20/engatinhando-com-ajax-e-php-parte-2/feed/</wfw:commentRss>
		<slash:comments>37</slash:comments>
		</item>
		<item>
		<title>Exame XHTML &#8211; Teste Seus Conhecimentos</title>
		<link>http://felipetonello.com/blog/2006/04/28/exame-xhtml-teste-seus-conhecimentos/</link>
		<comments>http://felipetonello.com/blog/2006/04/28/exame-xhtml-teste-seus-conhecimentos/#comments</comments>
		<pubDate>Sat, 29 Apr 2006 01:40:29 +0000</pubDate>
		<dc:creator>Felipe Tonello</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://felipetonello.com/blog/2006/04/28/exame-xhtml-teste-seus-conhecimentos/</guid>
		<description><![CDATA[Estava navegando pelo wasabi e estava vendo os feeds de meus friends.. e achei um t&#243;pico interessante no blog do Cosme.. ele criou um teste de XHTML utilizando JS Crossbrowser.. Um teste muito legal, vale a pena conferir! http://www.cosmeweb.com.br/blog/exame-xhtml link do t&#243;pico no Cosme Blog Postem seus resultados!]]></description>
			<content:encoded><![CDATA[<p>Estava navegando pelo <a href="http://www.wasabi.com.br" title="Wasabi (Agregador)">wasabi</a> e estava vendo os feeds de meus friends.. e achei um t&oacute;pico interessante no <a href="http://www.cosmeweb.com.br/blog/" title="Cosme Blog">blog do Cosme</a>.. ele criou um teste de XHTML utilizando <abbr title="JavaScript">JS Crossbrowser</abbr>.. Um teste muito legal, vale a pena conferir!</p>
<p><a href="http://www.cosmeweb.com.br/blog/exame-xhtml" title="Teste XHTML">http://www.cosmeweb.com.br/blog/exame-xhtml </a></p>
<p><a href="http://www.cosmeweb.com.br/blog/2006/03/29/exame-xhtml-teste-seus-conhecimentos/" title="Exame XHTML">link</a> do t&oacute;pico no Cosme Blog</p>
<p>Postem seus resultados!</p>
<p><abbr title="JavaScript"></abbr></p>
]]></content:encoded>
			<wfw:commentRss>http://felipetonello.com/blog/2006/04/28/exame-xhtml-teste-seus-conhecimentos/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
