<?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>Emerson Carvalho &#187; PHP</title>
	<atom:link href="http://www.emersoncarvalho.com/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.emersoncarvalho.com</link>
	<description>Php, Javascript, Flex, MySql, ZendFramework and more...</description>
	<lastBuildDate>Wed, 01 Feb 2012 10:49:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Php/Js Verificar existência de imagem remota</title>
		<link>http://www.emersoncarvalho.com/phpjs-verificar-existencia-de-imagem-remota/</link>
		<comments>http://www.emersoncarvalho.com/phpjs-verificar-existencia-de-imagem-remota/#comments</comments>
		<pubDate>Sun, 16 Oct 2011 15:41:48 +0000</pubDate>
		<dc:creator>@emersonbroga</dc:creator>
				<category><![CDATA[Jquery]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[check image exists]]></category>
		<category><![CDATA[imagem remota]]></category>
		<category><![CDATA[verificar existencia de imagem]]></category>

		<guid isPermaLink="false">http://www.emersoncarvalho.com/?p=175</guid>
		<description><![CDATA[Olá galera, Depois de tanto tempo sem escrever por aqui, hoje vou dar-lhes uma dica muito interessante. O problema era o seguinte, eu tinha a url da imagem, e tinha que verificar se ela existia no servidor (remoto). Pesquisei e encontrei varias formas de fazer isso. Um dos primeiro exemplos que achei foi esse: Problema: [...]]]></description>
			<content:encoded><![CDATA[<p>Olá galera,</p>
<p>Depois de tanto tempo sem escrever por aqui, hoje vou dar-lhes uma<br />
dica muito interessante.</p>
<p>O problema era o seguinte, eu tinha a url da imagem, e tinha que verificar<br />
se ela existia no servidor (remoto).<br />
Pesquisei e encontrei varias formas de fazer isso.<span id="more-175"></span></p>
<p>Um dos primeiro exemplos que achei foi esse:</p>
<pre class="brush: php; title: ; notranslate">
$url=getimagesize(“http://www.google.com/intl/en_com/images/srpr/asdf.png”);

if(!is_array($url))
{
	$default_image =”http://www.google.com/intl/en_com/images/srpr/logo3w.png”;
}
</pre>
<p>Problema: Muito lento.</p>
<p>Outro exemplo:</p>
<pre class="brush: php; title: ; notranslate">
function is_webfile($webfile)
{
 $fp = @fopen($webfile, &quot;r&quot;);
 if ($fp !== false)
  fclose($fp);

 return($fp);
}
is_webfile('http://www.google.com/intl/en_com/images/srpr/asdf.png');
</pre>
<p>Problema: Lento tambem.</p>
<p>Mais um:</p>
<pre class="brush: php; title: ; notranslate">
function checkRemoteFile($url)
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    // don't download content
    curl_setopt($ch, CURLOPT_NOBODY, 1);
    curl_setopt($ch, CURLOPT_FAILONERROR, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    if(curl_exec($ch)!==FALSE)
    {
        return true;
    }
    else
    {
        return false;
    }
}
checkRemoteFile('http://www.google.com/intl/en_com/images/srpr/asdf.png');
</pre>
<p>Problema: Um pouco mais rápido que os demais, mas ainda lento.</p>
<p>Solucão: JAVASCRIPT</p>
<pre class="brush: jscript; title: ; notranslate">
function imagePlaceholder()
{
	//Use o seletor jquery para as imagens que deseja usar o placeholder.
	$(SELETOR_JQUERY).each(function(){
		$(this).error(function() {
			$(this).attr('src', 'http://www.google.com/intl/en_com/images/srpr/logo3w.png');
		});
	});
}
</pre>
<p>Com essa solução em javascript funcionou bem e não deixou o site lento.</p>
<p>Espero que seja util.</p>
<p>Obrigado.</p>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "check image exists";
            bb_bid  = "51002";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_limit = "7";bb_format = "bbc";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.emersoncarvalho.com/phpjs-verificar-existencia-de-imagem-remota/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zend Certified Engineer &#8211; ZCE</title>
		<link>http://www.emersoncarvalho.com/zend-certified-engineer-zce/</link>
		<comments>http://www.emersoncarvalho.com/zend-certified-engineer-zce/#comments</comments>
		<pubDate>Tue, 21 Jun 2011 02:49:18 +0000</pubDate>
		<dc:creator>@emersonbroga</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[architect]]></category>
		<category><![CDATA[certificação]]></category>
		<category><![CDATA[Congratulations]]></category>
		<category><![CDATA[estudos]]></category>
		<category><![CDATA[exame]]></category>
		<category><![CDATA[ipec]]></category>
		<category><![CDATA[pearson vue]]></category>
		<category><![CDATA[phprime]]></category>
		<category><![CDATA[preparatório]]></category>
		<category><![CDATA[prova]]></category>
		<category><![CDATA[Rumo a Certificação]]></category>
		<category><![CDATA[simulados]]></category>
		<category><![CDATA[Yellow Pages]]></category>
		<category><![CDATA[zce]]></category>
		<category><![CDATA[zend]]></category>
		<category><![CDATA[zend certified engineer]]></category>

		<guid isPermaLink="false">http://emersoncarvalho.com/?p=159</guid>
		<description><![CDATA[Agora sou um Zend Certified Engenier &#8211; ZCE! Depois de meses de estudo, finalmente fiz a prova da Pearson Vue e passei! Os estudos começaram em Janeiro/2011, quando decidi fazer o curso preparatório para Certificação com o professor Diego H. Oliveira na Phprime. Depois disso fiz alguns simulados que havia comprado na php&#124;architect e fui [...]]]></description>
			<content:encoded><![CDATA[<p>Agora sou um <a title="Zend Certified Engineer" href="http://www.zend.com/en/services/certification/php-5-certification/" target="_blank">Zend Certified Engenier</a> &#8211; ZCE!</p>
<p>Depois de meses de estudo, finalmente fiz a prova da <a title="Pearson Vue" href="http://www.zend.com/en/services/certification/pearson-vue" target="_blank">Pearson Vue</a> e passei!<span id="more-159"></span><br />
Os estudos começaram em Janeiro/2011, quando decidi fazer o curso preparatório para Certificação com o professor <a title="@diegoholiveira" href="http://diegoholiveira.github.com/" target="_blank">Diego H. Oliveira</a> na <a title="Phprime" href="http://phprime.com.br/curso.php?ac=detalhes&amp;id=9&amp;utm_source=emersoncarvalho&amp;utm_medium=emersoncarvalho&amp;utm_term=emersoncarvalho&amp;utm_content=emersoncarvalho&amp;utm_campaign=emersoncarvalho" target="_blank">Phprime</a>.<br />
Depois disso fiz alguns simulados que havia comprado na <a title="php|archtect" href="http://www.phparch.com/" target="_blank">php|architect</a> e fui estudando aos poucos em casa.</p>
<p>Rapidamente chegou o dia do exame e fui lá na <a title="Ipec" href="http://www.ipec.pro.br/index.php" target="_blank">Ipec</a> pra fazer a prova!</p>
<p>Ao terminar, havia na tela apenas a mensagem &#8220;Congratulations!&#8221;.</p>
<p>E meu <a title="Emerson Carvalho - ZCE" href="http://www.zend.com/en/yellow-pages#show-ClientCandidateID=ZEND016088" target="_blank">nome</a> está nas &#8220;<a title="Yellow Pages" href="http://www.zend.com/en/yellow-pages" target="_blank">Yellow Pages</a>&#8220;&#8230; \o/</p>
<p>Agradeço a todos que me apoiaram, ao <a title="Diego" href="http://diegoholiveira.github.com/" target="_blank">Diego</a> que teve a paciencia de me ajudar a comentar sobre os simulados e tambem ao grupo  &#8220;<a title="Rumo a Certificação PHP" href="http://groups.google.com/group/rumo-a-certificacao-php" target="_blank">Rumo a Certificação PHP</a>&#8221; que diariamente envia perguntas. Agradeço também ao @<a title="Marcos Paulo Corrêa" href="http://twitter.com/marcosmarks" target="_blank">Marcos</a> que em 2008 me falou sobre certificação!</p>
<p>Valeu Galera!</p>
<p>__UPDATE__</p>
<p>Aeee &#8230; meu Certificado Chegou!!!</p>
<p>http://twitpic.com/5j7qnt<br />
<a href="http://www.emersoncarvalho.com/wp-content/uploads/2011/06/zce.jpg"><img class="aligncenter size-medium wp-image-171" title="ZCE" src="http://www.emersoncarvalho.com/wp-content/uploads/2011/06/zce-300x224.jpg" alt="ZCE" width="300" height="224" /></a></p>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "Rumo a Certificação";
            bb_bid  = "51002";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_limit = "7";bb_format = "bbc";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.emersoncarvalho.com/zend-certified-engineer-zce/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Regex: código do video do Youtube</title>
		<link>http://www.emersoncarvalho.com/regex-codigo-do-video-do-youtube/</link>
		<comments>http://www.emersoncarvalho.com/regex-codigo-do-video-do-youtube/#comments</comments>
		<pubDate>Fri, 06 May 2011 19:51:14 +0000</pubDate>
		<dc:creator>@emersonbroga</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[codigo]]></category>
		<category><![CDATA[expressao regular]]></category>
		<category><![CDATA[regex]]></category>
		<category><![CDATA[soudev]]></category>
		<category><![CDATA[youtube]]></category>

		<guid isPermaLink="false">http://www.emersoncarvalho.com/?p=137</guid>
		<description><![CDATA[Olá pessoal, Se você já trabalhou com o youtube, provavelmente você precisou de pegar o código do video. Fiz aqui uma expressao regular que atende algumas das possíveis urls do yoube que podem conter esses códigos. A regex seria Para usar de forma a pegar todos os códigos de vídeo de uma string, sem que [...]]]></description>
			<content:encoded><![CDATA[<p>Olá pessoal,<br />
Se você já trabalhou com o youtube, provavelmente você precisou de pegar o código do video.<br />
<img src="http://www.emersoncarvalho.com/wp-content/uploads/2011/05/youtube-url1.png" alt="Youtube URL" title="" width="350" height="38" class="aligncenter size-full wp-image-138" /><br />
<span id="more-137"></span><br />
Fiz aqui uma expressao regular que atende algumas das possíveis urls do yoube que podem conter esses códigos.</p>
<pre class="brush: php; title: ; notranslate">
//Urls possíveis
//http://youtu.be/r9dWsSYStRM
//http://www.youtube.com/watch?v=K7ToNJHgp-w
//http://www.youtube.com/v/dTaD9cd8hvw
//http://www.youtube.com/watch?v=0Tb8Jo11uGo&amp;feature=related
</pre>
<p>A regex seria</p>
<pre class="brush: php; title: ; notranslate">
&quot;/youtu(be.com|.b)(\/v\/|\/watch\\?v=|e\/)(.{11})/&quot;
</pre>
<p>Para usar de forma a pegar todos os códigos de vídeo de uma string, sem que eles se repitam.</p>
<pre class="brush: php; title: ; notranslate">
//Lista de urls
$str = &quot;
//http://youtu.be/r9dWsSYStRM
//http://www.youtube.com/watch?v=K7ToNJHgp-w
//http://www.youtube.com/v/dTaD9cd8hvw
//http://www.youtube.com/watch?v=0Tb8Jo11uGo&amp;feature=related
//http://www.youtube.com/watch?v=0Tb8Jo11uGo
//http://www.youtube.com/watch?feature=player_detailpage&amp;v=6PDmZnG8KsM&quot;;

//Regex
//$regex = &quot;/youtu(be.com|.b)(\/v\/|\/watch\\?v=|e\/)(.{11})/&quot;;

//UPDATE - 22-11-2011
$regex = &quot;#youtu(be.com|.b)(/v/|/watch\\?v=|e/|/watch(.+)v=)(.{11})#&quot;;

preg_match_all($regex , $str, $matches);

if(!empty($matches[4]))
{
	$codigos_unicos = array();
	$quantidade_videos = count($matches[4]);
	foreach($matches[4] as $code)
	{
		if(!in_array($code,$codigos_unicos))
			array_push($codigos_unicos,$code);

	}
echo 'códigos encontrados&lt;br/&gt;&lt;pre&gt;';
print_r($codigos_unicos);

}else{
	die('Nenhuma url válida encontrada');
}
</pre>
<p>Se alguem tiver alguma sugestão de melhoria, favor me enviar que eu ficarei agradecido.</p>
<p>Espero que este post possa ser util.<br />
Obrigado.</p>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "codigo";
            bb_bid  = "51002";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_limit = "7";bb_format = "bbc";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.emersoncarvalho.com/regex-codigo-do-video-do-youtube/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Configurando virtual hosts no windows</title>
		<link>http://www.emersoncarvalho.com/configurando-virtual-hosts-no-windows/</link>
		<comments>http://www.emersoncarvalho.com/configurando-virtual-hosts-no-windows/#comments</comments>
		<pubDate>Sat, 24 Jul 2010 18:36:53 +0000</pubDate>
		<dc:creator>@emersonbroga</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[acesso direto]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[configurando site]]></category>
		<category><![CDATA[configurando virtual host]]></category>
		<category><![CDATA[hosts]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[httpd-vhosts.conf]]></category>
		<category><![CDATA[httpd.conf]]></category>
		<category><![CDATA[iniciando projeto]]></category>
		<category><![CDATA[MySql]]></category>
		<category><![CDATA[pasta public]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[projeto]]></category>
		<category><![CDATA[redirecionamento]]></category>
		<category><![CDATA[redirect]]></category>
		<category><![CDATA[servidor]]></category>
		<category><![CDATA[site]]></category>
		<category><![CDATA[soudev]]></category>
		<category><![CDATA[url]]></category>
		<category><![CDATA[virtual host]]></category>
		<category><![CDATA[wamp]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[windows 7]]></category>

		<guid isPermaLink="false">http://www.emersoncarvalho.com/?p=97</guid>
		<description><![CDATA[E aí pessoal, Estou meio sumido aqui do blog,  pois estava trabalhando em um outro projeto pessoal, o http://www.terraqueos.com.br , que é um site voltado para os fans do cinema. Mas vamo lá, hoje eu vou mostrar um tutorialzinho bem simples e explicativo sobre como configurar virtual hosts no windows. Requisitos: Esse tutorial foi feito [...]]]></description>
			<content:encoded><![CDATA[<p>E aí pessoal,<br />
Estou meio sumido aqui do blog,  pois estava trabalhando em um outro projeto pessoal, o <a title="Terráqueos - abduzidos por cinema" href="http://www.terraqueos.com.br " target="_blank">http://www.terraqueos.com.br </a>, que é um site voltado para os fans do cinema.</p>
<p>Mas vamo lá, hoje eu vou mostrar um<strong> tutorial</strong><span style="text-decoration: line-through;">zinho</span> bem simples e explicativo sobre como configurar <strong>virtual hosts no windows</strong>.</p>
<p><span id="more-97"></span>Requisitos:<br />
Esse tutorial foi feito em um pc com <strong><a title="Windows 7" href="http://www.microsoft.com/windows/windows-7/default.aspx" target="_blank">Windows 7</a> </strong>com<strong> <a title="Wamp 2" href="http://www.wampserver.com/en/download.php" target="_blank">Wamp 2</a> </strong>instalado.</p>
<p>Primeiramente vou explicar o problema, as pessoas instalam o Wamp, geralmente na unidade C: então os arquivos do projeto ficam na pasta www, e quando você acessa pelo localhost, você digita no browser http://localhost/PASTA_DO_PROJETO.</p>
<p>Configurando o <strong>virtual host</strong>, você pode acessar diretamente o projeto pela url, http://nome_do_projeto/</p>
<p>Como exemplo o projeto vai se chamar &#8220;escola&#8221;.</p>
<p>Para criar o virtual host, precisamos alterar 3 arquivos:</p>
<p><strong>C:\wamp\bin\apache\Apache2.2.11\conf\httpd.conf </strong><br />
<strong>C:\WINDOWS\system32\drivers\etc\hosts </strong><br />
<strong>C:\wamp\bin\apache\Apache2.2.11\conf\extra\httpd-vhosts.conf<br />
</strong>(verifique os caminhos, e verões do apache, para encontrar os arquivos em seu computador)</p>
<p><strong>1 &#8211; C:\wamp\bin\apache\Apache2.2.11\conf\httpd.conf</strong><br />
Nesse arquivo, você deve procurar (Crtl+F) por uma linha que tem <strong>httpd-vhosts.conf<br />
</strong>Essa linha é onde você fala para o apache que ele deve usar o arquivo de configurações de <strong>virtual hosts</strong><br />
Basta descomentá-lo ( retirar o # do inicio da linha ).</p>
<p><strong>2 &#8211; C:\WINDOWS\system32\drivers\etc\hosts<br />
</strong>Nesse arquivo você deve colocar o ip do localhost (127.0.0.1), e o nome do projeto no final do arquivo.<br />
como o nosso projeto de exemplo chama escola ficaria assim:</p>
<p>127.0.0.1 escola</p>
<p>3 &#8211; <strong>C:\wamp\bin\apache\Apache2.2.11\conf\extra\httpd-vhosts.conf</strong></p>
<p>Aqui que você deve fazer as configurações do Virtual host.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;VirtualHost *:80&gt;
ServerAdmin webmaster@escola
DocumentRoot &quot;C:\wamp\www\escola&quot;
ServerName escola
&lt;/VirtualHost&gt;
</pre>
<p>Feito isso basta <strong>reiniciar o Wamp</strong> digitar &#8220;http://escola&#8221; e você já estará dentro do projeto.</p>
<p>Para quem usa o <strong>zend framework</strong> por exemplo, é interessante colocar o <strong>DocumentRoot</strong> direto para a pasta <strong>public </strong>(C:\wamp\www\escola\public), e assim você não precisa ficar fazendo redirecionamentos com <strong>.htaccess</strong></p>
<p>Esse foi um tutorial bem simples porém muito util.</p>
<p>Espero que tenham gostado.</p>
<p>Obrigado<br />
[ratings]</p>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "soudev";
            bb_bid  = "51002";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_limit = "7";bb_format = "bbc";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.emersoncarvalho.com/configurando-virtual-hosts-no-windows/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Problemas na paginação query_posts() do wordpress</title>
		<link>http://www.emersoncarvalho.com/problemas-na-paginacao-query-posts-do-wordpress/</link>
		<comments>http://www.emersoncarvalho.com/problemas-na-paginacao-query-posts-do-wordpress/#comments</comments>
		<pubDate>Wed, 19 May 2010 21:40:57 +0000</pubDate>
		<dc:creator>@emersonbroga</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[404]]></category>
		<category><![CDATA[broga]]></category>
		<category><![CDATA[customizado]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[not found]]></category>
		<category><![CDATA[paginação]]></category>
		<category><![CDATA[query_post()]]></category>
		<category><![CDATA[wp]]></category>

		<guid isPermaLink="false">http://www.emersoncarvalho.com/?p=85</guid>
		<description><![CDATA[Olá galera, Hoje trabalhando com o WordPress passei por um problema que eu demorei muito pra resolver. A situação é a seguinte, precisava fazer uma busca nos posts de uma categoria especifica e exibir somente 2 posts. O problema é que usando essa &#8220;query_post()&#8221; customizada, a paginação nativa do WordPress não funcionava corretamente. Sempre apresentava [...]]]></description>
			<content:encoded><![CDATA[<p>Olá galera,</p>
<p>Hoje trabalhando com o <a href="http://www.wordpress.org">WordPress</a> passei por um problema que eu demorei muito pra resolver.</p>
<p>A situação é a seguinte, precisava fazer uma busca nos posts de uma categoria especifica e exibir somente 2 posts.<br />
O problema é que usando essa &#8220;<em>query_post()</em>&#8221; customizada, a paginação nativa do WordPress não funcionava corretamente. Sempre apresentava o erro &#8220;<em>Not Found</em>&#8220;!<br />
<span id="more-85"></span><br />
Pequisei por vários blogs, e encontrei umas respostas bacanas, como a do <a href="http://stylizedweb.com/2008/08/13/query_posts-pagination-problem/">SytlizedWeb</a> , porem mesmo com a solução apresentada, não consegui resolver meu problema.</p>
<p>A solução apresentada foi:</p>
<pre class="brush: php; title: ; notranslate">
if (have_posts()) :
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    query_posts(&quot;category_name=alguma-categoria&amp;showposts=2&amp;paged=$paged&quot;);
    while (have_posts()) : the_post();
	/** Restante do loop **/
</pre>
<p>O problema é que mesmo assim não funcionou, e depois de algum tempo eu fui descobrir que no Wp-Admin em : <strong>Settings>>Reading</strong> você tem a opção de &#8220;<strong>Blog pages show at most</strong>&#8221; que por padrão vem 10. <strong>Sendo assim você deve alterá-la para 1</strong>, pois aí o wordpress ira buscar apenas os posts que você solicitar no parametro &#8220;<strong>showposts</strong>&#8220;.</p>
<p>Obrigado.<br />
[ratings]</p>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "wp";
            bb_bid  = "51002";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_limit = "7";bb_format = "bbc";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.emersoncarvalho.com/problemas-na-paginacao-query-posts-do-wordpress/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Jquery Validation Campo único (login, email,etc&#8230;)</title>
		<link>http://www.emersoncarvalho.com/jquery-validation-campo-unico/</link>
		<comments>http://www.emersoncarvalho.com/jquery-validation-campo-unico/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 13:30:59 +0000</pubDate>
		<dc:creator>@emersonbroga</dc:creator>
				<category><![CDATA[Jquery]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[broga]]></category>
		<category><![CDATA[campo único]]></category>
		<category><![CDATA[jquery valitation]]></category>
		<category><![CDATA[login]]></category>
		<category><![CDATA[validação remota]]></category>
		<category><![CDATA[validate]]></category>

		<guid isPermaLink="false">http://www.emersoncarvalho.com/?p=58</guid>
		<description><![CDATA[Após um bom tempo sem postar, estou de volta. Dessa vez eu vou falar um pouco sobre o jQuery Valitation um plugin do jQuery para validação de campos. Vou abordar sobre uma validação remota que está presente nesse plugin e é muito útil para validar campos únicos em formulário. Por exemplo, no seu site, você [...]]]></description>
			<content:encoded><![CDATA[<p>Após um bom tempo sem postar, estou de volta.</p>
<p>Dessa vez eu vou falar um pouco sobre o<a title="Jquery Validation" href="http://bassistance.de/jquery-plugins/jquery-plugin-validation/" target="_blank"> jQuery Valitation</a> um plugin do <a title="jQuery" href="http://www.jquery.com" target="_blank">jQuery </a>para validação de campos.<br />
Vou abordar sobre uma validação remota que está presente nesse plugin e é muito útil para validar campos únicos em formulário.</p>
<p>Por exemplo, no seu site, você tem um formulário de cadastro que tem os campos login e senha, mas o campo de login deve ser único e você quer fazer essa validação usando o plugin Validation.<span id="more-58"></span></p>
<p>1º passo: Incluir o jQuery e o plugin Validation ao seu html:</p>
<pre class="brush: xml; title: ; notranslate">&lt;!-- Inclusão do Jquery --&gt;
&lt;script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;!--mce:0--&gt;&lt;/script&gt;
&lt;!-- Inclusão do Jquery Validate --&gt;
&lt;script src=&quot;http://ajax.microsoft.com/ajax/jquery.validate/1.6/jquery.validate.js&quot; type=&quot;text/javascript&quot;&gt;&lt;!--mce:1--&gt;&lt;/script&gt;</pre>
<p>2º passo: Criar o formulário:</p>
<pre class="brush: xml; title: ; notranslate">&lt;form id=&quot;meu_form&quot; method=&quot;post&quot;&gt;
Login:
&lt;input id=&quot;login&quot; name=&quot;login&quot; type=&quot;text&quot; /&gt;
Senha:
&lt;input id=&quot;senha&quot; name=&quot;senha&quot; type=&quot;password&quot; /&gt;
&lt;input type=&quot;submit&quot; value=&quot;Cadastrar&quot; /&gt;
&lt;/form&gt;
</pre>
<p>3º passo: Fazer a validação</p>
<pre class="brush: jscript; title: ; notranslate">&lt;!-- Validação do forumlário --&gt;
$(document).ready(function(){
				$('#meu_form').validate({
					rules:{
						login:{ required: true, remote: 'verifica.php' }
					},
					messages:{
						login:{ required: 'Este Campo é obrigatorio' , remote: 'Este Login já está em uso.'}
					}

				});
			});</pre>
<p>Repare que o campo &#8216;login&#8217; tem a validação &#8216;required&#8217; (campo obrigatório) e a validação &#8216;remote&#8217; (remota), sendo assim quando o usuário acaba de digitar o login ele vai no servidor e passa esse valor via GET</p>
<p style="text-align: center;">Pelo firebug podemos observar a requisição sendo feita ao servidor:<br />
<img class="aligncenter size-full wp-image-59" title="validation_campo_unico_1" src="http://www.emersoncarvalho.com/wp-content/uploads/2010/04/validation_campo_unico_1.png" alt="validation_campo_unico_1" width="418" height="222" /></p>
<p>Como no validate colocamos  remote: &#8216;verifica.php&#8217; , é enviado o parametro login (nome do campo) e o valor digitado.<br />
No arquivo verifica.php, recebemos esse valor com o $_GET['login'] , fazemos a consulta no banco e então</p>
<pre class="brush: php; title: ; notranslate">//Se o login já existir você exibe false
echo 'false';
//Se o login não existir
echo 'true';</pre>
<p>pois essa verificação retorna ao validate se o campo é válido ou não.</p>
<p><a title="Jquery Validation Campo único" href="http://www.emersoncarvalho.com/tutoriais/58-campo_unico/" target="_blank">Veja o Demo.</a></p>
<p><a title="download Jquery Validation Campo unico Tutorial" href="http://www.emersoncarvalho.com/tutoriais/58-campo_unico/58-campo_unico.rar" target="_blank">Faça o download dos arquivos.</a></p>
<p>Espero que tenham gostado.<br />
Obrigado pela visita.</p>
<p>Dê sua nota: [ratings]</p>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "broga";
            bb_bid  = "51002";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_limit = "7";bb_format = "bbc";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.emersoncarvalho.com/jquery-validation-campo-unico/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Como descobrir se a requisição é AJAX com o php</title>
		<link>http://www.emersoncarvalho.com/como-descobrir-se-a-requisicao-e-ajax-com-o-php/</link>
		<comments>http://www.emersoncarvalho.com/como-descobrir-se-a-requisicao-e-ajax-com-o-php/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 12:15:28 +0000</pubDate>
		<dc:creator>@emersonbroga</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[broga]]></category>
		<category><![CDATA[descobrir]]></category>
		<category><![CDATA[request]]></category>
		<category><![CDATA[requisicao]]></category>

		<guid isPermaLink="false">http://www.emersoncarvalho.com/?p=40</guid>
		<description><![CDATA[Olá &#8230;. Vi pelo twitter um post do @ErickBelfy que tinha um link para o site http://www.electrictoolbox.com/how-to-tell-ajax-request-php/ e resolvi postar em meu blog essa dica. Geralmente quando eu envio uma requisição ajax para o php eu passo via GET um valor informando que o processamento é assincrono então eu faço algo do tipo pagina.php?ajax=1 O [...]]]></description>
			<content:encoded><![CDATA[<p>Olá &#8230;.</p>
<p>Vi pelo twitter um post do @ErickBelfy que tinha um link para o site<a title="Electric Tool Box" href="http://www.electrictoolbox.com/how-to-tell-ajax-request-php/" target="_blank"> http://www.electrictoolbox.com/how-to-tell-ajax-request-php/</a> e resolvi postar em meu blog essa dica.<span id="more-40"></span></p>
<p>Geralmente quando eu envio uma requisição ajax para o php eu passo via GET um valor informando que o processamento é assincrono então eu faço algo do tipo</p>
<p>pagina.php?ajax=1</p>
<pre class="brush: php; title: ; notranslate">&lt;?php if(isset($_GET['ajax']) //é requisição ajax else // requisição comum. ?&gt;</pre>
<p>O interessante é que usando a variavel $_SERVER eu consigo identificar se a requisição é assincrona ou não:</p>
<pre class="brush: php; title: ; notranslate">&lt;?php if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) &amp;&amp; strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') //é uma requisição ajax else // é uma requisição comum ?&gt;</pre>
<p>e para melhorar o código fica mais prático criar uma constante que contenha esse valor</p>
<pre class="brush: php; title: ; notranslate">&lt;?php define('IS_AJAX', isset($_SERVER['HTTP_X_REQUESTED_WITH']) &amp;&amp; strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'); //então if(IS_AJAX) //é uma requisição ajax else //é uma requisição comum ?&gt;</pre>
<p>#ficaADica</p>
<p>Obrigado por visitar o blog.<br />
[ratings]</p>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "descobrir";
            bb_bid  = "51002";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_limit = "7";bb_format = "bbc";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.emersoncarvalho.com/como-descobrir-se-a-requisicao-e-ajax-com-o-php/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Detectando Browser com PHP</title>
		<link>http://www.emersoncarvalho.com/detectando-browser-com-php/</link>
		<comments>http://www.emersoncarvalho.com/detectando-browser-com-php/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 22:56:27 +0000</pubDate>
		<dc:creator>@emersonbroga</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[broga]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[detectar]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[Google Chrome]]></category>
		<category><![CDATA[ie6]]></category>
		<category><![CDATA[Internet explorer]]></category>
		<category><![CDATA[Safari]]></category>

		<guid isPermaLink="false">http://www.emersoncarvalho.com/?p=23</guid>
		<description><![CDATA[E aí galera, Hoje precisei de um modo de detectar o browser e sua versão, pesquisei e achei uma função muito simples que resolve esse problema. Como sempre o vilão da história é o &#8220;Internet Explorer 6&#8243;, então para solucionar o problema que tinha com o IE6 foi mamata. é isso aí &#8230;só isso. [ratings] [...]]]></description>
			<content:encoded><![CDATA[<p>E aí galera,<br />
Hoje precisei de um modo de detectar o browser e sua versão, pesquisei e achei uma função muito simples que resolve esse problema.<br />
Como sempre o vilão da história é o &#8220;Internet Explorer 6&#8243;, então para solucionar o problema que tinha com o IE6 foi mamata.<span id="more-23"></span></p>
<pre class="brush: php; title: ; notranslate">&lt;?php
    /* function getBrowser
     * returns the detected browser
     */
    function getBrowser()
    {
        $var = $_SERVER['HTTP_USER_AGENT'];
        $info['browser'] = &quot;OTHER&quot;;

        // valid brosers array
        $browser = array (&quot;MSIE&quot;, &quot;OPERA&quot;, &quot;FIREFOX&quot;, &quot;MOZILLA&quot;,
                          &quot;NETSCAPE&quot;, &quot;SAFARI&quot;, &quot;LYNX&quot;, &quot;KONQUEROR&quot;);

        // bots = ignore
        $bots = array('GOOGLEBOT', 'MSNBOT', 'SLURP');

        foreach ($bots as $bot)
        {
            // if bot, returns OTHER
            if (strpos(strtoupper($var), $bot) !== FALSE)
            {
                return $info;
            }
        }

        // loop the valid browsers
        foreach ($browser as $parent)
        {
            $s = strpos(strtoupper($var), $parent);
            $f = $s + strlen($parent);
            $version = substr($var, $f, 5);
            $version = preg_replace('/[^0-9,.]/','',$version);
            if (strpos(strtoupper($var), $parent) !== FALSE)
            {
                $info['browser'] = $parent;
                $info['version'] = $version;
                return $info;
            }
        }
        return $info;
    }

    // prints the detected browser
    print_r(getBrowser());
?&gt;</pre>
<p>é isso aí &#8230;só isso.<br />
[ratings]<br />
Abraços.</p>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "Google Chrome";
            bb_bid  = "51002";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_limit = "7";bb_format = "bbc";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.emersoncarvalho.com/detectando-browser-com-php/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Hello world!</title>
		<link>http://www.emersoncarvalho.com/hello-world/</link>
		<comments>http://www.emersoncarvalho.com/hello-world/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 02:06:54 +0000</pubDate>
		<dc:creator>@emersonbroga</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[broga]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[ZF]]></category>

		<guid isPermaLink="false">http://www.emersoncarvalho.com/?p=1</guid>
		<description><![CDATA[&#60;?php echo &#8220;Hello World&#8221; ?&#62; bb_keywords = "ZF"; bb_bid = "51002"; bb_lang = "pt-BR"; bb_name = "custom";bb_limit = "7";bb_format = "bbc";]]></description>
			<content:encoded><![CDATA[<blockquote><p>&lt;?php echo &#8220;Hello World&#8221; ?&gt;</p></blockquote>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "ZF";
            bb_bid  = "51002";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_limit = "7";bb_format = "bbc";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.emersoncarvalho.com/hello-world/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

