<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>André Buzzo - Desenvolvimento HTML5 + CSS + jQuery</title>
	
	<link>http://www.andrebuzzo.com.br</link>
	<description>Webdesign e muito mais!</description>
	<lastBuildDate>Thu, 23 May 2013 12:39:13 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/andrebuzzo" /><feedburner:info uri="andrebuzzo" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>ABRIR OU NÃO UMA EMPRESA? O QUE ISSO IMPLICA?</title>
		<link>http://feedproxy.google.com/~r/andrebuzzo/~3/0USvcpyRa-U/</link>
		<comments>http://www.andrebuzzo.com.br/abrir-ou-nao-uma-empresa-o-que-isso-implica/#comments</comments>
		<pubDate>Wed, 24 Apr 2013 19:10:00 +0000</pubDate>
		<dc:creator>André Buzzo</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Abrir Empresa]]></category>
		<category><![CDATA[empreendedorismo]]></category>
		<category><![CDATA[Fechar empresa]]></category>

		<guid isPermaLink="false">http://www.andrebuzzo.com.br/?p=2143</guid>
		<description><![CDATA[<p>Vantagens, desvantagens e outras coisas a serem pensadas Fala meu amigo e minha amiga! Tudo bem contigo? Espero que sim. Eu recebi através do Facebook a seguinte mensagem de um amigo que por questões óbvias eu não vou revelar o nome: “Grande, André&#8230; Olha, rapidinho. Não emito nota e isso nunca me atrapalhou, mas esse [...]<div class="crp_related"><h3>Assuntos relacionados:</h3><ul><li><a href="http://www.andrebuzzo.com.br/cliente-quero-uma-loja-virtual-voce-e-agora/"     class="crp_title">Cliente: Quero uma Loja Virtual! Você: E agora?</a></li><li><a href="http://www.andrebuzzo.com.br/tecnicas-de-vendas-parte-4/"     class="crp_title">Técnicas de Vendas &#8211; Parte 4</a></li><li><a href="http://www.andrebuzzo.com.br/cliente-quero-uma-loja-virtual-voce-e-agora-parte-2/"     class="crp_title">Cliente: Quero uma Loja Virtual! Você: E agora? &#8211;&hellip;</a></li><li><a href="http://www.andrebuzzo.com.br/tecnicas-de-vendas-%e2%80%93-parte-6-%e2%80%93-analises-necessarias/"     class="crp_title">TÉCNICAS DE VENDAS – PARTE 6 – ANÁLISES NECESSÁRIAS</a></li><li><a href="http://www.andrebuzzo.com.br/tecnicas-de-vendas-parte-2/"     class="crp_title">Técnicas de Vendas &#8211; Parte 2</a></li></ul></div></p><p>Fonte: <a href="http://www.andrebuzzo.com.br">André Buzzo - Desenvolvimento HTML5 + CSS + jQuery</a>
Post original: <a href="http://www.andrebuzzo.com.br/abrir-ou-nao-uma-empresa-o-que-isso-implica/">ABRIR OU NÃO UMA EMPRESA? O QUE ISSO IMPLICA?</a>
Conteúdo originalmente criado por <a rel="author" href="http://www.andrebuzzo.com.br/author/tuco/">André Buzzo</a></p>]]></description>
				<content:encoded><![CDATA[<h2 style="text-align: left;" align="center">Vantagens, desvantagens e outras coisas a serem pensadas</h2>
<p>Fala meu amigo e minha amiga! Tudo bem contigo? Espero que sim.</p>
<p>Eu recebi através do Facebook a seguinte mensagem de um amigo que por questões óbvias eu não vou revelar o nome:</p>
<blockquote><p>“Grande, André&#8230; Olha, rapidinho. Não emito nota e isso nunca me atrapalhou, mas esse ano já perdi 3 trabalhos por não fazer isso. O MEI é impraticável (não tem nada relacionado e não queria emitir nada como &#8220;serviços de informática&#8221;, pois tenho medo q isso me prejudique no futuro) e não sei se vale a pena abrir uma empresa para isso. No teu caso como vc resolveu. Se puder me dar alguma dica (de novo&#8230;) agradeço muito. Forte abraço.”</p></blockquote>
<p>Então vamos lá.</p>
<h2>ABRIR OU NÃO UMA EMPRESA?</h2>
<p><a href="http://www.andrebuzzo.com.br/wp-content/uploads/2013/04/duvidaHomer.jpg"><img class="alignnone size-full wp-image-2144" alt="duvidaHomer" src="http://www.andrebuzzo.com.br/wp-content/uploads/2013/04/duvidaHomer.jpg" width="650" height="250" /></a></p>
<p>&nbsp;</p>
<p>Existem diversas coisas que devemos pensar antes de abrir uma empresa aqui no país. Temos toda a questão tributária, a questão de que existem pessoas que não emitem notas e assim não pagam impostos. E dessa maneira, elas “conseguem” por vezes praticar preços que estão fora da realidade de mercado.</p>
<p>Tudo bem que eu vejo às vezes pessoas que praticam valores fora do mercado, mesmo com empresa aberta. Como esse prostituto aí abaixo:</p>
<p><a href="http://www.andrebuzzo.com.br/wp-content/uploads/2013/04/prostituindoMercado.jpg"><img class="alignnone size-full wp-image-2145" alt="prostituindoMercado" src="http://www.andrebuzzo.com.br/wp-content/uploads/2013/04/prostituindoMercado.jpg" width="650" height="488" /></a></p>
<p>&nbsp;</p>
<p>Eu sei que não devo me preocupar com o cara, pois “coisa ruim” o mercado mesmo trata de engolir. Sendo assim, vamos pensar no nosso assunto aqui: se compensa ou não abrir uma empresa.</p>
<p>Quero deixar claro que EU nunca abri uma empresa. A empresa da qual faço parte foi pensada e aberta por minha esposa, e vendo a responsabilidade que isso acarreta, eu digo que “tiro o chapéu” sempre que precisar por ela. De verdade. Não é fácil manter uma empresa. De forma alguma.</p>
<h2>ALGUMAS VANTAGENS QUE EU VEJO &#8230;</h2>
<p><a href="http://www.andrebuzzo.com.br/wp-content/uploads/2013/04/vantagens.jpg"><img class="alignnone size-full wp-image-2146" alt="vantagens" src="http://www.andrebuzzo.com.br/wp-content/uploads/2013/04/vantagens.jpg" width="650" height="488" /></a></p>
<p>Ter um CNPJ abre um grande leque de possibilidades.</p>
<p>Você pode botar a boca no trombone e dizer que presta esse ou aquele serviço, que vende esse ou aquele produto, e pode baixar a fiscalização que eu tenho tudo com nota fiscal.</p>
<p>Pelo menos deveria.</p>
<p>Com o CNPJ você pode, dentre inúmeras possibilidades:</p>
<ul>
<li>Conseguir empréstimos no Banco do Povo a taxas baixas;</li>
<li>Participar de concorrências públicas;</li>
<li>Participar de concorrências em empresas;</li>
<li>Abrir uma conta jurídica no banco e ter algumas vantagens que a pessoa física não tem;</li>
<li>Ter um diferencial dentre os profissionais de sua área que não tem empresa aberta;</li>
<li>O diferencial são alguns dos citados acima.</li>
</ul>
<p>Se você, como no caso do meu amigo, perdeu algum serviço por não poder emitir uma nota fiscal, sabe que o diferencial pode e vai fazer diferença. Parece lógico, mas tem gente que ainda não entende a palavra ou definição de “diferencial”.</p>
<p>Pode-se participar de concorrências na prefeitura de sua cidade (aqui no site abordamos apenas a área de web design, que fique claro. Outras áreas podem participar de inúmeras licitações), e ter um ganho bem maior do que apenas fazer trabalhos esporádicos ou para aqueles profissionais que às vezes precisam de um site ou sistema, e, por às vezes apenas desejarem economizar, vai procurar algum “sobrinho” ou não que faça por um valor bem abaixo do que uma empresa faria.</p>
<p>Outro ponto positivo que vejo ao se ter um CNPJ é que o seu trabalho vai ser mais valorizado. Não, as pessoas não falarão que o seu trabalho é F-A-N-T-Á-S-T-I-C-O por ter CNPJ. Estou dizendo que o VALOR MONETÁRIO de seu trabalho será maior, porque isso acarreta uma carga de outras responsabilidades que precisam ser respeitadas e isso será embutido no seu valor. Sendo assim, você tem a “possibilidade” de ganhar mais. E melhor.</p>
<p>Com um CNPJ em mãos, você pode ter um CONTRATO DE PRESTAÇÃO DE SERVIÇOS e, no caso de levar um calote, você pode ter um respaldo judiciário na hora do recebimento. Sem CNPJ você também pode entrar na Justiça, mas é mais complicado.</p>
<p>Empresas terceiras podem fazer planos melhores de internet, telefonia ou qualquer outra coisa que seja voltada para seu empreendimento.</p>
<p>Pense assim: até para a compra de um automóvel, o CNPJ traz alguma vantagem. Pelo menos aqui na região onde moro, se você tem o CNPJ você tem até 18% (se não me engano) na compra de um veículo zero. Mas tem que comprar o carro por si só. Não adianta dar seu usado na negociação. Mas já uma vantagem.</p>
<p>Outra coisa: você começa a pagar um tal de “GPS”, que é a Guia da Previdência Social, que vai lhe garantir algumas “regalias”, como uma grana na hora da sua aposentadoria e suporte dos programas sociais do Governo.</p>
<h2>ALGUMAS DESVANTAGENS QUE EU VEJO &#8230;</h2>
<p><a href="http://www.andrebuzzo.com.br/wp-content/uploads/2013/04/doresDeCabeca.jpg"><img class="alignnone size-full wp-image-2147" alt="doresDeCabeca" src="http://www.andrebuzzo.com.br/wp-content/uploads/2013/04/doresDeCabeca.jpg" width="650" height="250" /></a></p>
<p>&nbsp;</p>
<p>E não são poucas, infelizmente&#8230;</p>
<p>Que beleza! Você abriu sua empresa e realizou o sonho de ser empreendedor no Brasil! Parabéns meu caro! Seu pesadelo acabou de começar!</p>
<p>Não quero assustar ninguém, até porque essa não é minha intenção. Mas eu fico muito bravo quando temos uma visão sobre as coisas que, quando se tornar realidade, elas não são bem aquilo que aparentavam ser. Como meu plano de celular do “Navegue ilimitado”. Certa hora do dia recebo a mensagem informando que minha cota diária foi atingida. Ilimitado? A-ham&#8230;</p>
<p>Ao se abrir uma empresa, precisamos pensar que temos agora, mais uma pancada de responsabilidades na nossa costa. E não é apenas “pagar impostos” como muita gente pensa. Dentre algumas, posso citar as seguintes:</p>
<ul>
<li>Carga tributária pesada (tanto municipal, quanto estadual e federal);</li>
<li>Você tem a impressão de “empreender” para o Governo e não para você mesmo;</li>
<li>As contas chegam quer você lucre ou não;</li>
<li>Usa software pirata? Isso acaba agora;</li>
<li>Pessoas dependem de você;</li>
<li>Você sabe separar o pessoal do profissional;</li>
<li>Existem sim custos fixos que NÃO SÃO INVESTIMENTOS;</li>
<li>Você começa a ter um nome a zelar;</li>
<li>Dentre outras inúmeras coisas.</li>
</ul>
<p><b>Primeiro custo fixo: escritório de contabilidade</b></p>
<p>Ao se abrir uma empresa, existe o custo para se realizar isso. Você precisa entrar em contato com um escritório de contabilidade, que vai cobrar o serviço de pesquisa disso, daquilo, de emissão de guias, de registro de sua empresa, etc.</p>
<p>Fora o custo para se abrir a empresa, que, por uma pesquisa rápida no Google, indica que hoje gira em torno de uns R$2.000,00.</p>
<p>Aí você tem o custo do escritório, que varia bastante de um para outro. E ainda se tratando de escritório de contabilidade, sim; ele cobra uma taxa mensal para realizar a contabilidade da sua empresa.</p>
<p><b>Segundo custo fixo, porém anual: taxas da prefeitura</b></p>
<p>Aí, você precisa pensar na prefeitura de sua cidade; o que eles pedem e lhe cobram. Precisam analisar o local onde você vai situar a sua empresa, se ela recebe ou não pessoas, qual a metragem do local, se no endereço escolhido é possível abrir ou não a empresa, alvará do bombeiro, dentre outras inúmeras condições que a mesma exige. E é claro, você tem um custo anual com a prefeitura. Existem cidades que, se você não oferecer entrada para pessoas deficientes, não libera o alvará. E isso se aplica inclusive, aos banheiros. Se você recebe homens e mulheres, deve ter um banheiro exclusivo para cada um. Ah e claro. Deve haver um banheiro adaptado aos portadores de necessidades especiais.</p>
<p>Aqui na cidade, cobra até uma taxa para afixar uma placa de identificação na rua.</p>
<p><b>Terceiro custo fixo: materiais para o seu escritório</b></p>
<p>Aí você vai fazer todo o material de sua empresa. Você vai fazer cartões de visita, material de papelaria, talões de notas fiscais; isso se a sua cidade já não obrigar a trabalhar com Nota Fiscal Eletrônica.</p>
<p><b>Quarto custo fixo: o pagamento de impostos</b></p>
<p>Pense nos impostos. A cada nota emitida, o Governo “morde” uma parte de seu lucro. E dependendo do tipo de empresa que tenha aberto, chega a 20% do valor da nota. Isso mesmo.</p>
<p>Se você faturar R$100.000,00, 20% disso vai para o Governo. Como diz um cliente que eu tenho&#8230; “O Governo é nosso maior sócio”.</p>
<p>Nem todas as empresas abertas têm essa carga absurda de impostos. Algumas têm mais do que isso. Isso é apenas o que é cobrado pelo fato de “emitir a nota”. Existem cidades que ainda cobram 2% do valor da nota como ISS (Imposto Sobre Serviços).</p>
<p>Então, antes de pensar no valor de sua proposta, pense no quanto você vai ter que repassar ao Governo. E lembre-se: você terá algo chamado “Pró-Labore”, e dependendo de quanto você decidir retirar como lucro, ainda você terá ainda que declarar o seu Imposto de Renda de sua Pessoa Física. Ah, e claro, tem também o Imposto de Renda da Pessoa Jurídica.</p>
<p><b>Quinto custo fixo: as contas mensais</b></p>
<p>É meu amigo. Ainda temos as contas fixas. Pense nelas sendo “apenas”:</p>
<ul>
<li>Luz</li>
<li>Água</li>
<li>Internet</li>
<li>Telefone fixo (sim, para abrir uma empresa é necessário ter um número fixo)</li>
<li>Celular</li>
<li>Aluguel (se o ponto não for seu)</li>
<li>Combustível (para ir até o local de trabalho e/ou visitar clientes)</li>
<li>Alimentação (mesmo que você faça suas refeições no escritório, precisará comprar o que comer correto?)</li>
<li>Café e tudo o mais que ele acompanha</li>
</ul>
<p><b>Sexto custo: o pagamento de funcionários</b></p>
<p>E se você resolver contratar funcionários, normalmente, ele lhe custará o dobro. Pense assim: se você contrata um funcionário pelo salário de R$800,00, você pode considerar o custo de R$1.600,00 por mês. A carga tributária é tão alta que você paga por um o valor de dois, praticamente!</p>
<p>Contratar estagiários via CIEE é uma boa, mas também gera um custo porque a entidade cobra uma taxa. Menor do que registrar via CLT (Carteira de Trabalho), mas onera ainda mais as contas no final do mês para a empresa.</p>
<h2>ALGUNS PONTOS QUE DEVEM SER DISCUTIDOS &#8230;</h2>
<p><a href="http://www.andrebuzzo.com.br/wp-content/uploads/2013/04/analisandoOutrosPontos.png"><img class="alignnone size-full wp-image-2148" alt="analisandoOutrosPontos" src="http://www.andrebuzzo.com.br/wp-content/uploads/2013/04/analisandoOutrosPontos.png" width="650" height="365" /></a></p>
<p>&nbsp;</p>
<p><b>E o tal do MEI – Micro Empreendedor Individual</b></p>
<p>Claro que existem outros pontos a serem observados, mas de maneira grosseira, para nós que trabalhamos com Web Design, não rola. Pelo simples fato de não nos enquadrarmos no que eles pedem ou nas categorias que criaram.</p>
<p>Nosso trabalho é “intelectual”, e dessa maneira, não pode ser comercializado pelo MEI. Próximo!</p>
<p><b>Disciplina é fundamental</b></p>
<p>Acho que é aqui que a coisa fica mais séria ainda. É preciso ter disciplina para saber que a empresa, mesmo sendo sua, é uma empresa.</p>
<p>Como meu pai questionou a mim e minha esposa quando começamos a trabalhar juntos: “Vocês recebiam todo dia nas empresas que trabalharam anteriormente? Então porque recebem agora”?</p>
<p>Simples assim. Eu e Dona Patroa fechávamos um serviço, e se por exemplo, desse R$600,00, era “trezentão” para cada na hora do pagamento. E isso estava errado. O correto seria receber todo o valor, depositar durante o mês na conta jurídica e proceder mais ou menos assim: paga-se tudo o que é necessário (aqueles 5 ou 6 itens que eu citei lá em cima, fora alguns vários outros) e depois, separaríamos em 3 partes iguais. Uma para o caixa da empresa e nosso pagamento propriamente dito.</p>
<p>É mais ou menos assim que funciona. E ainda existe outra coisa.</p>
<p>Temos funcionários. E eles esperam receber o deles no final do mês. E se meu cliente não honra seus débitos, eles não podem responder por isso. Dessa maneira, a empresa tem que ter um caixa para poder se manter e manter seus funcionários a todo vapor.</p>
<p>Bom, sei que ficou extenso, mas acho que dá para se pensar um pouco mais na hora de se abrir uma empresa.</p>
<p>E você, o que tem a dizer?</p>
<div class="crp_related"><h3>Assuntos relacionados:</h3><ul><li><a href="http://www.andrebuzzo.com.br/cliente-quero-uma-loja-virtual-voce-e-agora/"     class="crp_title">Cliente: Quero uma Loja Virtual! Você: E agora?</a></li><li><a href="http://www.andrebuzzo.com.br/tecnicas-de-vendas-parte-4/"     class="crp_title">Técnicas de Vendas &#8211; Parte 4</a></li><li><a href="http://www.andrebuzzo.com.br/cliente-quero-uma-loja-virtual-voce-e-agora-parte-2/"     class="crp_title">Cliente: Quero uma Loja Virtual! Você: E agora? &#8211;&hellip;</a></li><li><a href="http://www.andrebuzzo.com.br/tecnicas-de-vendas-%e2%80%93-parte-6-%e2%80%93-analises-necessarias/"     class="crp_title">TÉCNICAS DE VENDAS – PARTE 6 – ANÁLISES NECESSÁRIAS</a></li><li><a href="http://www.andrebuzzo.com.br/tecnicas-de-vendas-parte-2/"     class="crp_title">Técnicas de Vendas &#8211; Parte 2</a></li></ul></div><p>Fonte: <a href="http://www.andrebuzzo.com.br">André Buzzo - Desenvolvimento HTML5 + CSS + jQuery</a>
Post original: <a href="http://www.andrebuzzo.com.br/abrir-ou-nao-uma-empresa-o-que-isso-implica/">ABRIR OU NÃO UMA EMPRESA? O QUE ISSO IMPLICA?</a>
Conteúdo originalmente criado por <a rel="author" href="http://www.andrebuzzo.com.br/author/tuco/">André Buzzo</a></p><img src="http://feeds.feedburner.com/~r/andrebuzzo/~4/0USvcpyRa-U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andrebuzzo.com.br/abrir-ou-nao-uma-empresa-o-que-isso-implica/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://www.andrebuzzo.com.br/abrir-ou-nao-uma-empresa-o-que-isso-implica/</feedburner:origLink></item>
		<item>
		<title>Palestra – Desenvolvimento Web</title>
		<link>http://feedproxy.google.com/~r/andrebuzzo/~3/8hELvo6Po_k/</link>
		<comments>http://www.andrebuzzo.com.br/palestra-desenvolvimento-web/#comments</comments>
		<pubDate>Thu, 28 Mar 2013 00:23:14 +0000</pubDate>
		<dc:creator>André Buzzo</dc:creator>
				<category><![CDATA[Artigos]]></category>

		<guid isPermaLink="false">http://www.andrebuzzo.com.br/?p=2128</guid>
		<description><![CDATA[<p>Fala Pessoas! Meu amigo João Augusto me fez lembrar hoje que eu realizei uma palestra no ano passado, e não compartilhei os arquivos aqui com vocês! Trata-se de um conjunto de informações úteis para os publicitários e outros profissionais que desenvolvem sites. Me desculpem a mancada, e sem mais delongas, clique aqui para fazer o download [...]<div class="crp_related"><h3>Assuntos relacionados:</h3><ul><li><a href="http://www.andrebuzzo.com.br/teoria-do-design-download-dos-arquivos/"     class="crp_title">Teoria do Design &#8211; Download dos arquivos!</a></li><li><a href="http://www.andrebuzzo.com.br/palestra-colaborativismo-networking-ceunsp/"     class="crp_title">Palestra &#8211; Colaborativismo &#038; NetWorking &#8211;&hellip;</a></li><li><a href="http://www.andrebuzzo.com.br/servicos-web-design-criacao-de-sites/"     class="crp_title">Serviços &#8211; Web Design e Criação de Sites</a></li><li><a href="http://www.andrebuzzo.com.br/ifa-2010-google-tv-sera-lancada-no-final-do-ano-diz-ceo-do-google/"     class="crp_title">IFA 2010: Google TV será lançada no final do ano, diz CEO&hellip;</a></li><li><a href="http://www.andrebuzzo.com.br/o-seo-voltado-ao-e-commerce/"     class="crp_title">O SEO voltado ao e-commerce</a></li></ul></div></p><p>Fonte: <a href="http://www.andrebuzzo.com.br">André Buzzo - Desenvolvimento HTML5 + CSS + jQuery</a>
Post original: <a href="http://www.andrebuzzo.com.br/palestra-desenvolvimento-web/">Palestra &#8211; Desenvolvimento Web</a>
Conteúdo originalmente criado por <a rel="author" href="http://www.andrebuzzo.com.br/author/tuco/">André Buzzo</a></p>]]></description>
				<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-2131" alt="chamadaPalestraDesenvolvimentoWeb" src="http://www.andrebuzzo.com.br/wp-content/uploads/2013/03/chamadaPalestraDesenvolvimentoWeb.jpg" width="650" height="200" /></p>
<p>Fala Pessoas!</p>
<p>Meu amigo João Augusto me fez lembrar hoje que eu realizei uma palestra no ano passado, e não compartilhei os arquivos aqui com vocês!</p>
<p><strong>Trata-se de um conjunto de informações úteis para os publicitários e outros profissionais que desenvolvem sites.</strong></p>
<p>Me desculpem a mancada, e sem mais delongas, <a href="http://www.andrebuzzo.com.br/wp-content/uploads/2013/03/palestraDesenvolvimentoWeb.rar">clique aqui para fazer o download</a> do material!</p>
<p>Abraços a todos!</p>
<div class="crp_related"><h3>Assuntos relacionados:</h3><ul><li><a href="http://www.andrebuzzo.com.br/teoria-do-design-download-dos-arquivos/"     class="crp_title">Teoria do Design &#8211; Download dos arquivos!</a></li><li><a href="http://www.andrebuzzo.com.br/palestra-colaborativismo-networking-ceunsp/"     class="crp_title">Palestra &#8211; Colaborativismo &#038; NetWorking &#8211;&hellip;</a></li><li><a href="http://www.andrebuzzo.com.br/servicos-web-design-criacao-de-sites/"     class="crp_title">Serviços &#8211; Web Design e Criação de Sites</a></li><li><a href="http://www.andrebuzzo.com.br/ifa-2010-google-tv-sera-lancada-no-final-do-ano-diz-ceo-do-google/"     class="crp_title">IFA 2010: Google TV será lançada no final do ano, diz CEO&hellip;</a></li><li><a href="http://www.andrebuzzo.com.br/o-seo-voltado-ao-e-commerce/"     class="crp_title">O SEO voltado ao e-commerce</a></li></ul></div><p>Fonte: <a href="http://www.andrebuzzo.com.br">André Buzzo - Desenvolvimento HTML5 + CSS + jQuery</a>
Post original: <a href="http://www.andrebuzzo.com.br/palestra-desenvolvimento-web/">Palestra &#8211; Desenvolvimento Web</a>
Conteúdo originalmente criado por <a rel="author" href="http://www.andrebuzzo.com.br/author/tuco/">André Buzzo</a></p><img src="http://feeds.feedburner.com/~r/andrebuzzo/~4/8hELvo6Po_k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andrebuzzo.com.br/palestra-desenvolvimento-web/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://www.andrebuzzo.com.br/palestra-desenvolvimento-web/</feedburner:origLink></item>
		<item>
		<title>Sistema de Login e Senha Criptografados</title>
		<link>http://feedproxy.google.com/~r/andrebuzzo/~3/rpTR39melDY/</link>
		<comments>http://www.andrebuzzo.com.br/sistema-de-login-e-senha-criptografados/#comments</comments>
		<pubDate>Mon, 25 Feb 2013 12:48:35 +0000</pubDate>
		<dc:creator>André Buzzo</dc:creator>
				<category><![CDATA[Artigos]]></category>

		<guid isPermaLink="false">http://www.andrebuzzo.com.br/?p=2117</guid>
		<description><![CDATA[<p>Para ter acesso ao tutorial, assim como o código-fonte do sistema todo, por favor, acesse a seção Banco de Scripts. Bons estudos! Obrigado e forte abraço!<div class="crp_related"><h3>Assuntos relacionados:</h3><ul><li><a href="http://www.andrebuzzo.com.br/teoria-do-design-download-dos-arquivos/"     class="crp_title">Teoria do Design &#8211; Download dos arquivos!</a></li><li><a href="http://www.andrebuzzo.com.br/layout-clean-com-3-colunas/"     class="crp_title">Layout Clean com 3 colunas</a></li><li><a href="http://www.andrebuzzo.com.br/sistema-de-login-e-senha-criptografados-parte-02/"     class="crp_title">Sistema de Login e Senha Criptografados &#8211; Parte 02</a></li><li><a href="http://www.andrebuzzo.com.br/sistema-de-comentarios-com-php-%e2%80%93-parte-3/"     class="crp_title">Sistema de comentários com PHP – Parte 3</a></li><li><a href="http://www.andrebuzzo.com.br/sistema-de-comentarios-com-php-parte-5-inserindo-gravatar-nos-comentarios/"     class="crp_title">SISTEMA DE COMENTÁRIOS COM PHP – PARTE 5 &#8211;&hellip;</a></li></ul></div></p><p>Fonte: <a href="http://www.andrebuzzo.com.br">André Buzzo - Desenvolvimento HTML5 + CSS + jQuery</a>
Post original: <a href="http://www.andrebuzzo.com.br/sistema-de-login-e-senha-criptografados/">Sistema de Login e Senha Criptografados</a>
Conteúdo originalmente criado por <a rel="author" href="http://www.andrebuzzo.com.br/author/tuco/">André Buzzo</a></p>]]></description>
				<content:encoded><![CDATA[<p>Para ter acesso ao tutorial, assim como o código-fonte do sistema todo, por favor, acesse a seção <a href="http://www.andrebuzzo.com.br/category/banco-scripts/">Banco de Scripts</a>. Bons estudos!</p>
<p>Obrigado e forte abraço!</p>
<div class="crp_related"><h3>Assuntos relacionados:</h3><ul><li><a href="http://www.andrebuzzo.com.br/teoria-do-design-download-dos-arquivos/"     class="crp_title">Teoria do Design &#8211; Download dos arquivos!</a></li><li><a href="http://www.andrebuzzo.com.br/layout-clean-com-3-colunas/"     class="crp_title">Layout Clean com 3 colunas</a></li><li><a href="http://www.andrebuzzo.com.br/sistema-de-login-e-senha-criptografados-parte-02/"     class="crp_title">Sistema de Login e Senha Criptografados &#8211; Parte 02</a></li><li><a href="http://www.andrebuzzo.com.br/sistema-de-comentarios-com-php-%e2%80%93-parte-3/"     class="crp_title">Sistema de comentários com PHP – Parte 3</a></li><li><a href="http://www.andrebuzzo.com.br/sistema-de-comentarios-com-php-parte-5-inserindo-gravatar-nos-comentarios/"     class="crp_title">SISTEMA DE COMENTÁRIOS COM PHP – PARTE 5 &#8211;&hellip;</a></li></ul></div><p>Fonte: <a href="http://www.andrebuzzo.com.br">André Buzzo - Desenvolvimento HTML5 + CSS + jQuery</a>
Post original: <a href="http://www.andrebuzzo.com.br/sistema-de-login-e-senha-criptografados/">Sistema de Login e Senha Criptografados</a>
Conteúdo originalmente criado por <a rel="author" href="http://www.andrebuzzo.com.br/author/tuco/">André Buzzo</a></p><img src="http://feeds.feedburner.com/~r/andrebuzzo/~4/rpTR39melDY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andrebuzzo.com.br/sistema-de-login-e-senha-criptografados/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.andrebuzzo.com.br/sistema-de-login-e-senha-criptografados/</feedburner:origLink></item>
		<item>
		<title>Sistema de Login e Senha Criptografados – Parte 02</title>
		<link>http://feedproxy.google.com/~r/andrebuzzo/~3/94g0zN7QSsw/</link>
		<comments>http://www.andrebuzzo.com.br/sistema-de-login-e-senha-criptografados-parte-02/#comments</comments>
		<pubDate>Mon, 28 Jan 2013 13:26:42 +0000</pubDate>
		<dc:creator>André Buzzo</dc:creator>
				<category><![CDATA[Banco de Scripts]]></category>
		<category><![CDATA[Criptografia]]></category>
		<category><![CDATA[Dados Criptografados]]></category>
		<category><![CDATA[login e senha]]></category>
		<category><![CDATA[recuperar dados]]></category>
		<category><![CDATA[Sistema de Login e Senha]]></category>

		<guid isPermaLink="false">http://www.andrebuzzo.com.br/?p=2099</guid>
		<description><![CDATA[<p>Fala Pessoas! Sem muita demora e delongas, aqui está a segunda parte do tutorial sobre o Sistema de Login e Senha Criptografados! &#160; O que vamos fazer aqui? Bom, uma das exigências do Cliente X era que, &#8220;caso o usuário perca seus dados, deve ser dada a opção e ferramentas para que o mesmo possa cadastrar [...]<div class="crp_related"><h3>Assuntos relacionados:</h3><ul><li><a href="http://www.andrebuzzo.com.br/sistema-de-login-e-senha-criptografados-parte-01/"     class="crp_title">Sistema de Login e Senha Criptografados &#8211; Parte 01</a></li><li><a href="http://www.andrebuzzo.com.br/script-formulario-anti-spam/"     class="crp_title">Script: Formulário Anti-Spam</a></li><li><a href="http://www.andrebuzzo.com.br/script-envio-de-newsletter-percorrendo-banco-de-dados/"     class="crp_title">Script: Envio de Newsletter percorrendo banco de dados</a></li><li><a href="http://www.andrebuzzo.com.br/script-sistema-de-comentarios-com-php/"     class="crp_title">Script &#8211; Sistema de comentários com PHP</a></li><li><a href="http://www.andrebuzzo.com.br/sistema-de-comentarios-com-php-inserindo-gravatar/"     class="crp_title">SISTEMA DE COMENTÁRIOS COM PHP &#8211; INSERINDO GRAVATAR</a></li></ul></div></p><p>Fonte: <a href="http://www.andrebuzzo.com.br">André Buzzo - Desenvolvimento HTML5 + CSS + jQuery</a>
Post original: <a href="http://www.andrebuzzo.com.br/sistema-de-login-e-senha-criptografados-parte-02/">Sistema de Login e Senha Criptografados &#8211; Parte 02</a>
Conteúdo originalmente criado por <a rel="author" href="http://www.andrebuzzo.com.br/author/tuco/">André Buzzo</a></p>]]></description>
				<content:encoded><![CDATA[<p>Fala Pessoas!</p>
<p>Sem muita demora e delongas, aqui está a segunda parte do tutorial sobre o Sistema de Login e Senha Criptografados!</p>
<p><img class="alignnone size-full wp-image-2100" alt="Sistema de Login e Senha Criptografados - Parte 02 - Recuperando os dados" src="http://www.andrebuzzo.com.br/wp-content/uploads/2013/01/imagemTutorialParte02.jpg" width="650" height="200" /></p>
<p>&nbsp;</p>
<h2>O que vamos fazer aqui?</h2>
<p>Bom, uma das exigências do <strong>Cliente X </strong>era que, &#8220;<em>caso o usuário perca seus dados, deve ser dada a opção e ferramentas para que o mesmo possa cadastrar novos dados, sempre que necessário</em>&#8221; &#8230; Sendo assim, precisávamos inserir tais ferramentas no sistema para que nosso usuário, depois de cadastrado, pudesse voltar a ter acesso sem a necessidade de preencher o formulário novamente com seus dados.</p>
<p>Para isso, criamos um link no rodapé do arquivo &#8220;index&#8221; que está na pasta &#8220;exclusivo&#8221; do nosso sistema. Portanto o arquivo &#8220;recuperaDados.php&#8221; segue abaixo:</p>
<h2>recuperaDados.php</h2>
<div id="fvch-codeblock-0" class="fvch-codeblock">
<table>
<tr>
<td class="fvch-line-numbers">
<pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
</pre>
</td>
<td class="fvch-code">
<pre id="fvch-code-0"><span class="php"><span class="php-operator">&lt;</span><span class="php-operator">!</span>DOCTYPE HTML<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>html lang<span class="php-operator">=</span><span class="php-string">&quot;br&quot;</span> <span class="php-keyword">class</span><span class="php-operator">=</span><span class="php-string">&quot;no-js&quot;</span><span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>head<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>meta charset<span class="php-operator">=</span><span class="php-string">&quot;utf-8&quot;</span><span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span>title<span class="php-operator">&gt;</span>Sistema de Login e Senha Criptografados<span class="php-operator">&lt;</span><span class="php-operator">/</span>title<span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span><span class="php-function">link</span> href<span class="php-operator">=</span><span class="php-string">&quot;../style.css&quot;</span> rel<span class="php-operator">=</span><span class="php-string">&quot;stylesheet&quot;</span> <span class="php-operator">/</span><span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span><span class="php-operator">/</span>head<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>body<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>div id<span class="php-operator">=</span><span class="php-string">&quot;conteudo&quot;</span><span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>h<span class="php-number">1</span><span class="php-operator">&gt;</span>Sistema de login e senha criptografados <span class="php-operator">-</span> Recuperação de Dados<span class="php-operator">&lt;</span><span class="php-operator">/</span>h<span class="php-number">1</span><span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>div <span class="php-keyword">class</span><span class="php-operator">=</span><span class="php-string">&quot;borda&quot;</span><span class="php-operator">&gt;</span><span class="php-operator">&lt;</span><span class="php-operator">/</span>div<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>div <span class="php-keyword">class</span><span class="php-operator">=</span><span class="php-string">&quot;clear&quot;</span><span class="php-operator">&gt;</span><span class="php-operator">&lt;</span><span class="php-operator">/</span>div<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span><span class="php-operator">!</span><span class="php-operator">-</span><span class="php-operator">-</span> Formulário para acesso <span class="php-operator">-</span><span class="php-operator">-</span><span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span>p<span class="php-operator">&gt;</span>Para recuperar seus dados, por favor, preencha o formulário abaixo<span class="php-operator">!</span><span class="php-operator">&lt;</span>p<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span><span class="php-operator">!</span><span class="php-operator">-</span><span class="php-operator">-</span> A lógica que empregaremos aqui é a seguinte<span class="php-operator">:</span> Vamos pedir o endereço de email e vamos conferir se o mesmo está cadastrado no sistema<span class="php-operator">.</span>
Se o endereço estiver cadastrado, enviaremos um e<span class="php-operator">-</span><span class="php-function">mail</span> para que ele possa acessar uma nova página e informar novamente seus dados para acessar o Conteú<span class="php-keyword">do</span> exclusivo dele<span class="php-operator">!</span> <span class="php-operator">-</span><span class="php-operator">-</span><span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>form method<span class="php-operator">=</span><span class="php-string">&quot;post&quot;</span> action<span class="php-operator">=</span><span class="php-string">&quot;enviaInformacoes.php&quot;</span> id<span class="php-operator">=</span><span class="php-string">&quot;recuperaDados&quot;</span><span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span>fieldset<span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span>legend<span class="php-operator">&gt;</span>Recuperação de Dados<span class="php-operator">&lt;</span><span class="php-operator">/</span>legend<span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span>label <span class="php-keyword">for</span><span class="php-operator">=</span><span class="php-string">&quot;nomeUsuario&quot;</span><span class="php-operator">&gt;</span>Informe o e<span class="php-operator">-</span><span class="php-function">mail</span><span class="php-operator">:</span><span class="php-operator">&lt;</span><span class="php-operator">/</span>label<span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span>input type<span class="php-operator">=</span><span class="php-string">&quot;text&quot;</span> name<span class="php-operator">=</span><span class="php-string">&quot;email&quot;</span> id<span class="php-operator">=</span><span class="php-string">&quot;email&quot;</span> <span class="php-operator">/</span><span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span>div <span class="php-keyword">class</span><span class="php-operator">=</span><span class="php-string">&quot;clear&quot;</span><span class="php-operator">&gt;</span><span class="php-operator">&lt;</span><span class="php-operator">/</span>div<span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span>input type<span class="php-operator">=</span><span class="php-string">&quot;submit&quot;</span> value<span class="php-operator">=</span><span class="php-string">&quot;Recuperar Dados&quot;</span> <span class="php-operator">/</span><span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span><span class="php-operator">/</span>fieldset<span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span><span class="php-operator">/</span>form<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>div <span class="php-keyword">class</span><span class="php-operator">=</span><span class="php-string">&quot;borda&quot;</span><span class="php-operator">&gt;</span><span class="php-operator">&lt;</span><span class="php-operator">/</span>div<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span><span class="php-operator">/</span>div<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span><span class="php-operator">/</span>body<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span><span class="php-operator">/</span>html<span class="php-operator">&gt;</span></span></pre>
</td>
</tr>
</table>
</div>
<p>Acho que o formulário se explica sozinho correto? Ok, então vamos ver o que o arquivo &#8220;enviaInformacoes.php&#8221; tem a nos mostrar logo abaixo:</p>
<h2>enviaInformacoes.php</h2>
<div id="fvch-codeblock-1" class="fvch-codeblock">
<table>
<tr>
<td class="fvch-line-numbers">
<pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
</pre>
</td>
<td class="fvch-code">
<pre id="fvch-code-1"><span class="php"><span class="php-operator">&lt;</span><span class="php-operator">!</span>DOCTYPE HTML<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>html lang<span class="php-operator">=</span><span class="php-string">&quot;br&quot;</span> <span class="php-keyword">class</span><span class="php-operator">=</span><span class="php-string">&quot;no-js&quot;</span><span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>head<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>meta charset<span class="php-operator">=</span><span class="php-string">&quot;utf-8&quot;</span><span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span>title<span class="php-operator">&gt;</span>Sistema de Login e Senha Criptografados<span class="php-operator">&lt;</span><span class="php-operator">/</span>title<span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span><span class="php-function">link</span> href<span class="php-operator">=</span><span class="php-string">&quot;../style.css&quot;</span> rel<span class="php-operator">=</span><span class="php-string">&quot;stylesheet&quot;</span> <span class="php-operator">/</span><span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span><span class="php-operator">/</span>head<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>body<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>div id<span class="php-operator">=</span><span class="php-string">&quot;conteudo&quot;</span><span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>h<span class="php-number">1</span><span class="php-operator">&gt;</span>Sistema de login e senha criptografados <span class="php-operator">-</span> Verificando Informações<span class="php-operator">&lt;</span><span class="php-operator">/</span>h<span class="php-number">1</span><span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>div <span class="php-keyword">class</span><span class="php-operator">=</span><span class="php-string">&quot;borda&quot;</span><span class="php-operator">&gt;</span><span class="php-operator">&lt;</span><span class="php-operator">/</span>div<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span><span class="php-operator">!</span><span class="php-operator">-</span><span class="php-operator">-</span> Recebendo e gravando os dados <span class="php-operator">-</span><span class="php-operator">-</span><span class="php-operator">&gt;</span>
<span class="php-script-tag">&lt;?php</span>

<span class="php-keyword">include</span> <span class="php-string">&quot;conexao.php&quot;</span>;
<span class="php-comment">//Praticamente faço as mesmas validações que fizemos para o cadastrado do usuário no banco de dados.</span>
<span class="php-comment">//Recebendo os dados e tratando os mesmos para inserção no banco</span>
<span class="php-var">$recebeEmail</span> <span class="php-operator">=</span> <span class="php-function">filter_input</span><span class="php-brackets">(</span>INPUT_POST, <span class="php-string">'email'</span>, FILTER_VALIDATE_EMAIL<span class="php-brackets">)</span>;
<span class="php-var">$confereEmail</span> <span class="php-operator">=</span> <span class="php-function">filter_input</span><span class="php-brackets">(</span>INPUT_POST, <span class="php-string">'email'</span>, FILTER_SANITIZE_MAGIC_QUOTES<span class="php-brackets">)</span>;

<span class="php-comment">//Nesse if, faço uma conferência em relação ao e-mail informado. Se não for informado nenhum, retorno a mensagem para que o usuário informe corretamente</span>
<span class="php-keyword">if</span> <span class="php-brackets">(</span><span class="php-var">$recebeEmail</span> <span class="php-operator">=</span><span class="php-operator">=</span> NULL <span class="php-brackets">)</span> <span class="php-brackets">{</span>
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;O endereço de e-mail precisa ser informado!&quot;</span>;
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;&lt;a href='javascript:history.back();'&gt;Voltar&lt;/a&gt;&lt;/p&gt;&quot;</span>;
<span class="php-keyword">return</span> <span class="php-keyword">false</span>;
<span class="php-brackets">}</span>

<span class="php-comment">//Aqui faço a segunda parte da verificação: vejo se no endereço de e-mail foi utilizado algum caractere especial</span>
<span class="php-comment">//Isso serve para evitar uma possível invasão sql no banco de dados, possibilitando assim a proteção e integridade dos dados</span>
<span class="php-comment">//Nesse caso, eu comparo os nomes. Se forem iguais, após passarem pelos filtros, eu inicio a criptografia. Se não forem, peço que volte à página anterior</span>
<span class="php-keyword">else</span> <span class="php-keyword">if</span> <span class="php-brackets">(</span><span class="php-var">$recebeEmail</span> <span class="php-operator">!</span><span class="php-operator">=</span> <span class="php-var">$confereEmail</span><span class="php-brackets">)</span> <span class="php-brackets">{</span>
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;Você informou o seguinte endereço de e-mail: &lt;strong&gt;$confereEmail&lt;/strong&gt; .&lt;/p&gt;&quot;</span>;
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;Por favor, não utilize caracteres especiais (tais como aspas simples ou duplas e/ou barras!) no campo &lt;strong&gt;Informe o E-mail&lt;/strong&gt;.&lt;/p&gt;&quot;</span>;
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;&lt;a href='javascript:history.back();'&gt;Volte&lt;/a&gt; para a página anterior e tente novamente! Obrigado!&lt;/p&gt;&quot;</span>;
<span class="php-keyword">return</span> <span class="php-keyword">false</span>;

<span class="php-brackets">}</span> <span class="php-keyword">else</span> <span class="php-brackets">{</span>

<span class="php-comment">/*
Agora vamos consultar no banco de dados para ver se existe realmente esse cadastro
Vamos verificar ambos os dados: E-mail e ainda se o campo &quot;ATIVO&quot; está setado como SIM
*/</span>

<span class="php-var">$consultaInformacoes</span> <span class="php-operator">=</span> <span class="php-function">mysql_query</span><span class="php-brackets">(</span><span class="php-string">&quot;SELECT * FROM usuario WHERE email = '$confereEmail' AND ativo = 'sim'&quot;</span><span class="php-brackets">)</span><span class="php-operator"> or </span><span class="php-function">die</span> <span class="php-brackets">(</span><span class="php-function">mysql_error</span><span class="php-brackets">(</span><span class="php-brackets">)</span><span class="php-brackets">)</span>;
<span class="php-var">$verificaInformacoes</span> <span class="php-operator">=</span> <span class="php-function">mysql_num_rows</span><span class="php-brackets">(</span><span class="php-var">$consultaInformacoes</span><span class="php-brackets">)</span>;

<span class="php-comment">//Aqui vou verificar se houve resultado positivo na pesquisa</span>
<span class="php-keyword">if</span><span class="php-brackets">(</span><span class="php-var">$verificaInformacoes</span> <span class="php-operator">=</span><span class="php-operator">=</span> <span class="php-number">1</span><span class="php-brackets">)</span><span class="php-brackets">{</span>

<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;O e-mail informado (&lt;strong&gt;&lt;em&gt;$confereEmail&lt;/em&gt;&lt;/strong&gt;) consta de nossa base de dados.&lt;/p&gt;
&lt;p&gt;Acesse sua caixa de entrada. Se a mensagem não for encontrada, verifique se não está na caixa de spam!&lt;/p&gt;&quot;</span>;

<span class="php-comment">//Aqui vou enviar o e-mail com os dados para que o cliente faça o acesso à página</span>
<span class="php-comment">//O e-mail será enviado utilizando o PHPMailer</span>
<span class="php-comment">//Para executar essa função, é necessário que o sistema esteja hospedado em algum servidor web | SERVIDORES LOCAIS NÃO ENVIAM E-MAIL</span>
<span class="php-keyword">include</span> <span class="php-brackets">(</span><span class="php-string">&quot;phpmailer/class.phpmailer.php&quot;</span><span class="php-brackets">)</span>;

<span class="php-var">$headers</span> <span class="php-operator">=</span> <span class="php-string">&quot;Content-type:text/html; charset=utf-8&quot;</span>;
<span class="php-var">$headers</span> <span class="php-operator">=</span> <span class="php-string">&quot;From: seuEmail@seuDominio.com.br&quot;</span>;

<span class="php-var">$destino</span> <span class="php-operator">=</span> <span class="php-var">$recebeEmail</span>;
<span class="php-var">$de</span> <span class="php-operator">=</span> <span class="php-function">utf8_decode</span><span class="php-brackets">(</span><span class="php-string">&quot;Contato - André Buzzo&quot;</span><span class="php-brackets">)</span>;
<span class="php-var">$assunto</span> <span class="php-operator">=</span> <span class="php-string">&quot;..:: Recuperação de dados ::..&quot;</span>;
<span class="php-var">$html</span> <span class="php-operator">=</span> <span class="php-function">utf8_decode</span><span class="php-brackets">(</span><span class="php-string">'
&lt;hr /&gt;
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
&lt;title&gt;Recuperação de Dados&lt;/title&gt;
&lt;style type=&quot;text/css&quot;&gt;
&lt;!--
.style1 {
font-family: &quot;Trebuchet MS&quot;, Arial;
font-size: 16px;
color: #FFFFFF;
}
.style4 {
font-family: &quot;Trebuchet MS&quot;, Arial;
font-size: 12px;
color: #333333;
font-weight: bold;
}
--&gt;
&lt;/style&gt;&lt;/head&gt;

&lt;body&gt;
&lt;form method=&quot;post&quot; action=&quot;http://seuDominio.com.br/exclusivo/atualizaInformacoes.php&quot;&gt;
&lt;fieldset&gt;
&lt;legend&gt;Recuperação de Dados de Acesso&lt;/legend&gt;
&lt;label for=&quot;informacao&quot;&gt;Para recuperar seus dados, clique no botão &quot;Atualizar Meus Dados&quot;!&lt;/label&gt;
&lt;input type=&quot;hidden&quot; name=&quot;confereEmail&quot; value=&quot;'</span><span class="php-operator">.</span><span class="php-var">$confereEmail</span><span class="php-operator">.</span><span class="php-string">'&quot; /&gt;&lt;br /&gt;
&lt;input type=&quot;submit&quot; value=&quot;Atualizar Meus Dados&quot; /&gt;
&lt;/fieldset&gt;
&lt;/form&gt;
&lt;/body&gt;
&lt;/html&gt;

&lt;hr /&gt;'</span><span class="php-brackets">)</span>;

<span class="php-var">$mail</span> <span class="php-operator">=</span> <span class="php-keyword">new</span> PHPMailer<span class="php-brackets">(</span><span class="php-brackets">)</span>; <span class="php-comment">// criando a nova classe - instnciando</span>

<span class="php-var">$mail</span><span class="php-operator">-</span><span class="php-operator">&gt;</span>IsSMTP <span class="php-operator">=</span> <span class="php-brackets">(</span><span class="php-string">&quot;smtp&quot;</span><span class="php-brackets">)</span>;
<span class="php-var">$mail</span><span class="php-operator">-</span><span class="php-operator">&gt;</span>Mailer <span class="php-operator">=</span> <span class="php-brackets">(</span><span class="php-string">&quot;mail&quot;</span><span class="php-brackets">)</span>;
<span class="php-var">$mail</span><span class="php-operator">-</span><span class="php-operator">&gt;</span>SMTPSecure <span class="php-operator">=</span> <span class="php-string">&quot;ssl&quot;</span>;
<span class="php-var">$mail</span><span class="php-operator">-</span><span class="php-operator">&gt;</span>SMTPAuth <span class="php-operator">=</span> <span class="php-keyword">true</span>;
<span class="php-comment">//$mail-&gt;CharSet = 'utf-8';</span>
<span class="php-var">$mail</span><span class="php-operator">-</span><span class="php-operator">&gt;</span>Username <span class="php-operator">=</span> <span class="php-brackets">(</span><span class="php-string">&quot;seuEmail@seuDominio.com.br&quot;</span><span class="php-brackets">)</span>;
<span class="php-var">$mail</span><span class="php-operator">-</span><span class="php-operator">&gt;</span>Password <span class="php-operator">=</span> <span class="php-brackets">(</span><span class="php-string">&quot;suaSenha&quot;</span><span class="php-brackets">)</span>;
<span class="php-var">$mail</span><span class="php-operator">-</span><span class="php-operator">&gt;</span>Sender <span class="php-operator">=</span> <span class="php-brackets">(</span><span class="php-string">&quot;seuEmail@seuDominio.com.br&quot;</span><span class="php-brackets">)</span>;
<span class="php-var">$mail</span><span class="php-operator">-</span><span class="php-operator">&gt;</span>From <span class="php-operator">=</span> <span class="php-brackets">(</span><span class="php-string">&quot;seuEmail@seuDominio.com.br&quot;</span><span class="php-brackets">)</span>;
<span class="php-var">$mail</span><span class="php-operator">-</span><span class="php-operator">&gt;</span>FromName <span class="php-operator">=</span> <span class="php-var">$de</span>;
<span class="php-var">$mail</span><span class="php-operator">-</span><span class="php-operator">&gt;</span>AddAddress <span class="php-brackets">(</span><span class="php-var">$destino</span><span class="php-brackets">)</span>;
<span class="php-comment">//$mail-&gt;Addbcc ($para);</span>
<span class="php-var">$mail</span><span class="php-operator">-</span><span class="php-operator">&gt;</span>AddReplyTo<span class="php-brackets">(</span><span class="php-string">&quot;$email&quot;</span>,<span class="php-string">&quot;$nome&quot;</span><span class="php-brackets">)</span>;
<span class="php-var">$mail</span><span class="php-operator">-</span><span class="php-operator">&gt;</span>Wordwrap <span class="php-operator">=</span> <span class="php-number">5</span><span class="php-number">0</span>;
<span class="php-var">$mail</span><span class="php-operator">-</span><span class="php-operator">&gt;</span>Subject <span class="php-operator">=</span> <span class="php-brackets">(</span><span class="php-var">$assunto</span><span class="php-brackets">)</span>;
<span class="php-var">$mail</span><span class="php-operator">-</span><span class="php-operator">&gt;</span>IsHTML <span class="php-operator">=</span> <span class="php-brackets">(</span><span class="php-keyword">true</span><span class="php-brackets">)</span>;
<span class="php-var">$texto</span> <span class="php-operator">=</span> <span class="php-string">&quot;body&quot;</span>;

<span class="php-var">$mail</span><span class="php-operator">-</span><span class="php-operator">&gt;</span>Body <span class="php-operator">=</span> <span class="php-var">$html</span>;
<span class="php-var">$mail</span><span class="php-operator">-</span><span class="php-operator">&gt;</span>AltBody <span class="php-operator">=</span><span class="php-var">$texto</span>;

<span class="php-keyword">if</span><span class="php-brackets">(</span><span class="php-var">$mail</span><span class="php-operator">-</span><span class="php-operator">&gt;</span>Send<span class="php-brackets">(</span><span class="php-var">$destino</span>, <span class="php-string">&quot;Recuperação de dados!&quot;</span>, <span class="php-var">$html</span>, <span class="php-var">$headers</span><span class="php-brackets">)</span><span class="php-brackets">)</span><span class="php-brackets">{</span>
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;Mensagem enviada com sucesso! Obrigado!&quot;</span>;
<span class="php-brackets">}</span> <span class="php-keyword">else</span> <span class="php-brackets">{</span><span class="php-keyword">echo</span> <span class="php-string">&quot;Houve um problema&quot;</span>;<span class="php-brackets">}</span>

<span class="php-brackets">}</span> <span class="php-keyword">else</span> <span class="php-brackets">{</span>
<span class="php-comment">//Se nenhuma das confirmações acima foram efetuadas, mais uma vez, retorno uma mensagem de erro ao usuário.</span>
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;Endereço de e-mail informado não consta em nossa base de dados. Por favor, &lt;a href='javascript:history.back();'&gt;volte&lt;/a&gt; e tente novamente!&lt;/p&gt;&quot;</span>;

<span class="php-brackets">}</span>

<span class="php-brackets">}</span>
<span class="php-script-tag">?&gt;<span class="html">

<span class="html-other-element">&lt;/div&gt;</span>

<span class="html-other-element">&lt;/body&gt;</span>

<span class="html-other-element">&lt;/html&gt;</span></span></span></span></pre>
</td>
</tr>
</table>
</div>
<p>O arquivo acima está comentado para que seu entendimento seja pleno. A <a href="http://www.andrebuzzo.com.br/downloads/phpmailer.rar">classe PHPMailer pode ser baixada nesse endereço</a>!</p>
<p>Quando o usuário acessar a caixa de e-mail dele, ele verá uma mensagem que o informará da necessidade se clicar em um link. Ao clicar nele, ele será enviado para uma página chamada &#8220;atualizaInformacoes.php&#8221;, na qual será realizada uma consulta novamente para saber se o e-mail que está sendo informado realmente consta em nossa base de dados.</p>
<p>Vamos fazer outra consulta e validação, pois precisamos garantir o mínimo de segurança do nosso sistema. A página segue abaixo:</p>
<h2>atualizaInformacoes.php</h2>
<div id="fvch-codeblock-2" class="fvch-codeblock">
<table>
<tr>
<td class="fvch-line-numbers">
<pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
</pre>
</td>
<td class="fvch-code">
<pre id="fvch-code-2"><span class="php"><span class="php-operator">&lt;</span><span class="php-operator">!</span>DOCTYPE HTML<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>html lang<span class="php-operator">=</span><span class="php-string">&quot;br&quot;</span> <span class="php-keyword">class</span><span class="php-operator">=</span><span class="php-string">&quot;no-js&quot;</span><span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>head<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>meta charset<span class="php-operator">=</span><span class="php-string">&quot;utf-8&quot;</span><span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span>title<span class="php-operator">&gt;</span>Sistema de Login e Senha Criptografados<span class="php-operator">&lt;</span><span class="php-operator">/</span>title<span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span><span class="php-function">link</span> href<span class="php-operator">=</span><span class="php-string">&quot;../style.css&quot;</span> rel<span class="php-operator">=</span><span class="php-string">&quot;stylesheet&quot;</span> <span class="php-operator">/</span><span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span><span class="php-operator">/</span>head<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>body<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>div id<span class="php-operator">=</span><span class="php-string">&quot;conteudo&quot;</span><span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>h<span class="php-number">1</span><span class="php-operator">&gt;</span>Sistema de login e senha criptografados <span class="php-operator">-</span> Verificando Informações<span class="php-operator">&lt;</span><span class="php-operator">/</span>h<span class="php-number">1</span><span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>div <span class="php-keyword">class</span><span class="php-operator">=</span><span class="php-string">&quot;borda&quot;</span><span class="php-operator">&gt;</span><span class="php-operator">&lt;</span><span class="php-operator">/</span>div<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span><span class="php-operator">!</span><span class="php-operator">-</span><span class="php-operator">-</span> Recebendo e gravando os dados <span class="php-operator">-</span><span class="php-operator">-</span><span class="php-operator">&gt;</span>
<span class="php-script-tag">&lt;?php</span>

<span class="php-keyword">include</span> <span class="php-string">&quot;conexao.php&quot;</span>;
<span class="php-comment">//Praticamente faço as mesmas validações que fizemos para o cadastrado do usuário no banco de dados.</span>
<span class="php-comment">//Recebendo os dados e tratando os mesmos para inserção no banco</span>
<span class="php-var">$recebeEmail</span> <span class="php-operator">=</span> <span class="php-function">filter_input</span><span class="php-brackets">(</span>INPUT_POST, <span class="php-string">'confereEmail'</span>, FILTER_VALIDATE_EMAIL<span class="php-brackets">)</span>;
<span class="php-var">$confereEmail</span> <span class="php-operator">=</span> <span class="php-function">filter_input</span><span class="php-brackets">(</span>INPUT_POST, <span class="php-string">'confereEmail'</span>, FILTER_SANITIZE_MAGIC_QUOTES<span class="php-brackets">)</span>;

<span class="php-comment">//Nesse if, faço uma conferência em relação ao e-mail informado. Se não for informado nenhum, retorno a mensagem para que o usuário informe corretamente</span>
<span class="php-keyword">if</span> <span class="php-brackets">(</span><span class="php-var">$recebeEmail</span> <span class="php-operator">=</span><span class="php-operator">=</span> NULL <span class="php-brackets">)</span> <span class="php-brackets">{</span>
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;Nenhum endereço de e-mail foi informado!&quot;</span>;
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;&lt;a href='javascript:history.back();'&gt;Voltar&lt;/a&gt;&lt;/p&gt;&quot;</span>;
<span class="php-keyword">return</span> <span class="php-keyword">false</span>;
<span class="php-brackets">}</span>

<span class="php-comment">//Aqui faço a segunda parte da verificação: vejo se no endereço de e-mail foi utilizado algum caractere especial</span>
<span class="php-comment">//Isso serve para evitar uma possível invasão sql no banco de dados, possibilitando assim a proteção e integridade dos dados</span>
<span class="php-comment">//Nesse caso, eu comparo os nomes. Se forem iguais, após passarem pelos filtros, eu inicio a criptografia. Se não forem, peço que volte à página anterior</span>
<span class="php-keyword">else</span> <span class="php-keyword">if</span> <span class="php-brackets">(</span><span class="php-var">$recebeEmail</span> <span class="php-operator">!</span><span class="php-operator">=</span> <span class="php-var">$confereEmail</span><span class="php-brackets">)</span> <span class="php-brackets">{</span>
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;Você informou o seguinte endereço de e-mail: &lt;strong&gt;$confereEmail&lt;/strong&gt; .&lt;/p&gt;&quot;</span>;
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;Por favor, não utilize caracteres especiais (tais como aspas simples ou duplas e/ou barras!) no campo &lt;strong&gt;Informe o E-mail&lt;/strong&gt;.&lt;/p&gt;&quot;</span>;
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;&lt;a href='javascript:history.back();'&gt;Volte&lt;/a&gt; para a página anterior e tente novamente! Obrigado!&lt;/p&gt;&quot;</span>;
<span class="php-keyword">return</span> <span class="php-keyword">false</span>;

<span class="php-brackets">}</span> <span class="php-keyword">else</span> <span class="php-brackets">{</span>

<span class="php-comment">/*
Agora vamos consultar no banco de dados para ver se existe realmente esse cadastro
Vamos verificar ambos os dados: E-mail e ainda se o campo &quot;ATIVO&quot; está setado como SIM
*/</span>

<span class="php-var">$consultaInformacoes</span> <span class="php-operator">=</span> <span class="php-function">mysql_query</span><span class="php-brackets">(</span><span class="php-string">&quot;SELECT * FROM usuario WHERE email = '$confereEmail' AND ativo = 'sim'&quot;</span><span class="php-brackets">)</span><span class="php-operator"> or </span><span class="php-function">die</span> <span class="php-brackets">(</span><span class="php-function">mysql_error</span><span class="php-brackets">(</span><span class="php-brackets">)</span><span class="php-brackets">)</span>;
<span class="php-var">$verificaInformacoes</span> <span class="php-operator">=</span> <span class="php-function">mysql_num_rows</span><span class="php-brackets">(</span><span class="php-var">$consultaInformacoes</span><span class="php-brackets">)</span>;

<span class="php-comment">//Aqui vou verificar se houve resultado positivo na pesquisa</span>
<span class="php-keyword">if</span><span class="php-brackets">(</span><span class="php-var">$verificaInformacoes</span> <span class="php-operator">=</span><span class="php-operator">=</span> <span class="php-number">1</span><span class="php-brackets">)</span><span class="php-brackets">{</span>

<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;O e-mail informado (&lt;strong&gt;&lt;em&gt;$confereEmail&lt;/em&gt;&lt;/strong&gt;) consta de nossa base de dados.&lt;/p&gt;
&lt;p&gt;Preencha os dados abaixo para obter acesso ao &lt;strong&gt;Conteúdo Exclusivo!&lt;/strong&gt;&lt;/p&gt;&quot;</span>;

<span class="php-keyword">echo</span> <span class="php-string">&quot;
&lt;form method='post' action='atualizaDados.php'&gt;
&lt;fieldset&gt;
&lt;legend&gt;Preencha os dados para obter acesso ao Conteúdo Exclusivo!&lt;/legend&gt;
&lt;label for='nomeUsuario'&gt;Nome de Usuário:&lt;/label&gt;
&lt;input type='text' name='nomeUsuario' id='nomeUsuario' /&gt;
&lt;div class='clear'&gt;&lt;/div&gt;
&lt;label for='senha'&gt;Informe a senha:&lt;/label&gt;
&lt;input type='password' name='senha' id='senha' /&gt;
&lt;div class='clear'&gt;&lt;/div&gt;
&lt;input type='hidden' name='emailControle' value='&quot;</span><span class="php-operator">.</span><span class="php-var">$confereEmail</span><span class="php-operator">.</span><span class="php-string">&quot;' /&gt;
&lt;input type='submit' value='Atualizar informações' /&gt;
&lt;/fieldset&gt;
&lt;/form&gt;&quot;</span>;

<span class="php-brackets">}</span>
<span class="php-brackets">}</span>
<span class="php-script-tag">?&gt;<span class="html">

<span class="html-other-element">&lt;/div&gt;</span>

<span class="html-other-element">&lt;/body&gt;</span>

<span class="html-other-element">&lt;/html&gt;</span></span></span></span></pre>
</td>
</tr>
</table>
</div>
<p>Se os dados informados baterem, exibimos outro formulário para que o usuário novamente faça o cadastro dos seus dados, e garanta assim, um novo acesso ao sistema. Simplesmente pedimos os dados novamente e atualizamos a tabela onde o e-mail cadastrado seja igual ao e-mail que acessou o sistema.</p>
<p>E é lógico, faremos toda a validação, praticamente igual ao ato de cadastrar o usuário no banco.</p>
<h2>atualizaDados.php</h2>
<div id="fvch-codeblock-3" class="fvch-codeblock">
<table>
<tr>
<td class="fvch-line-numbers">
<pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
</pre>
</td>
<td class="fvch-code">
<pre id="fvch-code-3"><span class="php"><span class="php-operator">&lt;</span><span class="php-operator">!</span>DOCTYPE HTML<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>html lang<span class="php-operator">=</span><span class="php-string">&quot;br&quot;</span> <span class="php-keyword">class</span><span class="php-operator">=</span><span class="php-string">&quot;no-js&quot;</span><span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>head<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>meta charset<span class="php-operator">=</span><span class="php-string">&quot;utf-8&quot;</span><span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span>title<span class="php-operator">&gt;</span>Sistema de Login e Senha Criptografados<span class="php-operator">&lt;</span><span class="php-operator">/</span>title<span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span><span class="php-function">link</span> href<span class="php-operator">=</span><span class="php-string">&quot;../style.css&quot;</span> rel<span class="php-operator">=</span><span class="php-string">&quot;stylesheet&quot;</span> <span class="php-operator">/</span><span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span><span class="php-operator">/</span>head<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>body<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>div id<span class="php-operator">=</span><span class="php-string">&quot;conteudo&quot;</span><span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>h<span class="php-number">1</span><span class="php-operator">&gt;</span>Sistema de login e senha criptografados<span class="php-operator">&lt;</span><span class="php-operator">/</span>h<span class="php-number">1</span><span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>div <span class="php-keyword">class</span><span class="php-operator">=</span><span class="php-string">&quot;borda&quot;</span><span class="php-operator">&gt;</span><span class="php-operator">&lt;</span><span class="php-operator">/</span>div<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span><span class="php-operator">!</span><span class="php-operator">-</span><span class="php-operator">-</span> Recebendo e gravando os dados <span class="php-operator">-</span><span class="php-operator">-</span><span class="php-operator">&gt;</span>
<span class="php-script-tag">&lt;?php</span>

<span class="php-keyword">include</span> <span class="php-string">&quot;conexao.php&quot;</span>;

<span class="php-comment">//URL para a qual o usuário será enviado após ter preenchido todos os campos corretamente</span>
<span class="php-var">$urlAcesso</span> <span class="php-operator">=</span> <span class="php-string">&quot;index.php&quot;</span>;

<span class="php-comment">//Recebendo os dados e tratando os mesmos para inserção no banco</span>
<span class="php-var">$recebeNomeUsuario</span> <span class="php-operator">=</span> <span class="php-function">filter_input</span><span class="php-brackets">(</span>INPUT_POST, <span class="php-string">'nomeUsuario'</span>, FILTER_SANITIZE_SPECIAL_CHARS<span class="php-brackets">)</span>;
<span class="php-var">$confereNomeUsuario</span> <span class="php-operator">=</span> <span class="php-function">filter_input</span><span class="php-brackets">(</span>INPUT_POST, <span class="php-string">'nomeUsuario'</span>, FILTER_SANITIZE_MAGIC_QUOTES<span class="php-brackets">)</span>;
<span class="php-var">$recebeEmail</span> <span class="php-operator">=</span> <span class="php-function">filter_input</span><span class="php-brackets">(</span>INPUT_POST, <span class="php-string">'emailControle'</span>, FILTER_VALIDATE_EMAIL<span class="php-brackets">)</span>;
<span class="php-var">$recebeSenha</span> <span class="php-operator">=</span> <span class="php-function">filter_input</span><span class="php-brackets">(</span>INPUT_POST, <span class="php-string">'senha'</span>, FILTER_SANITIZE_SPECIAL_CHARS<span class="php-brackets">)</span>;

<span class="php-comment">//Nesse if, faço uma conferência em relação ao e-mail informado; se não for um e-mail validado pelo filtro, ele retornará a mensagem abaixo.</span>
<span class="php-comment">//Se o email for válido, ele passa para a segunda parte da verificação</span>
<span class="php-keyword">if</span> <span class="php-brackets">(</span><span class="php-var">$recebeEmail</span> <span class="php-operator">=</span><span class="php-operator">=</span> NULL <span class="php-brackets">)</span> <span class="php-brackets">{</span>
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;Retorne e digite um e-mail válido por favor!&quot;</span>;
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;&lt;a href='javascript:history.back();'&gt;Voltar&lt;/a&gt;&lt;/p&gt;&quot;</span>;
<span class="php-keyword">return</span> <span class="php-keyword">false</span>;
<span class="php-brackets">}</span>

<span class="php-comment">//Nesse if, faço uma conferência em relação à senha informada. Se não for informada nenhuma, retorno a mensagem para que o usuário informe algo!</span>
<span class="php-keyword">if</span> <span class="php-brackets">(</span><span class="php-var">$recebeSenha</span> <span class="php-operator">=</span><span class="php-operator">=</span> NULL <span class="php-brackets">)</span> <span class="php-brackets">{</span>
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;Retorne e informe uma senha por favor!&quot;</span>;
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;&lt;a href='javascript:history.back();'&gt;Voltar&lt;/a&gt;&lt;/p&gt;&quot;</span>;
<span class="php-keyword">return</span> <span class="php-keyword">false</span>;
<span class="php-brackets">}</span>

<span class="php-comment">//Aqui faço a segunda parte da verificação: vejo se no nome de usuário foi utilizado algum caractere especial</span>
<span class="php-comment">//Isso serve para evitar uma possível invasão sql no banco de dados, possibilitando assim a proteção e integridade dos dados</span>
<span class="php-comment">//Nesse caso, eu comparo os nomes. Se forem iguais, após passarem pelos filtros, eu inicio a criptografia. Se não forem, peço que volte à página anterior</span>
<span class="php-keyword">else</span> <span class="php-keyword">if</span> <span class="php-brackets">(</span><span class="php-var">$confereNomeUsuario</span> <span class="php-operator">!</span><span class="php-operator">=</span> <span class="php-var">$recebeNomeUsuario</span><span class="php-brackets">)</span> <span class="php-brackets">{</span>
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;Você informou o seguinte Nome de Usuário: &lt;strong&gt;$recebeNomeUsuario&lt;/strong&gt; .&lt;/p&gt;&quot;</span>;
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;Por favor, não utilize caracteres especiais (tais como aspas simples ou duplas, assim como barras!) no campo &lt;strong&gt;Nome de Usuário&lt;/strong&gt;.&lt;/p&gt;&quot;</span>;
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;&lt;a href='javascript:history.back();'&gt;Volte&lt;/a&gt; para a página anterior e tente novamente! Obrigado!&lt;/p&gt;&quot;</span>;
<span class="php-keyword">return</span> <span class="php-keyword">false</span>;

<span class="php-brackets">}</span> <span class="php-keyword">else</span> <span class="php-brackets">{</span>

<span class="php-comment">//Aqui vou agora, criptografar as informações antes de enviá-las ao banco de dados</span>
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;h3&gt;Atualizando informações em nosso banco de dados&lt;/h3&gt;&quot;</span>;

<span class="php-comment">//Aqui vamos criar a função que vai criptografar os dados.</span>
<span class="php-comment">//Serão necessários criptografar apenas o endereço de e-mail e a senha informada</span>

<span class="php-comment">//Função para criptografar a senha</span>
<span class="php-function">function</span> criptoSenha<span class="php-brackets">(</span><span class="php-var">$criptoSenha</span><span class="php-brackets">)</span><span class="php-brackets">{</span>
<span class="php-keyword">return</span> <span class="php-function">sha1</span><span class="php-brackets">(</span><span class="php-function">md5</span><span class="php-brackets">(</span><span class="php-var">$criptoSenha</span><span class="php-brackets">)</span><span class="php-brackets">)</span>;
<span class="php-brackets">}</span>
<span class="php-comment">//Função para criptografar o e-mail</span>
<span class="php-function">function</span> criptoNomeUsuario<span class="php-brackets">(</span><span class="php-var">$criptoNomeUsuario</span><span class="php-brackets">)</span><span class="php-brackets">{</span>
<span class="php-keyword">return</span> <span class="php-function">sha1</span><span class="php-brackets">(</span><span class="php-function">md5</span><span class="php-brackets">(</span><span class="php-var">$criptoNomeUsuario</span><span class="php-brackets">)</span><span class="php-brackets">)</span>;
<span class="php-brackets">}</span>
<span class="php-comment">//Aqui realizo a criptografia do endereço de e-mail</span>
<span class="php-var">$criptoNomeUsuario</span> <span class="php-operator">=</span> criptoNomeUsuario<span class="php-brackets">(</span><span class="php-function">filter_input</span><span class="php-brackets">(</span>INPUT_POST, <span class="php-string">'nomeUsuario'</span>, FILTER_SANITIZE_MAGIC_QUOTES<span class="php-brackets">)</span><span class="php-brackets">)</span>;
<span class="php-comment">//Aqui realizo a criptografia da senha informada do usuário</span>
<span class="php-var">$criptoSenha</span> <span class="php-operator">=</span> criptoSenha<span class="php-brackets">(</span><span class="php-function">filter_input</span><span class="php-brackets">(</span>INPUT_POST, <span class="php-string">'senha'</span>, FILTER_SANITIZE_SPECIAL_CHARS<span class="php-brackets">)</span><span class="php-brackets">)</span>;

<span class="php-comment">//Agora vamos atualizar os dados no banco</span>
<span class="php-var">$atualizaDados</span> <span class="php-operator">=</span> <span class="php-function">mysql_query</span><span class="php-brackets">(</span><span class="php-string">&quot;UPDATE usuario SET userlogin = '$criptoNomeUsuario', passlogin = 'criptoSenha' WHERE email = '$recebeEmail'&quot;</span><span class="php-brackets">)</span><span class="php-operator"> or </span><span class="php-function">die</span> <span class="php-brackets">(</span><span class="php-function">mysql_error</span><span class="php-brackets">(</span><span class="php-brackets">)</span><span class="php-brackets">)</span>;

<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;Seu cadastro foi atualizado com sucesso!&lt;/p&gt;&quot;</span>;
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;Aguarde enquanto lhe encaminhamos para a página de acesso ao &lt;strong&gt;Conteúdo Exclusivo&lt;/strong&gt;!&quot;</span>;
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;meta http-equiv=\&quot;refresh\&quot; content=\&quot;5;URL=&quot;</span><span class="php-operator">.</span><span class="php-var">$urlAcesso</span><span class="php-operator">.</span><span class="php-string">&quot;\&quot;&gt;&quot;</span>;
<span class="php-brackets">}</span>

<span class="php-script-tag">?&gt;<span class="html">

<span class="html-other-element">&lt;/div&gt;</span>

<span class="html-other-element">&lt;/body&gt;</span>

<span class="html-other-element">&lt;/html&gt;</span></span></span></span></pre>
</td>
</tr>
</table>
</div>
<p>Bom, espero que o sistema tenha agradado a todos, e que possam fazer bom uso dele. Espero também ter dado novos horizontes sobre o que é possível se fazer com esse script.</p>
<p>Bons estudos e até a próxima!</p>
<p>Abraços!</p>
<link href="../style.css" rel="stylesheet" />
<link href="../style.css" rel="stylesheet" />
<style type="text/css"><!--
.style1 { 																								font-family: "Trebuchet MS", Arial; 																								font-size: 16px; 																								color: #FFFFFF; 																							} 																							.style4 { 																								font-family: "Trebuchet MS", Arial; 																								font-size: 12px; 																								color: #333333; 																								font-weight: bold; 																							} 																							-->
--></style>
<link href="../style.css" rel="stylesheet" />
<link href="../style.css" rel="stylesheet" />
<div class="crp_related"><h3>Assuntos relacionados:</h3><ul><li><a href="http://www.andrebuzzo.com.br/sistema-de-login-e-senha-criptografados-parte-01/"     class="crp_title">Sistema de Login e Senha Criptografados &#8211; Parte 01</a></li><li><a href="http://www.andrebuzzo.com.br/script-formulario-anti-spam/"     class="crp_title">Script: Formulário Anti-Spam</a></li><li><a href="http://www.andrebuzzo.com.br/script-envio-de-newsletter-percorrendo-banco-de-dados/"     class="crp_title">Script: Envio de Newsletter percorrendo banco de dados</a></li><li><a href="http://www.andrebuzzo.com.br/script-sistema-de-comentarios-com-php/"     class="crp_title">Script &#8211; Sistema de comentários com PHP</a></li><li><a href="http://www.andrebuzzo.com.br/sistema-de-comentarios-com-php-inserindo-gravatar/"     class="crp_title">SISTEMA DE COMENTÁRIOS COM PHP &#8211; INSERINDO GRAVATAR</a></li></ul></div><p>Fonte: <a href="http://www.andrebuzzo.com.br">André Buzzo - Desenvolvimento HTML5 + CSS + jQuery</a>
Post original: <a href="http://www.andrebuzzo.com.br/sistema-de-login-e-senha-criptografados-parte-02/">Sistema de Login e Senha Criptografados &#8211; Parte 02</a>
Conteúdo originalmente criado por <a rel="author" href="http://www.andrebuzzo.com.br/author/tuco/">André Buzzo</a></p><img src="http://feeds.feedburner.com/~r/andrebuzzo/~4/94g0zN7QSsw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andrebuzzo.com.br/sistema-de-login-e-senha-criptografados-parte-02/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		<feedburner:origLink>http://www.andrebuzzo.com.br/sistema-de-login-e-senha-criptografados-parte-02/</feedburner:origLink></item>
		<item>
		<title>Sistema de Login e Senha Criptografados – Parte 01</title>
		<link>http://feedproxy.google.com/~r/andrebuzzo/~3/8CJ1nwLl3Us/</link>
		<comments>http://www.andrebuzzo.com.br/sistema-de-login-e-senha-criptografados-parte-01/#comments</comments>
		<pubDate>Tue, 15 Jan 2013 18:44:23 +0000</pubDate>
		<dc:creator>André Buzzo</dc:creator>
				<category><![CDATA[Banco de Scripts]]></category>
		<category><![CDATA[Criptografia]]></category>
		<category><![CDATA[Login]]></category>
		<category><![CDATA[Senha]]></category>
		<category><![CDATA[Sistema]]></category>
		<category><![CDATA[Sistema de Login e Senha]]></category>

		<guid isPermaLink="false">http://www.andrebuzzo.com.br/?p=2061</guid>
		<description><![CDATA[<p>Fala pessoas! Hoje eu queria começar 2013 de uma maneira diferente: ao invés de gravar uma vídeo aula explicando determinado assunto, eu decidi ESCREVER para fazer isso. Há tempos eu penso em fazer algo mais &#8220;complexo&#8221; aqui no site, para atender também a algumas dúvidas de usuários mais avançados. Ou não. Porém, por falta de [...]<div class="crp_related"><h3>Assuntos relacionados:</h3><ul><li><a href="http://www.andrebuzzo.com.br/sistema-de-login-e-senha-criptografados-parte-02/"     class="crp_title">Sistema de Login e Senha Criptografados &#8211; Parte 02</a></li><li><a href="http://www.andrebuzzo.com.br/sistema-de-comentarios-com-php-inserindo-gravatar/"     class="crp_title">SISTEMA DE COMENTÁRIOS COM PHP &#8211; INSERINDO GRAVATAR</a></li><li><a href="http://www.andrebuzzo.com.br/script-sistema-de-comentarios-com-php/"     class="crp_title">Script &#8211; Sistema de comentários com PHP</a></li><li><a href="http://www.andrebuzzo.com.br/script-formulario-anti-spam/"     class="crp_title">Script: Formulário Anti-Spam</a></li><li><a href="http://www.andrebuzzo.com.br/script-envio-de-newsletter-percorrendo-banco-de-dados/"     class="crp_title">Script: Envio de Newsletter percorrendo banco de dados</a></li></ul></div></p><p>Fonte: <a href="http://www.andrebuzzo.com.br">André Buzzo - Desenvolvimento HTML5 + CSS + jQuery</a>
Post original: <a href="http://www.andrebuzzo.com.br/sistema-de-login-e-senha-criptografados-parte-01/">Sistema de Login e Senha Criptografados &#8211; Parte 01</a>
Conteúdo originalmente criado por <a rel="author" href="http://www.andrebuzzo.com.br/author/tuco/">André Buzzo</a></p>]]></description>
				<content:encoded><![CDATA[<p>Fala pessoas!</p>
<p>Hoje eu queria começar 2013 de uma maneira diferente: ao invés de gravar uma vídeo aula explicando determinado assunto, eu decidi <strong>ESCREVER</strong> para fazer isso. Há tempos eu penso em fazer algo mais &#8220;complexo&#8221; aqui no site, para atender também a algumas dúvidas de usuários mais avançados.</p>
<p>Ou não.</p>
<p>Porém, por falta de tempo (não que hoje esteja sobrando, que fique bem claro isso!) eu não conseguia gravar a vídeo aula, então, eu resolvi criar os scripts e comentá-lo. Isso mesmo. Farei alguns comentários ao inserir aqui os códigos, mas o script em si está bem comentado, visando não dar margem para dúvidas futuras.</p>
<p>Mas, como eu sempre costumo dizer, eu gosto quando as pessoas dão &#8220;aquela viajada&#8221; e, por si só, fazem aquele comentário interno &#8220;Nossa! Eu poderia usar isso para fazer aquilo! Só preciso adaptar isso aqui e ali&#8221; &#8230;</p>
<p>Se alguém quiser me deixar feliz, é só fazer isso!</p>
<p><img class="alignnone size-full wp-image-2085" alt="Sistema de Login e Senha Criptografados - André Buzzo Webdesign" src="http://www.andrebuzzo.com.br/wp-content/uploads/2013/01/imagemTutorial.jpg" width="650" height="200" /></p>
<h2>Apresentando: O PROBLEMA!</h2>
<p>O cliente X me pediu para que eu criasse um sistema, onde seria necessário seguir as seguintes diretrizes:</p>
<ul>
<li>O usuário deverá fazer seu cadastro, que deverá, por sua vez, conter os campos: Seu Nome, Nome de Usuário, E-mail e Senha;</li>
<li>Haverá no sistema um setor de &#8220;<strong>Conteúdo Exclusivo</strong>&#8220;, que o usuário só poderá acessar após fazer o seu cadastro completo;</li>
<li>Poderá ser cadastrado apenas <strong>UM</strong> endereço de e-mail; se for cadastrado em duplicidade, o usuário deve ser avisado desse problema;</li>
<li>Esse conteúdo, não poderá, em hipótese alguma, ser acessado por quem não efetuou o cadastro;</li>
<li>Preciso da segurança: se por um acaso o sistema for invadido, não quero que o invasor tenha acesso ao <strong>NOME DE USUÁRIO</strong> e a <strong>SENHA</strong> cadastrada. Precisam ser criptografados;</li>
<li>Caso o usuário perca seus dados, deve ser dada a opção e ferramentas para que o mesmo possa cadastrar novos dados, sempre que necessário;</li>
</ul>
<p>Com esse &#8220;mini briefing&#8221; em mãos, podemos pensar e fazer uma comparação da seguinte maneira: eu preciso guardar dados dentro do banco, e depois, de alguma maneira, preciso recuperá-los. É o mesmo que eu jogar as coisas dentro de um baú com um cadeado, e depois, usando uma senha, eu consiga recuperar esses dados guardados lá&#8230; bico! rs</p>
<p>Então vamos começar a desenvolver esse nosso sistema: o primeiro arquivo que precisaremos ter em mãos é o de &#8220;conexão ao banco de dados&#8221;. O mesmo segue abaixo:</p>
<h2>conexao.php</h2>
<div id="fvch-codeblock-0" class="fvch-codeblock">
<table>
<tr>
<td class="fvch-line-numbers">
<pre>1
2
3
4
5
6
7
8
9
10
11
</pre>
</td>
<td class="fvch-code">
<pre id="fvch-code-0"><span class="php"><span class="php-script-tag">&lt;?php</span>

<span class="php-var">$host</span> <span class="php-operator">=</span> <span class="php-string">&quot;localhost&quot;</span>;
<span class="php-var">$loga</span> <span class="php-operator">=</span> <span class="php-string">&quot;seuUsuario&quot;</span>;
<span class="php-var">$senhaLoga</span> <span class="php-operator">=</span> <span class="php-string">&quot;suaSenha&quot;</span>;
<span class="php-var">$baseDados</span> <span class="php-operator">=</span> <span class="php-string">&quot;seuBancoDeDados&quot;</span>;

<span class="php-var">$conecta</span> <span class="php-operator">=</span> <span class="php-function">mysql_connect</span><span class="php-brackets">(</span><span class="php-var">$host</span>, <span class="php-var">$loga</span>, <span class="php-var">$senhaLoga</span>, <span class="php-var">$baseDados</span><span class="php-brackets">)</span>;
<span class="php-var">$conectaBanco</span> <span class="php-operator">=</span> <span class="php-function">mysql_select_db</span><span class="php-brackets">(</span><span class="php-var">$baseDados</span><span class="php-brackets">)</span>;

<span class="php-script-tag">?&gt;<span class="html"></span></span></span></pre>
</td>
</tr>
</table>
</div>
<p>E de quebra, vou passar para vocês o código do banco que eu vou utilizar para nesse tutorial. Na realidade, ele é bem simples, tendo apenas uma tabela no total!</p>
<h2>bancoDados.sql</h2>
<div id="fvch-codeblock-1" class="fvch-codeblock">
<table>
<tr>
<td class="fvch-line-numbers">
<pre>1
2
3
4
5
6
7
8
9
</pre>
</td>
<td class="fvch-code">
<pre id="fvch-code-1">CREATE TABLE IF NOT EXISTS `usuario` (
`id_usuario` int(111) NOT NULL AUTO_INCREMENT,
`nome` varchar(150) NOT NULL,
`email` varchar(150) NOT NULL,
`userlogin` longtext NOT NULL,
`passlogin` longtext NOT NULL,
`ativo` varchar(3) NOT NULL DEFAULT &#039;sim&#039;,
PRIMARY KEY (`id_usuario`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;</pre>
</td>
</tr>
</table>
</div>
<p>Fazendo uma breve explicação sobre os campos dessa tabela:</p>
<p><strong>id_usuario</strong> -&gt; É o ID do usuário, que é campo único e se incrementa automaticamente;<br />
<strong>nome</strong> -&gt; Tá mais do que na cara;<br />
<strong>e-mail</strong> -&gt; Idem à de cima! rs;<br />
<strong>userlogin</strong> -&gt; Aqui fica interessante! O campo está como &#8220;longText&#8221;, pois é nele que será inserido o primeiro dado criptografado desse tutorial, que será o nome de usuário;<br />
<strong>passlogin</strong> -&gt; Aqui será inserida a senha do usuário, também criptografada;<br />
<strong>ativo</strong> -&gt; O campo terá como valor padrão (default) o &#8220;<strong>SIM</strong>&#8220;. Não pretendo deixar que sejam <strong>DELETADOS</strong> dados do banco. Simplesmente, ou eu <strong>ATIVO</strong> ou <strong>DESATIVO</strong> determinado usuário. Porém, nunca o apago. Evita problemas futuros!</p>
<p>Após termos criado o banco e testado a conexão com o mesmo, vamos analisar o primeiro arquivo ao qual nosso usuário terá acesso!</p>
<h2>index.php</h2>
<div id="fvch-codeblock-2" class="fvch-codeblock">
<table>
<tr>
<td class="fvch-line-numbers">
<pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
</pre>
</td>
<td class="fvch-code">
<pre id="fvch-code-2"><span class="php"><span class="php-operator">&lt;</span><span class="php-operator">!</span>DOCTYPE HTML<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>html lang<span class="php-operator">=</span><span class="php-string">&quot;br&quot;</span> <span class="php-keyword">class</span><span class="php-operator">=</span><span class="php-string">&quot;no-js&quot;</span><span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>head<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>meta charset<span class="php-operator">=</span><span class="php-string">&quot;utf-8&quot;</span><span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span>title<span class="php-operator">&gt;</span>Sistema de Login e Senha Criptografados<span class="php-operator">&lt;</span><span class="php-operator">/</span>title<span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span><span class="php-function">link</span> href<span class="php-operator">=</span><span class="php-string">&quot;style.css&quot;</span> rel<span class="php-operator">=</span><span class="php-string">&quot;stylesheet&quot;</span> <span class="php-operator">/</span><span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span><span class="php-operator">/</span>head<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>body<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>div id<span class="php-operator">=</span><span class="php-string">&quot;conteudo&quot;</span><span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>h<span class="php-number">1</span><span class="php-operator">&gt;</span>Sistema de login e senha criptografados <span class="php-operator">-</span> Cadastro de usuário<span class="php-operator">&lt;</span><span class="php-operator">/</span>h<span class="php-number">1</span><span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>div <span class="php-keyword">class</span><span class="php-operator">=</span><span class="php-string">&quot;borda&quot;</span><span class="php-operator">&gt;</span><span class="php-operator">&lt;</span><span class="php-operator">/</span>div<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span><span class="php-operator">!</span><span class="php-operator">-</span><span class="php-operator">-</span> Formulário para acesso <span class="php-operator">-</span><span class="php-operator">-</span><span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span>p<span class="php-operator">&gt;</span>Para ter acesso ao conteú<span class="php-keyword">do</span> exclusivo, por favor, cadastre<span class="php-operator">-</span>se utilizando o formulário abaixo<span class="php-operator">!</span><span class="php-operator">&lt;</span><span class="php-operator">/</span>p<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>form method<span class="php-operator">=</span><span class="php-string">&quot;post&quot;</span> action<span class="php-operator">=</span><span class="php-string">&quot;cadastraUsuario.php&quot;</span> id<span class="php-operator">=</span><span class="php-string">&quot;validaAcesso&quot;</span><span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span>fieldset<span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span>legend<span class="php-operator">&gt;</span>Faça seu cadastro abaixo<span class="php-operator">!</span><span class="php-operator">&lt;</span><span class="php-operator">/</span>legend<span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span>label <span class="php-keyword">for</span><span class="php-operator">=</span><span class="php-string">&quot;nome&quot;</span><span class="php-operator">&gt;</span>Seu nome<span class="php-operator">:</span><span class="php-operator">&lt;</span><span class="php-operator">/</span>label<span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span>input type<span class="php-operator">=</span><span class="php-string">&quot;text&quot;</span> name<span class="php-operator">=</span><span class="php-string">&quot;nome&quot;</span> id<span class="php-operator">=</span><span class="php-string">&quot;nome&quot;</span> <span class="php-operator">/</span><span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span>div <span class="php-keyword">class</span><span class="php-operator">=</span><span class="php-string">&quot;clear&quot;</span><span class="php-operator">&gt;</span><span class="php-operator">&lt;</span><span class="php-operator">/</span>div<span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span>label <span class="php-keyword">for</span><span class="php-operator">=</span><span class="php-string">&quot;nome&quot;</span><span class="php-operator">&gt;</span>Nome de usuário<span class="php-operator">:</span><span class="php-operator">&lt;</span><span class="php-operator">/</span>label<span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span>input type<span class="php-operator">=</span><span class="php-string">&quot;text&quot;</span> name<span class="php-operator">=</span><span class="php-string">&quot;nomeUsuario&quot;</span> id<span class="php-operator">=</span><span class="php-string">&quot;nomeUsuario&quot;</span> <span class="php-operator">/</span><span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span>div <span class="php-keyword">class</span><span class="php-operator">=</span><span class="php-string">&quot;clear&quot;</span><span class="php-operator">&gt;</span><span class="php-operator">&lt;</span><span class="php-operator">/</span>div<span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span>label <span class="php-keyword">for</span><span class="php-operator">=</span><span class="php-string">&quot;email&quot;</span><span class="php-operator">&gt;</span>E<span class="php-operator">-</span><span class="php-function">mail</span><span class="php-operator">:</span><span class="php-operator">&lt;</span><span class="php-operator">/</span>label<span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span>input type<span class="php-operator">=</span><span class="php-string">&quot;text&quot;</span> name<span class="php-operator">=</span><span class="php-string">&quot;email&quot;</span> id<span class="php-operator">=</span><span class="php-string">&quot;email&quot;</span> <span class="php-operator">/</span><span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span>div <span class="php-keyword">class</span><span class="php-operator">=</span><span class="php-string">&quot;clear&quot;</span><span class="php-operator">&gt;</span><span class="php-operator">&lt;</span><span class="php-operator">/</span>div<span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span>label <span class="php-keyword">for</span><span class="php-operator">=</span><span class="php-string">&quot;senha&quot;</span><span class="php-operator">&gt;</span>Senha<span class="php-operator">:</span><span class="php-operator">&lt;</span><span class="php-operator">/</span>label<span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span>input type<span class="php-operator">=</span><span class="php-string">&quot;password&quot;</span> name<span class="php-operator">=</span><span class="php-string">&quot;senha&quot;</span> id<span class="php-operator">=</span><span class="php-string">&quot;senha&quot;</span> <span class="php-operator">/</span><span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span>div <span class="php-keyword">class</span><span class="php-operator">=</span><span class="php-string">&quot;clear&quot;</span><span class="php-operator">&gt;</span><span class="php-operator">&lt;</span><span class="php-operator">/</span>div<span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span>input type<span class="php-operator">=</span><span class="php-string">&quot;submit&quot;</span> value<span class="php-operator">=</span><span class="php-string">&quot;Efetuar cadastro&quot;</span> <span class="php-operator">/</span><span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span><span class="php-operator">/</span>fieldset<span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span><span class="php-operator">/</span>form<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>p<span class="php-operator">&gt;</span>Se você já possui cadastro, <span class="php-operator">&lt;</span>a href<span class="php-operator">=</span><span class="php-string">&quot;exclusivo/&quot;</span><span class="php-operator">&gt;</span>clique aqui<span class="php-operator">&lt;</span><span class="php-operator">/</span>a<span class="php-operator">&gt;</span> para acessar o Conteú<span class="php-keyword">do</span> Exclusivo<span class="php-operator">!</span><span class="php-operator">&lt;</span><span class="php-operator">/</span>p<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span><span class="php-operator">/</span>div<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span><span class="php-operator">/</span>body<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span><span class="php-operator">/</span>html<span class="php-operator">&gt;</span></span></pre>
</td>
</tr>
</table>
</div>
<p>E seu arquivo de &#8220;folha de estilos&#8221;, o</p>
<h2>style.css</h2>
<div id="fvch-codeblock-3" class="fvch-codeblock">
<table>
<tr>
<td class="fvch-line-numbers">
<pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
</pre>
</td>
<td class="fvch-code">
<pre id="fvch-code-3"><span class="css">* body {
<span class="css-property">margin<span class="css-selector">:</span><span class="css-value">0</span></span>;
<span class="css-property">padding<span class="css-selector">:</span><span class="css-value">0</span></span>;

<span class="css-property">background-color<span class="css-selector">:</span><span class="css-value">#f2f2f2</span></span>;

<span class="css-property">font-family<span class="css-selector">:</span><span class="css-value"><span class="css-string">&quot;Trebuchet MS&quot;</span>, Arial, Helvetica, sans-serif</span></span>;
<span class="css-property">font-size<span class="css-selector">:</span><span class="css-value">medium</span></span>;
<span class="css-property">color<span class="css-selector">:</span><span class="css-value">#000</span></span>;
<span class="css-property">line-height<span class="css-selector">:</span><span class="css-value">150%</span></span>;
}

h1 {
<span class="css-property">color<span class="css-selector">:</span><span class="css-value">#039</span></span>;
<span class="css-property">font-size<span class="css-selector">:</span><span class="css-value">120%</span></span>;
}

h3 {
<span class="css-property">color<span class="css-selector">:</span><span class="css-value">#900</span></span>;
<span class="css-property">font-size<span class="css-selector">:</span><span class="css-value">100%</span></span>;
}

p {
<span class="css-property">font-size<span class="css-selector">:</span><span class="css-value">80%</span></span>;
}

#conteudo {
<span class="css-property">width<span class="css-selector">:</span><span class="css-value">984px</span></span>;
<span class="css-property">height<span class="css-selector">:</span><span class="css-value">auto</span></span>;
<span class="css-property">display<span class="css-selector">:</span><span class="css-value">table</span></span>;
<span class="css-property">margin<span class="css-selector">:</span><span class="css-value">10px auto</span></span>;
<span class="css-property">border-top<span class="css-selector">:</span><span class="css-value">1px solid #e1e1e1</span></span>;
}

#conteudo form {
<span class="css-property">font-size<span class="css-selector">:</span><span class="css-value">80%</span></span>;
}

#conteudo form legend {
<span class="css-property">padding<span class="css-selector">:</span><span class="css-value">5px</span></span>;
<span class="css-property">border<span class="css-selector">:</span><span class="css-value">1px solid #036</span></span>;
<span class="css-property">border-radius<span class="css-selector">:</span><span class="css-value">5px</span></span>;
<span class="css-property">background-color<span class="css-selector">:</span><span class="css-value">#e2e2e2</span></span>;
}
#conteudo fieldset {
<span class="css-property">border<span class="css-selector">:</span><span class="css-value">1px dotted #036</span></span>;
}

#conteudo form label {
<span class="css-property">width<span class="css-selector">:</span><span class="css-value">120px</span></span>;
<span class="css-property">float<span class="css-selector">:</span><span class="css-value">left</span></span>;
<span class="css-property">font-weight<span class="css-selector">:</span><span class="css-value">bold</span></span>;
<span class="css-property">margin<span class="css-selector">:</span><span class="css-value">5px 0</span></span>;
}

#conteudo form input[type=&quot;<span class="css-property">text&quot;], #conteudo form input[type=&quot;password&quot;] {
float<span class="css-selector">:</span><span class="css-value">left</span></span>;
<span class="css-property">background-color<span class="css-selector">:</span><span class="css-value">#e2e2e2</span></span>;
<span class="css-property">text-indent<span class="css-selector">:</span><span class="css-value">10px</span></span>;
<span class="css-property">width<span class="css-selector">:</span><span class="css-value">150px</span></span>;
<span class="css-property">height<span class="css-selector">:</span><span class="css-value">25px</span></span>;
<span class="css-property">border<span class="css-selector">:</span><span class="css-value">1px solid #036</span></span>;
<span class="css-property">border-radius<span class="css-selector">:</span><span class="css-value">5px</span></span>;
<span class="css-property">margin<span class="css-selector">:</span><span class="css-value">5px 0</span></span>;
}

#conteudo form input[type=&quot;<span class="css-property">text&quot;]<span class="css-selector">:</span><span class="css-value">hover, #conteudo form input[type=<span class="css-string">&quot;password&quot;</span>]:hover {
background-color:#ccc</span></span>;
}

#conteudo form input[type=&quot;<span class="css-property">text&quot;]<span class="css-selector">:</span><span class="css-value">focus, #conteudo form input[type=<span class="css-string">&quot;password&quot;</span>]:focus {
background-color:#fff</span></span>;
}

#conteudo form input[type=&quot;submit&quot;]{
<span class="css-property">background-color<span class="css-selector">:</span><span class="css-value">#036</span></span>;
<span class="css-property">color<span class="css-selector">:</span><span class="css-value">#fff</span></span>;
<span class="css-property">width<span class="css-selector">:</span><span class="css-value">150px</span></span>;
<span class="css-property">text-align<span class="css-selector">:</span><span class="css-value">center</span></span>;
<span class="css-property">padding<span class="css-selector">:</span><span class="css-value">5px</span></span>;
<span class="css-property">border-radius<span class="css-selector">:</span><span class="css-value">5px</span></span>;
<span class="css-property">float<span class="css-selector">:</span><span class="css-value">left</span></span>;
<span class="css-property">margin<span class="css-selector">:</span><span class="css-value">0 50px</span></span>;
}

#conteudo form input[type=&quot;submit&quot;]:hover{
<span class="css-property">background-color<span class="css-selector">:</span><span class="css-value">#000</span></span>;
<span class="css-property">color<span class="css-selector">:</span><span class="css-value">#fff</span></span>;
}

.<span class="css-property">clear {
clear<span class="css-selector">:</span><span class="css-value">both</span></span>;
}
.borda {
<span class="css-property">border-top<span class="css-selector">:</span><span class="css-value">1px solid #e1e1e1</span></span>;
<span class="css-property">margin<span class="css-selector">:</span><span class="css-value">10px auto</span></span>;
}

.destaca {
<span class="css-property">color<span class="css-selector">:</span><span class="css-value">#f90</span></span>;
}

.logout {
<span class="css-property">float<span class="css-selector">:</span><span class="css-value">right</span></span>;
<span class="css-property">border<span class="css-selector">:</span><span class="css-value">1px solid #900</span></span>;
<span class="css-property">background-color<span class="css-selector">:</span><span class="css-value">#ccc</span></span>;
<span class="css-property">padding<span class="css-selector">:</span><span class="css-value">5px</span></span>;
<span class="css-property">width<span class="css-selector">:</span><span class="css-value">250px</span></span>;
<span class="css-property">height<span class="css-selector">:</span><span class="css-value">25px</span></span>;
<span class="css-property">text-align<span class="css-selector">:</span><span class="css-value">center</span></span>;
<span class="css-property">margin<span class="css-selector">:</span><span class="css-value">10px 0 0</span></span>;
}

.sairSistema {
<span class="css-property">font-size<span class="css-selector">:</span><span class="css-value">70%</span></span>;
<span class="css-property">color<span class="css-selector">:</span><span class="css-value">#036</span></span>;
<span class="css-property">margin<span class="css-selector">:</span><span class="css-value">0 auto</span></span>;
}</span></pre>
</td>
</tr>
</table>
</div>
<p>Como podem observar, nada mais é do que um formulário que pede os dados requisitados pelo nosso <strong>cliente X. </strong>Nele, constam todos os campos que o mini-briefing nos pediu, e, sim, ele tem o cabeçalho em <strong>HTML5</strong>.</p>
<p>Tem também um link para que, se o usuário já estiver cadastrado no sistema, ter acesso ao seu &#8220;Conteúdo Exclusivo&#8221;.</p>
<p>O formulário, assim que o usuário o tiver preenchido e clicado no botão &#8220;Efetuar Cadastro&#8221;, será enviado ao arquivo</p>
<h2>cadastraUsuario.php</h2>
<div id="fvch-codeblock-4" class="fvch-codeblock">
<table>
<tr>
<td class="fvch-line-numbers">
<pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
</pre>
</td>
<td class="fvch-code">
<pre id="fvch-code-4"><span class="php"><span class="php-operator">&lt;</span><span class="php-operator">!</span>DOCTYPE HTML<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>html lang<span class="php-operator">=</span><span class="php-string">&quot;br&quot;</span> <span class="php-keyword">class</span><span class="php-operator">=</span><span class="php-string">&quot;no-js&quot;</span><span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>head<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>meta charset<span class="php-operator">=</span><span class="php-string">&quot;utf-8&quot;</span><span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span>title<span class="php-operator">&gt;</span>Sistema de Login e Senha Criptografados<span class="php-operator">&lt;</span><span class="php-operator">/</span>title<span class="php-operator">&gt;</span>
<span class="php-operator">&lt;</span><span class="php-function">link</span> href<span class="php-operator">=</span><span class="php-string">&quot;style.css&quot;</span> rel<span class="php-operator">=</span><span class="php-string">&quot;stylesheet&quot;</span> <span class="php-operator">/</span><span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span><span class="php-operator">/</span>head<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>body<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>div id<span class="php-operator">=</span><span class="php-string">&quot;conteudo&quot;</span><span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>h<span class="php-number">1</span><span class="php-operator">&gt;</span>Sistema de login e senha criptografados<span class="php-operator">&lt;</span><span class="php-operator">/</span>h<span class="php-number">1</span><span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span>div <span class="php-keyword">class</span><span class="php-operator">=</span><span class="php-string">&quot;borda&quot;</span><span class="php-operator">&gt;</span><span class="php-operator">&lt;</span><span class="php-operator">/</span>div<span class="php-operator">&gt;</span>

<span class="php-operator">&lt;</span><span class="php-operator">!</span><span class="php-operator">-</span><span class="php-operator">-</span> Recebendo e gravando os dados <span class="php-operator">-</span><span class="php-operator">-</span><span class="php-operator">&gt;</span>
<span class="php-script-tag">&lt;?php</span>

<span class="php-keyword">include</span> <span class="php-string">&quot;conexao.php&quot;</span>;

<span class="php-comment">//URL para a qual o usuário será enviado após ter preenchido todos os campos corretamente</span>
<span class="php-var">$urlAcesso</span> <span class="php-operator">=</span> <span class="php-string">&quot;exclusivo/index.php&quot;</span>;

<span class="php-comment">//Recebendo os dados e tratando os mesmos para inserção no banco</span>
<span class="php-var">$recebeSeuNome</span> <span class="php-operator">=</span> <span class="php-function">filter_input</span><span class="php-brackets">(</span>INPUT_POST, <span class="php-string">'nome'</span>, FILTER_SANITIZE_SPECIAL_CHARS<span class="php-brackets">)</span>;
<span class="php-var">$confereSeuNome</span> <span class="php-operator">=</span> <span class="php-function">filter_input</span><span class="php-brackets">(</span>INPUT_POST, <span class="php-string">'nome'</span>, FILTER_SANITIZE_MAGIC_QUOTES<span class="php-brackets">)</span>;
<span class="php-var">$recebeNomeUsuario</span> <span class="php-operator">=</span> <span class="php-function">filter_input</span><span class="php-brackets">(</span>INPUT_POST, <span class="php-string">'nomeUsuario'</span>, FILTER_SANITIZE_SPECIAL_CHARS<span class="php-brackets">)</span>;
<span class="php-var">$confereNomeUsuario</span> <span class="php-operator">=</span> <span class="php-function">filter_input</span><span class="php-brackets">(</span>INPUT_POST, <span class="php-string">'nomeUsuario'</span>, FILTER_SANITIZE_MAGIC_QUOTES<span class="php-brackets">)</span>;
<span class="php-var">$recebeEmail</span> <span class="php-operator">=</span> <span class="php-function">filter_input</span><span class="php-brackets">(</span>INPUT_POST, <span class="php-string">'email'</span>, FILTER_VALIDATE_EMAIL<span class="php-brackets">)</span>;
<span class="php-var">$recebeSenha</span> <span class="php-operator">=</span> <span class="php-function">filter_input</span><span class="php-brackets">(</span>INPUT_POST, <span class="php-string">'senha'</span>, FILTER_SANITIZE_SPECIAL_CHARS<span class="php-brackets">)</span>;

<span class="php-comment">//Nesse if, faço uma conferência em relação ao e-mail informado; se não for um e-mail validado pelo filtro, ele retornará a mensagem abaixo.</span>
<span class="php-comment">//Se o email for válido, ele passa para a segunda parte da verificação</span>
<span class="php-keyword">if</span> <span class="php-brackets">(</span><span class="php-var">$recebeEmail</span> <span class="php-operator">=</span><span class="php-operator">=</span> NULL <span class="php-brackets">)</span> <span class="php-brackets">{</span>
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;Retorne e digite um e-mail válido por favor!&quot;</span>;
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;&lt;a href='javascript:history.back();'&gt;Voltar&lt;/a&gt;&lt;/p&gt;&quot;</span>;
<span class="php-keyword">return</span> <span class="php-keyword">false</span>;
<span class="php-brackets">}</span>

<span class="php-comment">//Nesse if, faço uma conferência em relação à senha informada. Se não for informada nenhuma, retorno a mensagem para que o usuário informe algo!</span>
<span class="php-keyword">if</span> <span class="php-brackets">(</span><span class="php-var">$recebeSenha</span> <span class="php-operator">=</span><span class="php-operator">=</span> NULL <span class="php-brackets">)</span> <span class="php-brackets">{</span>
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;Retorne e informe uma senha por favor!&quot;</span>;
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;&lt;a href='javascript:history.back();'&gt;Voltar&lt;/a&gt;&lt;/p&gt;&quot;</span>;
<span class="php-keyword">return</span> <span class="php-keyword">false</span>;
<span class="php-brackets">}</span>

<span class="php-comment">//Aqui faço a segunda parte da verificação: vejo se no nome de usuário foi utilizado algum caractere especial</span>
<span class="php-comment">//Isso serve para evitar uma possível invasão sql no banco de dados, possibilitando assim a proteção e integridade dos dados</span>
<span class="php-comment">//Nesse caso, eu comparo os nomes. Se forem iguais, após passarem pelos filtros, eu inicio a criptografia. Se não forem, peço que volte à página anterior</span>
<span class="php-keyword">else</span> <span class="php-keyword">if</span> <span class="php-brackets">(</span><span class="php-var">$confereNomeUsuario</span> <span class="php-operator">!</span><span class="php-operator">=</span> <span class="php-var">$recebeNomeUsuario</span><span class="php-brackets">)</span> <span class="php-brackets">{</span>
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;Você informou o seguinte Nome de Usuário: &lt;strong&gt;$recebeNomeUsuario&lt;/strong&gt; .&lt;/p&gt;&quot;</span>;
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;Por favor, não utilize caracteres especiais (tais como aspas simples ou duplas, assim como barras!) no campo &lt;strong&gt;Nome de Usuário&lt;/strong&gt;.&lt;/p&gt;&quot;</span>;
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;&lt;a href='javascript:history.back();'&gt;Volte&lt;/a&gt; para a página anterior e tente novamente! Obrigado!&lt;/p&gt;&quot;</span>;
<span class="php-keyword">return</span> <span class="php-keyword">false</span>;

<span class="php-brackets">}</span>
<span class="php-keyword">else</span> <span class="php-keyword">if</span> <span class="php-brackets">(</span><span class="php-var">$confereSeuNome</span> <span class="php-operator">!</span><span class="php-operator">=</span> <span class="php-var">$recebeSeuNome</span><span class="php-brackets">)</span> <span class="php-brackets">{</span>
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;Você informou o Seu Nome como: &lt;strong&gt;$confereSeuNome&lt;/strong&gt; .&lt;/p&gt;&quot;</span>;
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;Por favor, não utilize caracteres especiais (tais como aspas simples ou duplas, assim como barras!) no campo &lt;strong&gt;Seu Nome&lt;/strong&gt;.&lt;/p&gt;&quot;</span>;
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;&lt;a href='javascript:history.back();'&gt;Volte&lt;/a&gt; para a página anterior e tente novamente! Obrigado!&lt;/p&gt;&quot;</span>;
<span class="php-keyword">return</span> <span class="php-keyword">false</span>;
<span class="php-brackets">}</span>

<span class="php-keyword">else</span> <span class="php-brackets">{</span>

<span class="php-comment">//Aqui vou agora, criptografar as informações antes de enviá-las ao banco de dados</span>
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;h3&gt;Cadastrando informações em nosso banco de dados&lt;/h3&gt;&quot;</span>;

<span class="php-comment">//Aqui vamos criar a função que vai criptografar os dados.</span>
<span class="php-comment">//Serão necessários criptografar apenas o endereço de e-mail e a senha informada</span>

<span class="php-comment">//Função para criptografar a senha</span>
<span class="php-function">function</span> criptoSenha<span class="php-brackets">(</span><span class="php-var">$criptoSenha</span><span class="php-brackets">)</span><span class="php-brackets">{</span>
<span class="php-keyword">return</span> <span class="php-function">sha1</span><span class="php-brackets">(</span><span class="php-function">md5</span><span class="php-brackets">(</span><span class="php-var">$criptoSenha</span><span class="php-brackets">)</span><span class="php-brackets">)</span>;
<span class="php-brackets">}</span>
<span class="php-comment">//Função para criptografar o e-mail</span>
<span class="php-function">function</span> criptoNomeUsuario<span class="php-brackets">(</span><span class="php-var">$criptoNomeUsuario</span><span class="php-brackets">)</span><span class="php-brackets">{</span>
<span class="php-keyword">return</span> <span class="php-function">sha1</span><span class="php-brackets">(</span><span class="php-function">md5</span><span class="php-brackets">(</span><span class="php-var">$criptoNomeUsuario</span><span class="php-brackets">)</span><span class="php-brackets">)</span>;
<span class="php-brackets">}</span>
<span class="php-comment">//Aqui realizo a criptografia do endereço de e-mail</span>
<span class="php-var">$criptoNomeUsuario</span> <span class="php-operator">=</span> criptoNomeUsuario<span class="php-brackets">(</span><span class="php-function">filter_input</span><span class="php-brackets">(</span>INPUT_POST, <span class="php-string">'nomeUsuario'</span>, FILTER_SANITIZE_MAGIC_QUOTES<span class="php-brackets">)</span><span class="php-brackets">)</span>;
<span class="php-comment">//Aqui realizo a criptografia da senha informada do usuário</span>
<span class="php-var">$criptoSenha</span> <span class="php-operator">=</span> criptoSenha<span class="php-brackets">(</span><span class="php-function">filter_input</span><span class="php-brackets">(</span>INPUT_POST, <span class="php-string">'senha'</span>, FILTER_SANITIZE_SPECIAL_CHARS<span class="php-brackets">)</span><span class="php-brackets">)</span>;

<span class="php-comment">//Aqui eu vou realizar minha PRIMEIRA VERIFICAÇÃO DE CRIPTOGRAFIA no banco de dados</span>
<span class="php-comment">//Se o endereço de e-mail for válido, eu preciso verificar se o e-mail cadastrado já consta na base de dados.</span>
<span class="php-comment">//Como desejo que o e-mail seja um campo único, preciso verificar se o mesmo já foi ou não cadastrado no banco.</span>
<span class="php-comment">//A consulta segue abaixo:</span>
<span class="php-var">$consultaBanco</span> <span class="php-operator">=</span> <span class="php-function">mysql_query</span><span class="php-brackets">(</span><span class="php-string">&quot;SELECT * FROM usuario WHERE email = '$recebeEmail'&quot;</span><span class="php-brackets">)</span><span class="php-operator"> or </span><span class="php-function">die</span> <span class="php-brackets">(</span><span class="php-function">mysql_error</span><span class="php-brackets">(</span><span class="php-brackets">)</span><span class="php-brackets">)</span>;
<span class="php-var">$verificaBanco</span> <span class="php-operator">=</span> <span class="php-function">mysql_num_rows</span><span class="php-brackets">(</span><span class="php-var">$consultaBanco</span><span class="php-brackets">)</span>;

<span class="php-keyword">if</span><span class="php-brackets">(</span><span class="php-var">$verificaBanco</span> <span class="php-operator">=</span><span class="php-operator">=</span> <span class="php-number">1</span><span class="php-brackets">)</span><span class="php-brackets">{</span>

<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;Prezado(a) &lt;strong&gt;$confereSeuNome&lt;/strong&gt;, o endereço de e-mail informado (&lt;strong&gt;&lt;em&gt;$recebeEmail&lt;/em&gt;&lt;/strong&gt;) já consta em nossa base de dados!&lt;/p&gt;&quot;</span>;
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;&lt;a href='javascript:history.back();'&gt;Volte&lt;/a&gt; para a página anterior e informe um novo endereço! Obrigado!&lt;/p&gt;&quot;</span>;
<span class="php-keyword">return</span> <span class="php-keyword">false</span>;
<span class="php-brackets">}</span>

<span class="php-comment">//Agora vamos inserir os dados no banco</span>
<span class="php-var">$insereDados</span> <span class="php-operator">=</span> <span class="php-function">mysql_query</span><span class="php-brackets">(</span><span class="php-string">&quot;INSERT INTO usuario (id_usuario, nome, email, userlogin, passlogin, ativo) VALUES ('NULL', '$confereSeuNome', '$recebeEmail', '$criptoNomeUsuario', '$criptoSenha', 'sim')&quot;</span><span class="php-brackets">)</span><span class="php-operator"> or </span><span class="php-function">die</span> <span class="php-brackets">(</span><span class="php-function">mysql_error</span><span class="php-brackets">(</span><span class="php-brackets">)</span><span class="php-brackets">)</span>;

<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;Seu cadastro foi efetuado com sucesso!&lt;/p&gt;&quot;</span>;
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;Aguarde enquanto lhe encaminhamos para a página de acesso ao &lt;strong&gt;Conteúdo Exclusivo&lt;/strong&gt;!&quot;</span>;
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;meta http-equiv=\&quot;refresh\&quot; content=\&quot;5;URL=&quot;</span><span class="php-operator">.</span><span class="php-var">$urlAcesso</span><span class="php-operator">.</span><span class="php-string">&quot;\&quot;&gt;&quot;</span>;
<span class="php-brackets">}</span>

<span class="php-script-tag">?&gt;<span class="html">

<span class="html-other-element">&lt;/div&gt;</span>

<span class="html-other-element">&lt;/body&gt;</span>

<span class="html-other-element">&lt;/html&gt;</span></span></span></span></pre>
</td>
</tr>
</table>
</div>
<p>E pronto! Se o usuário preencheu corretamente todas as informações requisitadas, ele será enviado para uma outra &#8220;index&#8221;, que estará dentro de uma pasta. No meu caso, nomeei essa pasta de &#8220;exclusivo&#8221;, e lá consta esse primeiro arquivo, o qual fará, novamente, requisições de dados para garantir o acesso do usuário ao &#8220;Conteúdo Exclusivo&#8221;.</p>
<p>Portanto, vamos trabalhar agora dentro de uma pasta chamada &#8220;<strong>exclusivo</strong>&#8220;. O primeiro arquivo que teremos acesso é o</p>
<h2>exclusivo/index.php</h2>
<div id="fvch-codeblock-5" class="fvch-codeblock">
<table>
<tr>
<td class="fvch-line-numbers">
<pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
</pre>
</td>
<td class="fvch-code">
<pre id="fvch-code-5"><span class="php"><span class="php-script-tag">&lt;?php</span>

<span class="php-function">ob_start</span><span class="php-brackets">(</span><span class="php-brackets">)</span>;

<span class="php-keyword">include</span> <span class="php-string">'conexao.php'</span>;

<span class="php-comment">//Essa variável $msg será explanada e apresentada no decorrer do tutorial</span>

<span class="php-var">$msg</span> <span class="php-operator">=</span> <span class="php-var">$_REQUEST</span><span class="php-brackets">[</span><span class="php-string">&quot;msg&quot;</span><span class="php-brackets">]</span>;
<span class="php-script-tag">?&gt;<span class="html">
<span class="html-other-element">&lt;!DOCTYPE HTML&gt;</span>

<span class="html-other-element">&lt;html lang=<span class="html-attribute">&quot;br&quot;</span> class=<span class="html-attribute">&quot;no-js&quot;</span>&gt;</span>

<span class="html-other-element">&lt;head&gt;</span>

<span class="html-other-element">&lt;meta charset=<span class="html-attribute">&quot;utf-8&quot;</span>&gt;</span>
<span class="html-other-element">&lt;title&gt;</span>Sistema de Login e Senha Criptografados<span class="html-other-element">&lt;/title&gt;</span>
<span class="html-other-element">&lt;link href=<span class="html-attribute">&quot;../style.css&quot;</span> rel=<span class="html-attribute">&quot;stylesheet&quot;</span> /&gt;</span>

<span class="html-other-element">&lt;/head&gt;</span>

<span class="html-other-element">&lt;body&gt;</span>

<span class="html-other-element">&lt;div id=<span class="html-attribute">&quot;conteudo&quot;</span>&gt;</span>

<span class="html-other-element">&lt;h1&gt;</span>Sistema de login e senha criptografados - Acesso ao Conteúdo Exclusivo<span class="html-other-element">&lt;/h1&gt;</span>

<span class="html-other-element">&lt;div class=<span class="html-attribute">&quot;borda&quot;</span>&gt;</span><span class="html-other-element">&lt;/div&gt;</span>

<span class="html-comment">&lt;!-- Formulário para acesso --&gt;</span>
<span class="html-other-element">&lt;p&gt;</span>Para ter acesso ao <span class="html-other-element">&lt;strong&gt;</span>Conteúdo Exclusivo<span class="html-other-element">&lt;/strong&gt;</span>, por favor, logue-se utilizando o formulário abaixo!<span class="html-other-element">&lt;/p&gt;</span>

<span class="html-form-element">&lt;form method=<span class="html-attribute">&quot;post&quot;</span> action=<span class="html-attribute">&quot;validaAcesso.php&quot;</span> id=<span class="html-attribute">&quot;validaAcesso&quot;</span>&gt;</span>
<span class="html-other-element">&lt;fieldset&gt;</span>
<span class="html-other-element">&lt;legend&gt;</span>Login<span class="html-other-element">&lt;/legend&gt;</span>
<span class="html-other-element">&lt;label for=<span class="html-attribute">&quot;nomeUsuario&quot;</span>&gt;</span>Nome de Usuário:<span class="html-other-element">&lt;/label&gt;</span>
<span class="html-form-element">&lt;input type=<span class="html-attribute">&quot;text&quot;</span> name=<span class="html-attribute">&quot;nomeUsuario&quot;</span> id=<span class="html-attribute">&quot;nomeUsuario&quot;</span> /&gt;</span>
<span class="html-other-element">&lt;div class=<span class="html-attribute">&quot;clear&quot;</span>&gt;</span><span class="html-other-element">&lt;/div&gt;</span>
<span class="html-other-element">&lt;label for=<span class="html-attribute">&quot;senha&quot;</span>&gt;</span>Senha:<span class="html-other-element">&lt;/label&gt;</span>
<span class="html-form-element">&lt;input type=<span class="html-attribute">&quot;password&quot;</span> name=<span class="html-attribute">&quot;senha&quot;</span> id=<span class="html-attribute">&quot;senha&quot;</span> /&gt;</span>
<span class="html-other-element">&lt;div class=<span class="html-attribute">&quot;clear&quot;</span>&gt;</span><span class="html-other-element">&lt;/div&gt;</span>
<span class="html-form-element">&lt;input type=<span class="html-attribute">&quot;submit&quot;</span> value=<span class="html-attribute">&quot;Acessar o sistema&quot;</span> /&gt;</span>

<span class="html-other-element">&lt;/fieldset&gt;</span>
<span class="html-form-element">&lt;/form&gt;</span>

<span class="html-other-element">&lt;p&gt;</span><span class="html-other-element">&lt;small&gt;</span>Esqueceu seus dados? <span class="html-anchor-element">&lt;a href=<span class="html-attribute">&quot;recuperaDados.php&quot;</span>&gt;</span>Clique aqui!<span class="html-anchor-element">&lt;/a&gt;</span><span class="html-other-element">&lt;/small&gt;</span><span class="html-other-element">&lt;/p&gt;</span>

<span class="html-other-element">&lt;/div&gt;</span>

<span class="html-other-element">&lt;/body&gt;</span>

<span class="html-other-element">&lt;/html&gt;</span></span></span></span></pre>
</td>
</tr>
</table>
</div>
<p>Na segunda parte desse tutorial, vamos trabalhar com a recuperação de dados, o qual se encontra linkado bem ao final do script acima. Por enquanto, vamos pensar que temos mais um arquivo de conexão dentro dessa pasta (exclusivo) que nos dá acesso ao banco de dados, e que não difere em nada do que já temos salvo. Vamos então, dar aquela analisada no arquivo</p>
<h2>exclusivo/validaAcesso.php</h2>
<p>&nbsp;</p>
<div id="fvch-codeblock-6" class="fvch-codeblock">
<table>
<tr>
<td class="fvch-line-numbers">
<pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
</pre>
</td>
<td class="fvch-code">
<pre id="fvch-code-6"><span class="php"><span class="php-script-tag">&lt;?php</span>
<span class="php-function">ob_start</span><span class="php-brackets">(</span><span class="php-brackets">)</span>;
<span class="php-keyword">include</span> <span class="php-string">'conexao.php'</span>;
<span class="php-var">$msg</span> <span class="php-operator">=</span> <span class="php-var">$_REQUEST</span><span class="php-brackets">[</span><span class="php-string">&quot;msg&quot;</span><span class="php-brackets">]</span>;
<span class="php-comment">/*
Por questões de segurança, deixo eu aqui uma breve explicação e direcionamento.

Quando fores utilizar esse sistema em uma hospedagem web, recomendo que crie &quot;usuários diferenciados&quot; para acesso às informações no banco de dados.
Por exemplo: Se eu estiver pensando em criar duas áreas distintas, onde uma será a do administrador e outra será do usuário, seria interessante,
para efeitos de segurança e integridade do banco, criar um usuário com alguns privilégios dentro do banco, e outro com esses privilégios reduzido.

Administrador -&gt; Poderia, dentro de seu ambiente, deletar informações do banco.

Usuário -&gt; Deveria, em seu ambiente, apenas alterar informações, e nunca deletar sequer uma linha ou tabela ou base de dados.

Nesse caso, seria necessário trabalhar com dois arquivos de conexão, um para cada tipo de usuário.

#ficaDica

*/</span>
<span class="php-script-tag">?&gt;<span class="html">
<span class="html-other-element">&lt;!DOCTYPE HTML&gt;</span>

<span class="html-other-element">&lt;html lang=<span class="html-attribute">&quot;br&quot;</span> class=<span class="html-attribute">&quot;no-js&quot;</span>&gt;</span>

<span class="html-other-element">&lt;head&gt;</span>

<span class="html-other-element">&lt;meta charset=<span class="html-attribute">&quot;utf-8&quot;</span>&gt;</span>
<span class="html-other-element">&lt;title&gt;</span>Sistema de Login e Senha Criptografados<span class="html-other-element">&lt;/title&gt;</span>
<span class="html-other-element">&lt;link href=<span class="html-attribute">&quot;../style.css&quot;</span> rel=<span class="html-attribute">&quot;stylesheet&quot;</span> /&gt;</span>

<span class="html-other-element">&lt;/head&gt;</span>

<span class="html-other-element">&lt;body&gt;</span>

<span class="html-other-element">&lt;div id=<span class="html-attribute">&quot;conteudo&quot;</span>&gt;</span>

<span class="html-other-element">&lt;h1&gt;</span>Sistema de login e senha criptografados - Verificando Informações<span class="html-other-element">&lt;/h1&gt;</span>

<span class="html-other-element">&lt;div class=<span class="html-attribute">&quot;borda&quot;</span>&gt;</span><span class="html-other-element">&lt;/div&gt;</span>

<span class="html-comment">&lt;!-- Recebendo e gravando os dados --&gt;</span>
</span>&lt;?php</span>

<span class="php-keyword">include</span> <span class="php-string">&quot;conexao.php&quot;</span>;
<span class="php-comment">//Praticamente faço as mesmas validações que fizemos para o cadastrado do usuário no banco de dados.</span>
<span class="php-comment">//Recebendo os dados e tratando os mesmos para inserção no banco</span>
<span class="php-var">$recebeNomeUsuario</span> <span class="php-operator">=</span> <span class="php-function">filter_input</span><span class="php-brackets">(</span>INPUT_POST, <span class="php-string">'nomeUsuario'</span>, FILTER_SANITIZE_SPECIAL_CHARS<span class="php-brackets">)</span>;
<span class="php-var">$confereNomeUsuario</span> <span class="php-operator">=</span> <span class="php-function">filter_input</span><span class="php-brackets">(</span>INPUT_POST, <span class="php-string">'nomeUsuario'</span>, FILTER_SANITIZE_MAGIC_QUOTES<span class="php-brackets">)</span>;
<span class="php-var">$recebeSenha</span> <span class="php-operator">=</span> <span class="php-function">filter_input</span><span class="php-brackets">(</span>INPUT_POST, <span class="php-string">'senha'</span>, FILTER_SANITIZE_SPECIAL_CHARS<span class="php-brackets">)</span>;

<span class="php-comment">//Nesse if, faço uma conferência em relação à senha informada. Se não for informada nenhuma, retorno a mensagem para que o usuário informe algo!</span>
<span class="php-keyword">if</span> <span class="php-brackets">(</span><span class="php-var">$recebeSenha</span> <span class="php-operator">=</span><span class="php-operator">=</span> NULL <span class="php-brackets">)</span> <span class="php-brackets">{</span>
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;A senha precisa ser informada!&quot;</span>;
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;&lt;a href='javascript:history.back();'&gt;Voltar&lt;/a&gt;&lt;/p&gt;&quot;</span>;
<span class="php-keyword">return</span> <span class="php-keyword">false</span>;
<span class="php-brackets">}</span>

<span class="php-comment">//Aqui faço a segunda parte da verificação: vejo se no nome de usuário foi utilizado algum caractere especial</span>
<span class="php-comment">//Isso serve para evitar uma possível invasão sql no banco de dados, possibilitando assim a proteção e integridade dos dados</span>
<span class="php-comment">//Nesse caso, eu comparo os nomes. Se forem iguais, após passarem pelos filtros, eu inicio a criptografia. Se não forem, peço que volte à página anterior</span>
<span class="php-keyword">else</span> <span class="php-keyword">if</span> <span class="php-brackets">(</span><span class="php-var">$confereNomeUsuario</span> <span class="php-operator">!</span><span class="php-operator">=</span> <span class="php-var">$recebeNomeUsuario</span><span class="php-brackets">)</span> <span class="php-brackets">{</span>
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;Você informou o seguinte Nome de Usuário: &lt;strong&gt;$recebeNomeUsuario&lt;/strong&gt; .&lt;/p&gt;&quot;</span>;
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;Por favor, não utilize caracteres especiais (tais como aspas simples ou duplas, assim como barras!) no campo &lt;strong&gt;Nome de Usuário&lt;/strong&gt;.&lt;/p&gt;&quot;</span>;
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;&lt;a href='javascript:history.back();'&gt;Volte&lt;/a&gt; para a página anterior e tente novamente! Obrigado!&lt;/p&gt;&quot;</span>;
<span class="php-keyword">return</span> <span class="php-keyword">false</span>;

<span class="php-brackets">}</span> <span class="php-keyword">else</span> <span class="php-brackets">{</span>

<span class="php-comment">//Aqui vamos criar a função que vai criptografar os dados.</span>
<span class="php-comment">//Serão necessários criptografar apenas o endereço de e-mail e a senha informada</span>

<span class="php-comment">//Função para criptografar a senha</span>
<span class="php-function">function</span> criptoSenha<span class="php-brackets">(</span><span class="php-var">$criptoSenha</span><span class="php-brackets">)</span><span class="php-brackets">{</span>
<span class="php-keyword">return</span> <span class="php-function">sha1</span><span class="php-brackets">(</span><span class="php-function">md5</span><span class="php-brackets">(</span><span class="php-var">$criptoSenha</span><span class="php-brackets">)</span><span class="php-brackets">)</span>;
<span class="php-brackets">}</span>

<span class="php-comment">//Função para criptografar o e-mail</span>
<span class="php-function">function</span> criptoNomeUsuario<span class="php-brackets">(</span><span class="php-var">$criptoNomeUsuario</span><span class="php-brackets">)</span><span class="php-brackets">{</span>
<span class="php-keyword">return</span> <span class="php-function">sha1</span><span class="php-brackets">(</span><span class="php-function">md5</span><span class="php-brackets">(</span><span class="php-var">$criptoNomeUsuario</span><span class="php-brackets">)</span><span class="php-brackets">)</span>;
<span class="php-brackets">}</span>

<span class="php-comment">//Aqui realizo a criptografia do nome de usuário</span>
<span class="php-var">$criptoNomeUsuario</span> <span class="php-operator">=</span> criptoNomeUsuario<span class="php-brackets">(</span><span class="php-function">filter_input</span><span class="php-brackets">(</span>INPUT_POST, <span class="php-string">'nomeUsuario'</span>, FILTER_SANITIZE_MAGIC_QUOTES<span class="php-brackets">)</span><span class="php-brackets">)</span>;

<span class="php-comment">//Aqui realizo a criptografia da senha informada do usuário</span>
<span class="php-var">$criptoSenha</span> <span class="php-operator">=</span> criptoSenha<span class="php-brackets">(</span><span class="php-function">filter_input</span><span class="php-brackets">(</span>INPUT_POST, <span class="php-string">'senha'</span>, FILTER_SANITIZE_SPECIAL_CHARS<span class="php-brackets">)</span><span class="php-brackets">)</span>;

<span class="php-comment">/*
Agora vamos consultar no banco de dados para ver se existe realmente esse cadastro
Vamos verificar ambos os dados: Nome de Usuário e Senha e ainda se o campo &quot;ATIVO&quot; está setado como SIM
Penso eu que, ao invés de simplesmente DELETAR um USUÁRIO ou DELETAR QUALQUER INFORMAÇÃO GRAVADA NO BANCO é tiro no pé.
Vez ou outra, pode ser que seja necessária rever a informação ou a ação, e se tivermos apagado os dados, não temos muito o que fazer.
Lembre-se sempre: o usuário quer uma coisa agora, e outra daqui a 10 minutos. Então, preserve-se da melhor maneira possível.
Prefiro sempre trabalhar com a hipótese de ATIVO, EXIBIR, LIBERAR algo, para poder mudar simplesmente de SIM P/ NÃO e vice-versa, do que deletar a informação.
Posso até IMPRIMIR no botão &quot;Deseja deletar a informação&quot;? mas nunca, realmente nunca, apagar determinada linha ou informação do banco.
*/</span>

<span class="php-var">$consultaInformacoes</span> <span class="php-operator">=</span> <span class="php-function">mysql_query</span><span class="php-brackets">(</span><span class="php-string">&quot;SELECT * FROM usuario WHERE userlogin = '$criptoNomeUsuario' AND passlogin = '$criptoSenha' AND ativo = 'sim'&quot;</span><span class="php-brackets">)</span><span class="php-operator"> or </span><span class="php-function">die</span> <span class="php-brackets">(</span><span class="php-function">mysql_error</span><span class="php-brackets">(</span><span class="php-brackets">)</span><span class="php-brackets">)</span>;
<span class="php-var">$verificaInformacoes</span> <span class="php-operator">=</span> <span class="php-function">mysql_num_rows</span><span class="php-brackets">(</span><span class="php-var">$consultaInformacoes</span><span class="php-brackets">)</span>;

<span class="php-comment">//Aqui vou verificar se houve resultado positivo na pesquisa</span>
<span class="php-keyword">if</span><span class="php-brackets">(</span><span class="php-var">$verificaInformacoes</span> <span class="php-operator">=</span><span class="php-operator">=</span> <span class="php-number">1</span><span class="php-brackets">)</span><span class="php-brackets">{</span>

<span class="php-comment">//Aqui eu vou setar os cookies para gravar os dados de acesso do usuário</span>
<span class="php-function">setcookie</span> <span class="php-brackets">(</span><span class="php-string">&quot;login&quot;</span>, <span class="php-var">$criptoNomeUsuario</span>, <span class="php-brackets">(</span><span class="php-function">time</span><span class="php-brackets">(</span><span class="php-brackets">)</span><span class="php-operator">+</span><span class="php-number">6</span><span class="php-number">0</span><span class="php-operator">*</span><span class="php-number">6</span><span class="php-number">0</span><span class="php-operator">*</span><span class="php-number">2</span><span class="php-number">4</span><span class="php-operator">*</span><span class="php-number">3</span><span class="php-number">0</span> <span class="php-brackets">)</span><span class="php-brackets">)</span>;
<span class="php-function">setcookie</span> <span class="php-brackets">(</span><span class="php-string">&quot;senha&quot;</span>, <span class="php-var">$criptoSenha</span>, <span class="php-brackets">(</span><span class="php-function">time</span><span class="php-brackets">(</span><span class="php-brackets">)</span><span class="php-operator">+</span><span class="php-number">6</span><span class="php-number">0</span><span class="php-operator">*</span><span class="php-number">6</span><span class="php-number">0</span><span class="php-operator">*</span><span class="php-number">2</span><span class="php-number">4</span><span class="php-operator">*</span><span class="php-number">3</span><span class="php-number">0</span> <span class="php-brackets">)</span><span class="php-brackets">)</span>;
<span class="php-function">setcookie</span> <span class="php-brackets">(</span><span class="php-string">&quot;nomeUsuario&quot;</span>, <span class="php-var">$confereNomeUsuario</span>, <span class="php-brackets">(</span><span class="php-function">time</span><span class="php-brackets">(</span><span class="php-brackets">)</span><span class="php-operator">+</span><span class="php-number">6</span><span class="php-number">0</span><span class="php-operator">*</span><span class="php-number">6</span><span class="php-number">0</span><span class="php-operator">*</span><span class="php-number">2</span><span class="php-number">4</span><span class="php-operator">*</span><span class="php-number">3</span><span class="php-number">0</span> <span class="php-brackets">)</span><span class="php-brackets">)</span>;
<span class="php-comment">//header (&quot;Location: conteudoExclusivo.php&quot;);</span>

<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;Os dados informados estão corretos!&lt;/p&gt;
&lt;p&gt;Por favor, aguarde alguns segundos. Estamos processando a sua entrada!&lt;/p&gt;
&lt;p&gt;Obrigado!&lt;/p&gt;&quot;</span>;

<span class="php-var">$conteudoExclusivo</span> <span class="php-operator">=</span> <span class="php-string">&quot;conteudoExclusivo.php&quot;</span>;
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;meta http-equiv=\&quot;refresh\&quot; content=\&quot;3;URL=&quot;</span><span class="php-operator">.</span><span class="php-var">$conteudoExclusivo</span><span class="php-operator">.</span><span class="php-string">&quot;\&quot;&gt;&quot;</span>;

<span class="php-brackets">}</span> <span class="php-keyword">else</span> <span class="php-brackets">{</span>
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;p&gt;Nome de Usuário ou Senha informada não confere. Por favor, &lt;a href='javascript:history.back();'&gt;volte&lt;/a&gt; e tente novamente!&lt;/p&gt;&quot;</span>;
<span class="php-brackets">}</span>

<span class="php-brackets">}</span>

<span class="php-script-tag">?&gt;<span class="html">

<span class="html-other-element">&lt;/div&gt;</span>

<span class="html-other-element">&lt;/body&gt;</span>

<span class="html-other-element">&lt;/html&gt;</span></span></span></span></pre>
</td>
</tr>
</table>
</div>
<p>Se todos os dados baterem, a gente vai acessar  o &#8220;Conteúdo Exclusivo&#8221; em si. Primeiramente, precisamos criar um arquivo que &#8220;confere&#8221;, por assim dizer, se os dados setados no cookie realmente batem com os dados cadastrados no banco.</p>
<p>Essa é a &#8220;grande sacada&#8221; em se criar um sistema de login e senha! Eu preciso verificar TODAS AS PÁGINAS do sistema se o usuário e senha informados realmente são cadastrados no banco de dados! Segue abaixo, o arquivo</p>
<h2>exclusivo/acessoUsuario.php</h2>
<div id="fvch-codeblock-7" class="fvch-codeblock">
<table>
<tr>
<td class="fvch-line-numbers">
<pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre>
</td>
<td class="fvch-code">
<pre id="fvch-code-7"><span class="php"><span class="php-script-tag">&lt;?php</span>

<span class="php-keyword">include</span> <span class="php-string">'conexao.php'</span>;

<span class="php-var">$criptoNomeUsuario</span> <span class="php-operator">=</span> <span class="php-var">$_COOKIE</span><span class="php-brackets">[</span><span class="php-string">&quot;login&quot;</span><span class="php-brackets">]</span>;
<span class="php-var">$criptoSenha</span> <span class="php-operator">=</span> <span class="php-var">$_COOKIE</span><span class="php-brackets">[</span><span class="php-string">&quot;senha&quot;</span><span class="php-brackets">]</span>;
<span class="php-var">$nomeUsuario</span> <span class="php-operator">=</span> <span class="php-var">$_COOKIE</span><span class="php-brackets">[</span><span class="php-string">&quot;nomeUsuario&quot;</span><span class="php-brackets">]</span>;

<span class="php-var">$confirmacao</span> <span class="php-operator">=</span> <span class="php-function">mysql_query</span><span class="php-brackets">(</span><span class="php-string">&quot;SELECT * FROM usuario WHERE userlogin = '$criptoNomeUsuario' and passlogin = '$criptoSenha' and ativo = 'sim'&quot;</span><span class="php-brackets">)</span><span class="php-operator"> or </span><span class="php-function">die</span> <span class="php-brackets">(</span><span class="php-function">mysql_error</span><span class="php-brackets">(</span><span class="php-brackets">)</span><span class="php-brackets">)</span>;

<span class="php-var">$verificaInformacoes</span> <span class="php-operator">=</span> <span class="php-function">mysql_num_rows</span><span class="php-brackets">(</span><span class="php-var">$confirmacao</span><span class="php-brackets">)</span>;
<span class="php-script-tag">?&gt;<span class="html"></span></span></span></pre>
</td>
</tr>
</table>
</div>
<p>Esse código que faz menção àquela variável chamada
<div id="fvch-codeblock-8" class="fvch-codeblock">
<table>
<tr>
<td class="fvch-line-numbers">
<pre>1
</pre>
</td>
<td class="fvch-code">
<pre id="fvch-code-8"><span class="php"><span class="php-var">$msg</span></span></pre>
</td>
</tr>
</table>
</div>
<p> que temos no cabeçalho de nosso arquivo. Se eu tentar acessar o conteúdo sem ter feito o login, é ela que será apresentada ao usuário!</p>
<p>Sendo assim, já podemos então, ter acesso ao</p>
<h2>exclusivo/conteudoExclusivo.php</h2>
<div id="fvch-codeblock-9" class="fvch-codeblock">
<table>
<tr>
<td class="fvch-line-numbers">
<pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
</pre>
</td>
<td class="fvch-code">
<pre id="fvch-code-9"><span class="php"><span class="php-script-tag">&lt;?php</span>
<span class="php-function">ob_start</span><span class="php-brackets">(</span><span class="php-brackets">)</span>;

<span class="php-keyword">include</span> <span class="php-string">'conexao.php'</span>;
<span class="php-keyword">include</span> <span class="php-string">'acessoUsuario.php'</span>; <span class="php-comment">//Aqui verifico se os dados gravados em cookies são reais</span>

<span class="php-keyword">if</span> <span class="php-brackets">(</span> <span class="php-var">$verificaInformacoes</span> <span class="php-operator">=</span><span class="php-operator">=</span> <span class="php-number">1</span> <span class="php-brackets">)</span> <span class="php-brackets">{</span>

<span class="php-script-tag">?&gt;<span class="html">
</span>&lt;?php</span>
<span class="php-var">$criptoNomeUsuario</span> <span class="php-operator">=</span> <span class="php-var">$_COOKIE</span><span class="php-brackets">[</span><span class="php-string">&quot;login&quot;</span><span class="php-brackets">]</span>;
<span class="php-var">$resultado</span> <span class="php-operator">=</span> <span class="php-string">&quot;SELECT * FROM usuario WHERE userlogin = '$criptoNomeUsuario' AND ativo = 'sim'&quot;</span>;
<span class="php-var">$listaCliente</span> <span class="php-operator">=</span> <span class="php-function">mysql_query</span><span class="php-brackets">(</span><span class="php-var">$resultado</span><span class="php-brackets">)</span><span class="php-operator"> or </span><span class="php-function">die</span> <span class="php-brackets">(</span><span class="php-function">mysql_error</span><span class="php-brackets">(</span><span class="php-brackets">)</span><span class="php-brackets">)</span>;
<span class="php-keyword">while</span> <span class="php-brackets">(</span><span class="php-var">$listagem</span> <span class="php-operator">=</span> <span class="php-function">mysql_fetch_array</span><span class="php-brackets">(</span><span class="php-var">$listaCliente</span><span class="php-brackets">)</span><span class="php-brackets">)</span><span class="php-brackets">{</span>
<span class="php-var">$nomeUsuario</span> <span class="php-operator">=</span> <span class="php-var">$listagem</span> <span class="php-brackets">[</span><span class="php-string">&quot;nome&quot;</span><span class="php-brackets">]</span>;
<span class="php-brackets">}</span>
<span class="php-function">mysql_close</span><span class="php-brackets">(</span><span class="php-brackets">)</span>;
<span class="php-script-tag">?&gt;<span class="html">
</span>&lt;?php</span>
<span class="php-var">$msg</span> <span class="php-operator">=</span> <span class="php-var">$_REQUEST</span><span class="php-brackets">[</span><span class="php-string">&quot;msg&quot;</span><span class="php-brackets">]</span>;
<span class="php-script-tag">?&gt;<span class="html">
<span class="html-other-element">&lt;!DOCTYPE HTML&gt;</span>

<span class="html-other-element">&lt;html lang=<span class="html-attribute">&quot;br&quot;</span> class=<span class="html-attribute">&quot;no-js&quot;</span>&gt;</span>

<span class="html-other-element">&lt;head&gt;</span>

<span class="html-other-element">&lt;meta charset=<span class="html-attribute">&quot;utf-8&quot;</span>&gt;</span>
<span class="html-other-element">&lt;title&gt;</span>Sistema de Login e Senha Criptografados<span class="html-other-element">&lt;/title&gt;</span>
<span class="html-other-element">&lt;link href=<span class="html-attribute">&quot;../style.css&quot;</span> rel=<span class="html-attribute">&quot;stylesheet&quot;</span> /&gt;</span>

<span class="html-other-element">&lt;/head&gt;</span>

<span class="html-other-element">&lt;body&gt;</span>

<span class="html-other-element">&lt;div id=<span class="html-attribute">&quot;conteudo&quot;</span>&gt;</span>

<span class="html-other-element">&lt;h1&gt;</span><span class="html-other-element">&lt;span class=<span class="html-attribute">&quot;destaca&quot;</span>&gt;</span></span>&lt;?php</span> <span class="php-keyword">echo</span> <span class="php-var">$nomeUsuario</span>; <span class="php-script-tag">?&gt;<span class="html"><span class="html-other-element">&lt;/span&gt;</span>, seja bem-vindo ao Conteúdo Exclusivo<span class="html-other-element">&lt;/h1&gt;</span>

<span class="html-other-element">&lt;div class=<span class="html-attribute">&quot;borda&quot;</span>&gt;</span><span class="html-other-element">&lt;/div&gt;</span>

<span class="html-other-element">&lt;div class=<span class="html-attribute">&quot;logout&quot;</span>&gt;</span>
<span class="html-other-element">&lt;p class=<span class="html-attribute">&quot;sairSistema&quot;</span>&gt;</span><span class="html-anchor-element">&lt;a href=<span class="html-attribute">&quot;logout.php&quot;</span>&gt;</span>Clique aqui<span class="html-anchor-element">&lt;/a&gt;</span> para sair do sistema<span class="html-other-element">&lt;/p&gt;</span>
<span class="html-other-element">&lt;/div&gt;</span>

<span class="html-other-element">&lt;div class=<span class="html-attribute">&quot;clear&quot;</span>&gt;</span><span class="html-other-element">&lt;/div&gt;</span>

<span class="html-other-element">&lt;h3&gt;</span>Conteúdo exclusivo 01<span class="html-other-element">&lt;/h3&gt;</span>

<span class="html-other-element">&lt;p&gt;</span>Penatibus pellentesque tincidunt in in porta aenean adipiscing nisi porttitor? Lacus tincidunt cursus habitasse cursus adipiscing. Et porta nunc penatibus velit vel? Sociis ac porta natoque arcu integer? Odio. Ultricies purus pid dis habitasse magna etiam, sociis magna ut ut a, turpis odio habitasse et? Rhoncus proin lorem. Montes augue enim magna dignissim auctor tincidunt dapibus natoque quis dignissim mus rhoncus in lorem! Quis magna, amet, nunc vut auctor in, nec odio? Magna magnis magna, ultricies elementum porta, purus. Cras! Turpis turpis cum cras! Velit lacus eu porttitor, nec magna nisi et pellentesque hac ultrices dis, tempor velit, arcu etiam, lacus magna vut nisi mus! Ac dignissim pid? Aliquet hac, mid lacus cras ac? Dignissim pid, montes cursus porta, in.<span class="html-other-element">&lt;/p&gt;</span>

<span class="html-other-element">&lt;p&gt;</span>Urna sit dignissim, lorem purus a arcu platea rhoncus natoque et ac scelerisque vel. Ac. Adipiscing augue! Auctor cursus ac! Ultrices, auctor sed etiam cum adipiscing adipiscing? Porttitor dignissim, sed dignissim cras? Elementum. Quis! Dignissim. Turpis proin est aliquam lundium in! Arcu elementum augue scelerisque, purus in auctor facilisis etiam aliquam enim nunc rhoncus ac. Dapibus pulvinar turpis et. Dapibus platea? Lectus turpis, integer platea auctor nisi enim augue placerat dolor nec enim rhoncus augue augue enim augue augue? Massa! Porta dapibus placerat, sed ultricies arcu tristique! Scelerisque vel aliquet egestas sit elit? Sociis a! Et sagittis scelerisque mus in porta auctor pulvinar, turpis magna, elementum mus montes augue in, odio, nascetur elementum adipiscing, placerat facilisis, nunc egestas dis.<span class="html-other-element">&lt;/p&gt;</span>

<span class="html-other-element">&lt;h3&gt;</span>Conteúdo Exclusivo 02<span class="html-other-element">&lt;/h3&gt;</span>

<span class="html-other-element">&lt;p&gt;</span>Platea est scelerisque, nascetur in, vel? Tortor elementum cras. Lectus tristique purus ut aliquam est aliquet augue! Augue eros scelerisque placerat placerat ut lacus porttitor dapibus elementum in rhoncus dignissim sed ut in habitasse massa, dolor pellentesque augue dictumst! In velit ridiculus sagittis, non. Dignissim amet, amet. Porta! Nisi, pulvinar tincidunt, rhoncus, dis egestas hac nunc, proin dictumst integer amet integer facilisis vel? Et aliquam purus, nascetur turpis. Augue. Augue tristique sit nec in turpis magna enim nascetur facilisis? Elementum ultricies adipiscing rhoncus elementum, ac elementum purus eros eros sit pellentesque integer augue sed et in velit ac phasellus scelerisque, tortor tempor, purus! Integer, tincidunt tristique habitasse dignissim. Mid auctor sagittis! Vel dolor integer lectus risus, ultrices, mauris, magna.<span class="html-other-element">&lt;/p&gt;</span>

<span class="html-other-element">&lt;h3&gt;</span>Conteúdo Exclusivo 03<span class="html-other-element">&lt;/h3&gt;</span>

<span class="html-other-element">&lt;p&gt;</span>Nec dis, penatibus, magnis ac odio dictumst ultrices elit. Habitasse eros pulvinar duis porta ac pulvinar in, porta, in ut proin integer adipiscing. Lundium phasellus tincidunt est cum, magna, porta in, ut elit, ut mattis! Sociis amet ac velit, cum pid, aenean odio dis pulvinar! Adipiscing, sed. Lundium ac, vut ac massa augue, turpis et nisi a velit cum? Porttitor dis adipiscing pulvinar augue cum? Urna augue! Porttitor, pellentesque lorem cursus proin turpis amet scelerisque duis odio vut. Tincidunt mus! Cursus purus magna, urna in ac aenean! Vut nec, non aliquet risus proin, turpis habitasse placerat enim tristique! Diam cras in? Magna? Turpis, habitasse risus habitasse dis nisi risus parturient et, natoque pid habitasse! Sociis, sed odio mid rhoncus.<span class="html-other-element">&lt;/p&gt;</span>

<span class="html-other-element">&lt;div class=<span class="html-attribute">&quot;borda&quot;</span>&gt;</span><span class="html-other-element">&lt;/div&gt;</span>

<span class="html-other-element">&lt;/div&gt;</span>

<span class="html-other-element">&lt;/body&gt;</span>

<span class="html-other-element">&lt;/html&gt;</span>

</span>&lt;?php</span>
<span class="php-brackets">}</span>
<span class="php-keyword">else</span> <span class="php-brackets">{</span>
<span class="php-var">$urlAcesso</span> <span class="php-operator">=</span> <span class="php-string">&quot;index.php&quot;</span>;
<span class="php-keyword">echo</span> <span class="php-string">&quot;
&lt;script type='text/javascript'&gt;
alert('Proibido o acesso por esse meio. Volte e informe os dados corretamente. Obrigado e aguarde o redirecionamento para a tela inicial!');
&lt;/script&gt;&quot;</span>;
<span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;meta http-equiv=\&quot;refresh\&quot; content=\&quot;1;URL=&quot;</span><span class="php-operator">.</span><span class="php-var">$urlAcesso</span><span class="php-operator">.</span><span class="php-string">&quot;\&quot;&gt;&quot;</span>;
<span class="php-brackets">}</span>
<span class="php-script-tag">?&gt;<span class="html"></span></span></span></pre>
</td>
</tr>
</table>
</div>
<p>E para finalizar essa primeira parte, segue abaixo o arquivo que vai efetuar nossa &#8220;saída&#8221;, o</p>
<h2>exclusivo/logout.php</h2>
<div id="fvch-codeblock-10" class="fvch-codeblock">
<table>
<tr>
<td class="fvch-line-numbers">
<pre>1
2
3
4
5
6
7
8
9
</pre>
</td>
<td class="fvch-code">
<pre id="fvch-code-10"><span class="php"><span class="php-script-tag">&lt;?php</span>

<span class="php-comment">// Configura a data de expiração para uma hora</span>

<span class="php-function">setcookie</span> <span class="php-brackets">(</span><span class="php-string">&quot;login&quot;</span>, <span class="php-string">&quot;&quot;</span>, <span class="php-function">time</span><span class="php-brackets">(</span><span class="php-brackets">)</span> <span class="php-operator">-</span> <span class="php-number">3</span><span class="php-number">6</span><span class="php-number">0</span><span class="php-number">0</span><span class="php-brackets">)</span>;
<span class="php-function">setcookie</span> <span class="php-brackets">(</span><span class="php-string">&quot;senha&quot;</span>, <span class="php-string">&quot;&quot;</span>, <span class="php-function">time</span><span class="php-brackets">(</span><span class="php-brackets">)</span> <span class="php-operator">-</span> <span class="php-number">3</span><span class="php-number">6</span><span class="php-number">0</span><span class="php-number">0</span>, <span class="php-number">1</span><span class="php-brackets">)</span>;
<span class="php-function">header</span><span class="php-brackets">(</span><span class="php-string">&quot;Location: index.php?msg=Você saiu do sistema!&quot;</span><span class="php-brackets">)</span>;

<span class="php-script-tag">?&gt;<span class="html"></span></span></span></pre>
</td>
</tr>
</table>
</div>
<p>É isso aí!</p>
<p>Na segunda parte desse tutorial, vamos dar um jeito de fazer com que nosso usuário possa recuperar, ou melhor, gerar novos dados para cadastrar no sistema.</p>
<p>Vamos, de maneira resumida, enviar um e-mail para o mesmo, utilizando a classe PHPMailer, para que acesse uma página de nosso sistema que possibilite, após comprovar que o e-mail realmente já se encontra em nossa base de dados, a inserção de novos dados de usário e senha para acesso.</p>
<p>Espero que seja de grande valia a todos e que possa ajuda e bastante em seus estudos!</p>
<p>Forte abraço e até a segunda parte!</p>
<p>&nbsp;</p>
<p><em>OBS: Só para constar, experimente acessar a página &#8220;conteudoExclusivo.php&#8221; sem fazer o login. Se ele acessar a página, algo deu errado.</em></p>
<div class="crp_related"><h3>Assuntos relacionados:</h3><ul><li><a href="http://www.andrebuzzo.com.br/sistema-de-login-e-senha-criptografados-parte-02/"     class="crp_title">Sistema de Login e Senha Criptografados &#8211; Parte 02</a></li><li><a href="http://www.andrebuzzo.com.br/sistema-de-comentarios-com-php-inserindo-gravatar/"     class="crp_title">SISTEMA DE COMENTÁRIOS COM PHP &#8211; INSERINDO GRAVATAR</a></li><li><a href="http://www.andrebuzzo.com.br/script-sistema-de-comentarios-com-php/"     class="crp_title">Script &#8211; Sistema de comentários com PHP</a></li><li><a href="http://www.andrebuzzo.com.br/script-formulario-anti-spam/"     class="crp_title">Script: Formulário Anti-Spam</a></li><li><a href="http://www.andrebuzzo.com.br/script-envio-de-newsletter-percorrendo-banco-de-dados/"     class="crp_title">Script: Envio de Newsletter percorrendo banco de dados</a></li></ul></div><p>Fonte: <a href="http://www.andrebuzzo.com.br">André Buzzo - Desenvolvimento HTML5 + CSS + jQuery</a>
Post original: <a href="http://www.andrebuzzo.com.br/sistema-de-login-e-senha-criptografados-parte-01/">Sistema de Login e Senha Criptografados &#8211; Parte 01</a>
Conteúdo originalmente criado por <a rel="author" href="http://www.andrebuzzo.com.br/author/tuco/">André Buzzo</a></p><img src="http://feeds.feedburner.com/~r/andrebuzzo/~4/8CJ1nwLl3Us" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andrebuzzo.com.br/sistema-de-login-e-senha-criptografados-parte-01/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		<feedburner:origLink>http://www.andrebuzzo.com.br/sistema-de-login-e-senha-criptografados-parte-01/</feedburner:origLink></item>
		<item>
		<title>Preocupado com Tipografia? Veja esse pequeno guia em 5 passos!</title>
		<link>http://feedproxy.google.com/~r/andrebuzzo/~3/j6g2f7X7Qbg/</link>
		<comments>http://www.andrebuzzo.com.br/preocupado-com-tipografia-veja-esse-pequeno-guia-em-5-passos/#comments</comments>
		<pubDate>Mon, 17 Dec 2012 18:37:50 +0000</pubDate>
		<dc:creator>André Buzzo</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[comunicação]]></category>
		<category><![CDATA[Cores]]></category>
		<category><![CDATA[teoria]]></category>
		<category><![CDATA[textos]]></category>
		<category><![CDATA[Tipografia]]></category>

		<guid isPermaLink="false">http://www.andrebuzzo.com.br/?p=2048</guid>
		<description><![CDATA[<p>Sempre que eu visito um site ou leio um livro, a primeira coisa que nos chama a atenção é a fonte utilizada. Se a fonte ou a tipografia não for atrativa, não me sinto encorajado a continuar a leitura mesmo que o conteúdo seja excelente. Concordo que a “beleza reside no olhar de quem observa”, [...]<div class="crp_related"><h3>Assuntos relacionados:</h3><ul><li><a href="http://www.andrebuzzo.com.br/tipografia-correta-e-paleta-de-cores-para-o-seu-negocio/"     class="crp_title">Tipografia correta e paleta de cores para o seu negócio</a></li><li><a href="http://www.andrebuzzo.com.br/ferramentas-para-a-criacao-de-layouts/"     class="crp_title">Ferramentas para a criação de layouts</a></li><li><a href="http://www.andrebuzzo.com.br/razoes-pelas-quais-os-espacos-em-branco-sao-bons-nos-projetos-web/"     class="crp_title">Razões pelas quais os espaços em branco são bons nos&hellip;</a></li><li><a href="http://www.andrebuzzo.com.br/10-dicas-de-webdesign-para-salvar-seu-site/"     class="crp_title">10 dicas de Webdesign para salvar seu site</a></li><li><a href="http://www.andrebuzzo.com.br/trabalhando-sob-pressao/"     class="crp_title">TRABALHANDO SOB PRESSÃO</a></li></ul></div></p><p>Fonte: <a href="http://www.andrebuzzo.com.br">André Buzzo - Desenvolvimento HTML5 + CSS + jQuery</a>
Post original: <a href="http://www.andrebuzzo.com.br/preocupado-com-tipografia-veja-esse-pequeno-guia-em-5-passos/">Preocupado com Tipografia? Veja esse pequeno guia em 5 passos!</a>
Conteúdo originalmente criado por <a rel="author" href="http://www.andrebuzzo.com.br/author/tuco/">André Buzzo</a></p>]]></description>
				<content:encoded><![CDATA[<p>Sempre que eu visito um site ou leio um livro, a primeira coisa que nos chama a atenção é a fonte utilizada. Se a fonte ou a tipografia não for atrativa, não me sinto encorajado a continuar a leitura mesmo que o conteúdo seja excelente. Concordo que a “beleza reside no olhar de quem observa”, e algumas fontes são mais bonitas do que outras, mas, é um fato conhecido que se a fonte de seu site não é legível, você terá grandes problemas em criar e manter a audiência da sua página.</p>
<p>Para lhe auxiliar na escolha da tipografia mais adequada para seu projeto, nós colocamos juntas algumas dicas e conceitos que você deveria considerar quando decidir qual tipografia deseja utilizar. E por falar nisso, veja o artigo anterior do autor sobre “tipografia no design responsivo (<a href="http://speckyboy.com/2012/11/12/typography-responsive-web-design/">http://speckyboy.com/2012/11/12/typography-responsive-web-design/</a>)”.</p>
<h2>1º Passo – Legibilidade</h2>
<p>O que define o conceito de “boa legibilidade”? Naturalmente, uma fonte que respeita e dê assistência, e até mesmo inspire o usuário a lê-la. Uma fonte é inútil se ele prejudica a leitura ou faz o nosso visitante exercer um esforço descomunal para tentar decifrar o que está escrito lá. Então, na hora em que for escolher uma tipografia, você primordialmente deve concentrar-se na legibilidade antes de qualquer outro aspecto!</p>
<p>As regras para definir a legibilidade não são difíceis: evite fontes cheias de detalhes, fique longe de cores que agridem os olhos dos seus leitores, e por aí vai. Entretanto, se o seu projeto demanda o uso de fontes especiais ou uma fonte “detalhada”, obviamente terá de utilizá-la. Porém, use com parcimônia e se puder, em locais que não afetem a leitura ou entendimento. Assim como, procure não promover um esforço absurdo para que o leitor entenda o que ali está escrito.</p>
<p>Talvez o melhor exemplo de legibilidade na tela é testemunhado na fonte Open Sans. Afinal, o WordPress não iria favorecê-la sem motivo, certo? Se quiser, faça um teste de legibilidade, utilizando a fonte Arial/Helvetica e a Open Sans para um mesmo texto. Veja diferença entre ambas e dê sua própria opinião sobre o assunto!</p>
<p>Se você estiver utilizando um monitor gigantesco, você poderá dizer que não vê problemas em utilizar a família Arial/Helvetica em seus projetos. Mas experimente ler o mesmo texto utilizando um dispositivo móvel, como um celular com tela de 480px de resolução. A Open Sans permite uma legibilidade superior em dispositivos menores.</p>
<h2>2º passo – Cores</h2>
<p><img class="alignnone size-full wp-image-2049" alt="colors" src="http://www.andrebuzzo.com.br/wp-content/uploads/2012/12/colors.jpg" width="640" height="342" /></p>
<p>Cores são um dos aspectos mais discutidos no design e devem ser cuidadosamente escolhidas. E elas merecem mesmo uma atenção especial; afinal de contas, nós definimos o que enxergamos utilizando a teoria das cores.</p>
<p>Em se falando de tipografia, você deve escolher uma cor que não atrapalhe a leitura de seu usuário, e ao mesmo, ela precisa se destacar e complementar o design.</p>
<p>Agora, nesse ponto, você precisa exercitar um pouco de sua precaução: sua escolha de cor deve ser inteligente o bastante para ser notada, mas sóbria o bastante para que não passe aquele apelo de “olha, estou aqui! Me leia!”. Em outras palavras, um bom conjunto de cores vai apenas somar à sua tipografia, e deixe que a fonte e o conteúdo façam a comunicação. As cores são um aspecto importante no design, mas nunca devem ser <i>apenas </i>o mais importante.</p>
<h2>3º passo – Tamanho, espaçamento e posicionamento</h2>
<p><img class="alignnone size-full wp-image-2050" alt="size-placement" src="http://www.andrebuzzo.com.br/wp-content/uploads/2012/12/size-placement.png" width="640" height="345" /></p>
<p>O tamanho do texto é algo que você não pode ficar experimentando em demasia. Claro, você pode inserir um título que seja imenso, e se estiver criando um site pessoal ou de portfólio, você pode empregar as fontes de maneira mais liberal. Entretanto, se estiver criando um site do tipo “Portal de Notícias”, seu texto precisa deve ter um tamanho de fonte legível; não imenso ou ínfimo.</p>
<p>Dê uma olhada no site da Denise Chandler´s (<a href="http://www.denisechandler.com/">http://www.denisechandler.com/</a>). A fonte escolhida pôde ser uma cheia de detalhes, pois obviamente se trata de um portfólio e não de um site de assistencialismo. Porém, o posicionamento e espaçamento do texto (visível se você rolar a página um pouco pra baixo) cheira a escolha inteligente. As linhas precisam ter um espaçamento adequado: se for grande demais, você corre o risco de deixa-las “longe uma das outras”; se pequena demais,  corre-se o risco de deixar um amontado de texto que dificultaria a leitura.</p>
<h2>4º passo – Espaço para inovação</h2>
<p><img class="alignnone size-full wp-image-2051" alt="innovation" src="http://www.andrebuzzo.com.br/wp-content/uploads/2012/12/innovation.png" width="640" height="354" /></p>
<p>Como designers e artistas criativos que somos, precisamos ter um espaço próprio para inovar, certo? Exatamente, eu concordo, absolutamente!</p>
<p>Agora, obviamente, eu não posso “dizer” à você como inovar ou experimentar, mas aqui estão alguns pontos e normas que você deveria observar e ter em mente quando criar um conjunto de tipografia.</p>
<ol>
<li>Tenha sempre em mente que o propósito básico da tipografia é auxiliar na leitura. Experiências tipográficas devem ser conduzidas no intuito de auxiliar a tarefa da leitura, e apenas para isso!</li>
<li>Tenha seu público-alvo em mente. Se for um site de notícias, utilize fontes que exalem profissionalismo. Se o projeto for voltado a uma danceteria, utilize uma fonte menos sisuda para a mesma.</li>
<li>Se você pensa na inovação com seriedade, tente deixar os estereótipos para trás. Um site de notícias deve obrigatoriamente ter uma fonte profissional, mas sem precisar ter uma fonte Old Text para o logo ou um Times New Roman para o texto principal.</li>
<li>Tenha certeza que as cores selecionadas façam um conjunto harmonioso com o design em si, mas que não atrapalhe a boa leitura de seu conteúdo! Você deve escolher suas cores baseando-se no design principal, e nunca o contrário.</li>
<li>Nem preciso dizer, mas vamos lá: fique longe da Comic Sans. Ah, um notinha sobre outras fontes que devem ser evitadas estão aqui: <a href="http://www.cracked.com/funny-5647-fonts/">http://www.cracked.com/funny-5647-fonts/</a></li>
</ol>
<h2>5º passo – A mensagem</h2>
<p>Qualquer coisa associada com criatividade deve transmitir uma mensagem. Uma novela transmite a ideia do autor para seus telespectadores, uma pintura expressa os sentimentos do pintor; até mesmo um panfleto ou um pôster contém uma informação para seus leitores. Naturalmente, web design não foge disso.</p>
<p>Agora, a fim de fazer suas decisões tipográficas se misturar bem com a mensagem principal do site, você deve se questionar repetidamente: “qual é o principal objetivo do site e qual a mensagem que ele deve transmitir?”.  Se estiver criando um site para levantar fundos para alguma ação social, a tipografia deve ser impactante e passar essa ideia; não deve se comportar como um site de esportes, por exemplo.</p>
<p>Deixe-nos considerar, por exemplo, o site The Peach Design. Desde que o website seja de um artista criativo que pretende exibir projetos web, a tipografia deveria passar o aspecto criativo de uma maneira que represente essa qualidade. Em outras palavras, utilizar uma fonte “mundana” ou muito engessada é uma má escolha aqui.</p>
<p><img class="alignnone size-full wp-image-2052" alt="message" src="http://www.andrebuzzo.com.br/wp-content/uploads/2012/12/message.png" width="640" height="257" /></p>
<p>A legenda enorme retrata a criatividade e visão de design do artista; assim, quando visitar o site, você descobre que está lidando com uma pessoa disposta a oferecer-lhe sites e ilustrações, e a opção de fontes que vão abaixo dos elogios da passam essa impressão também.</p>
<h2>Conclusão</h2>
<p>Chegamos ao final desse artigo que trouxe 5 passos para melhorar suas escolhas tipográficas. Espero que lhe ajude bastante. Para finalizar, eu gostaria de dizer que, independentemente da escolha tipográfica que fizer, tenha certeza de que ela se adequará ao seu projeto e que respeite o seu público-alvo. Os aspectos estéticos de web design são melhores retratados em seleções de tipografia e, portanto, você nunca deve esquecê-lo.</p>
<p>Quais são seus pensamentos sobre tipografia? Por favor, compartilhe-os conosco nos comentários abaixo!</p>
<p>Traduzido do original: <a href="http://speckyboy.com/2012/12/14/worried-about-typography/">Worried About Typography? Check Out This Five-Step Guide!</a></p>
<div class="crp_related"><h3>Assuntos relacionados:</h3><ul><li><a href="http://www.andrebuzzo.com.br/tipografia-correta-e-paleta-de-cores-para-o-seu-negocio/"     class="crp_title">Tipografia correta e paleta de cores para o seu negócio</a></li><li><a href="http://www.andrebuzzo.com.br/ferramentas-para-a-criacao-de-layouts/"     class="crp_title">Ferramentas para a criação de layouts</a></li><li><a href="http://www.andrebuzzo.com.br/razoes-pelas-quais-os-espacos-em-branco-sao-bons-nos-projetos-web/"     class="crp_title">Razões pelas quais os espaços em branco são bons nos&hellip;</a></li><li><a href="http://www.andrebuzzo.com.br/10-dicas-de-webdesign-para-salvar-seu-site/"     class="crp_title">10 dicas de Webdesign para salvar seu site</a></li><li><a href="http://www.andrebuzzo.com.br/trabalhando-sob-pressao/"     class="crp_title">TRABALHANDO SOB PRESSÃO</a></li></ul></div><p>Fonte: <a href="http://www.andrebuzzo.com.br">André Buzzo - Desenvolvimento HTML5 + CSS + jQuery</a>
Post original: <a href="http://www.andrebuzzo.com.br/preocupado-com-tipografia-veja-esse-pequeno-guia-em-5-passos/">Preocupado com Tipografia? Veja esse pequeno guia em 5 passos!</a>
Conteúdo originalmente criado por <a rel="author" href="http://www.andrebuzzo.com.br/author/tuco/">André Buzzo</a></p><img src="http://feeds.feedburner.com/~r/andrebuzzo/~4/j6g2f7X7Qbg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andrebuzzo.com.br/preocupado-com-tipografia-veja-esse-pequeno-guia-em-5-passos/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.andrebuzzo.com.br/preocupado-com-tipografia-veja-esse-pequeno-guia-em-5-passos/</feedburner:origLink></item>
		<item>
		<title>Desenvolvedores versus Wix – Uma luta injusta?</title>
		<link>http://feedproxy.google.com/~r/andrebuzzo/~3/O7M_O0yIA5U/</link>
		<comments>http://www.andrebuzzo.com.br/desenvolvedores-versus-wix-uma-luta-injusta/#comments</comments>
		<pubDate>Wed, 31 Oct 2012 18:28:17 +0000</pubDate>
		<dc:creator>André Buzzo</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Argumentação]]></category>
		<category><![CDATA[Clientes]]></category>
		<category><![CDATA[prostituição do mercado]]></category>
		<category><![CDATA[sites gratuitos]]></category>
		<category><![CDATA[Vendas]]></category>
		<category><![CDATA[Wix]]></category>

		<guid isPermaLink="false">http://www.andrebuzzo.com.br/?p=2031</guid>
		<description><![CDATA[<p>Essa semana que se passou eu vi um post de um amigo meu no Facebook, meio infeliz com a possibilidade de perder negócios para a empresa americana de “criação de sites gratuitos”, denominada Wix. Seu questionamento me fez pensar que existem diversos sites que oferecem o mesmo serviço; bancas de jornal vendem discos com templates [...]<div class="crp_related"><h3>Assuntos relacionados:</h3><ul><li><a href="http://www.andrebuzzo.com.br/o-seo-voltado-ao-e-commerce/"     class="crp_title">O SEO voltado ao e-commerce</a></li><li><a href="http://www.andrebuzzo.com.br/planejando-um-site-o-que-esperar-de-meu-cliente/"     class="crp_title">Planejando um site: o que esperar de meu cliente?</a></li><li><a href="http://www.andrebuzzo.com.br/tecnicas-de-vendas-parte-4/"     class="crp_title">Técnicas de Vendas &#8211; Parte 4</a></li><li><a href="http://www.andrebuzzo.com.br/planejando-um-site-por-onde-eu-devo-comecar/"     class="crp_title">Planejando um site: por onde eu devo começar?</a></li><li><a href="http://www.andrebuzzo.com.br/tecnicas-de-vendas-parte-3/"     class="crp_title">Técnicas de Vendas &#8211; Parte 3</a></li></ul></div></p><p>Fonte: <a href="http://www.andrebuzzo.com.br">André Buzzo - Desenvolvimento HTML5 + CSS + jQuery</a>
Post original: <a href="http://www.andrebuzzo.com.br/desenvolvedores-versus-wix-uma-luta-injusta/">Desenvolvedores versus Wix – Uma luta injusta?</a>
Conteúdo originalmente criado por <a rel="author" href="http://www.andrebuzzo.com.br/author/tuco/">André Buzzo</a></p>]]></description>
				<content:encoded><![CDATA[<p>Essa semana que se passou eu vi um post de um amigo meu no Facebook, meio infeliz com a possibilidade de perder negócios para a empresa americana de “criação de sites gratuitos”, denominada Wix.</p>
<p>Seu questionamento me fez pensar que existem diversos sites que oferecem o mesmo serviço; bancas de jornal vendem discos com templates prontos em CSS, prontos para serem implementados (eu mesmo já comprei vários discos desses para estudo!); “profissionais” prostituem o mercado vendendo projetos a preços ridículos; até o Governo, por meio do SEBRAE, dita que os comércios podem e devem estar na internet (nisso eu concordo plenamente!) e que podem ter seu site de maneira gratuita por intermédio dos mesmos (nisso eu discordo totalmente, porém, antes de dizer isso ou aquilo, vou confirmar até onde o esquema é gratuito mesmo!).</p>
<p>Dessa maneira, eu me peguei pensando: “OK, se um cliente meu acabar me confrontando, em uma negociação, sobre os serviços oferecidos gratuitamente pela Wix, o que eu posso argumentar para provar que meus serviços atendem de melhor maneira suas necessidades, sem eu ao menos ter uma noção do que o Wix oferece”?</p>
<p>Fui atrás de fazer um cadastro e tentar mexer na plataforma oferecida, e minhas impressões seguem abaixo, assim como minha análise sobre como argumentar com o cliente sobre o serviço em questão, e para não ficar cansativo e muito longo o artigo, esse, como de costume, será dividido em algumas partes. Vamos lá então:</p>
<h2>1º &#8211; Alguém está se dando bem, teoricamente falando.</h2>
<p><img class="alignnone size-full wp-image-2032" title="Desenvolvedores Versus Wix - Uma luta injusta - André Buzzo Webdesign" src="http://www.andrebuzzo.com.br/wp-content/uploads/2012/10/dandoBem.jpg" alt="Desenvolvedores Versus Wix - Uma luta injusta - André Buzzo Webdesign" width="650" height="304" /></p>
<p>Como não sabia mexer com o tal do Wix, fui logo digitando [www].wix.[com].[br] e eis que caí em uma página. Confesso que comecei a navegar no site, e por um breve momento, fiquei contente em ver que existe lá um “Plano Básico” para que o cliente assine. Aí então eu percebi que na realidade, não é a Wix que oferece serviços gratuitos e sim, uma agência aqui do Brasil que tem o mesmo nome. Até onde isso vai dar enrosco, o problema é deles. Mas o que eles devem faturar com isso é brincadeira!</p>
<p><strong><em>Minha análise:</em></strong><em> “Primeiramente, eu estou vindo até o Sr. e não o Sr. indo até a minha empresa ou pessoa. Meu atendimento é personalizado e pessoal”.</em></p>
<h2>2º &#8211; O Wix é um concorrente e tanto. Admita.</h2>
<p><img class="alignnone size-full wp-image-2033" title="Desenvolvedores versus Wix – Uma luta injusta?" src="http://www.andrebuzzo.com.br/wp-content/uploads/2012/10/wixPage.jpg" alt="Desenvolvedores versus Wix – Uma luta injusta?" width="650" height="327" /></p>
<p>Ao acessar a página correta do sistema, fazer um cadastro bem simples, onde se pede apenas e-mail e uma senha, nem confirmação, até essa etapa é solicitada, é um sinal de que “Quero te ganhar o mais rápido possível” e olha, confesso que é algo bem interessante.</p>
<p>Você como usuário, conseguir chegar ao seu objetivo em três ou quatro passos é algo glorioso. Ainda mais quando se trata de assunto sobre tecnologia, onde para a maior parte dos seres humanos isso é uma tarefa muito intimidadora, é digno de se tirar o chapéu. Serve, inclusive, como estudo para que nós possamos melhorar nossa usabilidade em futuros projetos.</p>
<p>Se fosse ruim eu falaria. Mas não é; portanto merece respeito e comentários positivos. Infelizmente.</p>
<p>Ele oferece uma gama bem grande de “categorias” para a criação de uma página, que vai desde um  eCommerce (modalidade paga) até sites empresariais, para prestadores de serviços, músicos, educadores, webdesigners (sim, webdesigner que utiliza ferramenta gratuita para fazer um site é de lascar!), para varejo, moda, dentre outras. E já oferecem, de acordo com a categoria selecionada, vários templates prontos para que escolha um e comece a editá-lo a seu gosto. E é exatamente aí que aparece um excelente, mas um excelente gancho para argumentar com seu cliente.</p>
<p><strong><em>Minha análise:</em></strong><em> “Se meu cliente falar horrores de coisas boas sobre a ferramenta, eu vou concordar. Sim, ela merece elogios realmente! Porém”&#8230;</em></p>
<h2>3º &#8211; Obstáculo 01 – Os templates estão todos em inglês</h2>
<p><img class="alignnone size-full wp-image-2036" title="Desenvolvedores Versus Wix - Uma luta injusta? - André Buzzo Webdesign" src="http://www.andrebuzzo.com.br/wp-content/uploads/2012/10/linguaInglesa.jpg" alt="Desenvolvedores Versus Wix - Uma luta injusta? - André Buzzo Webdesign" width="627" height="327" /></p>
<p>Embora todo o site esteja traduzido em português (incluindo-se aí os menus para a edição!), tudo no site oferecido está em inglês. Ou seu cliente entende a língua ou vai apanhar para editar textos, nomes de links, títulos, dentre outras informações previamente inseridas no template.</p>
<p>Será que nosso cliente sabe que “TEAM” é uma página sobre a EQUIPE DE TRABALHO de sua empresa? Pode até ser que o mesmo deduza, pois na página existem informações sobre algumas pessoas, que podemos realmente, chegar À conclusão de que são os funcionários dele.</p>
<p><strong><em>Minha análise:</em></strong><em> “Todos os textos do site estão em inglês, assim como as descrições de links, fotos, títulos e demais informações que existem no template oferecido. O senhor conhece a língua inglesa para editar cada um deles? E mesmo que não seja necessário entender o inglês, o senhor sabe que determinada área está apta a receber determinado texto ou descrição&#8221;?</em></p>
<h2>4º &#8211; Obstáculo 02 &#8211; Há de se ter um mediano conhecimento em desenvolvimento web</h2>
<p>Sim, se faz necessário ter certo conhecimento. Experimentando editar um dos templates oferecidos (Categoria Consultoria e Treinamento; Template: Strategic Consulting), me deparei com as seguintes informações:</p>
<p><img class="alignnone size-full wp-image-2034" title="Desenvolvedores versus Wix - Uma luta injusta? - André Buzzo Webdesign" src="http://www.andrebuzzo.com.br/wp-content/uploads/2012/10/menuWix.jpg" alt="Desenvolvedores versus Wix - Uma luta injusta? - André Buzzo Webdesign" width="650" height="680" /></p>
<p><strong>Seta Vermelha:</strong> é nela que eu altero o nome da página e por pura magia, o link;<br />
<strong>Seta Magenta:</strong> aí eu mudo o nome do arquivo HTML. Se o cliente não possui conhecimento da linguagem, vai titubear na hora de alterar ou não.<br />
<strong>Seta Azul:</strong> é nesse ícone que eu abro a janela da direita. Confesso: apanhei para descobrir que aí era o lugar onde eu deveria entrar para alterar de HOME para PÁGINA INICIAL no menu.<br />
<strong>Seta Laranja:</strong> WTF é Cross Fade? Nós que trabalhamos com web sabemos. E o cliente?</p>
<p>Além de todas as informações acima listadas (existem inúmeras outras não mencionadas, mas que podem ser observadas na imagem acima) existe a confusão visual e textual da mesma.  Você entra em Páginas e quando descobre que precisa clicar no ícone assinalado com a Seta Azul, abre uma sub-aba com o título Configurações e SEO, que talvez o cliente também não domine. E além do mais, logo que clicamos em páginas, todas são elencadas em inglês.</p>
<p>O texto explicativo em português e os menus, em inglês&#8230;</p>
<p><strong><em>Minha análise:</em></strong><em> “O painel de configuração não é tão intuitivo assim. O senhor precisa de um conhecimento mediano em linguagem de programação para conseguir fazer as alterações que necessita. E não quero colocar medo ou dizer que o site não funciona. Porém, devo alertar que pode se confundir e causar uma má impressão ao seu cliente/usuário”.</em></p>
<h2>5º &#8211; Obstáculo 03 – CSS &#8211; “Vou alterar tudo? Como assim”?</h2>
<p>Ainda batendo na tecla de que nosso cliente precisaria de um bom conhecimento em linguagem de marcação, ele também necessita entender como funcionam as folhas de estilo. Por exemplo: ao clicar no “slideshow” para fazer a configuração do mesmo, podemos chegar à situação apresentada pela imagem abaixo:</p>
<p><img class="alignnone size-full wp-image-2035" title="Desenvolvedores Versus Wix - Uma luta injusta? - André Buzzo Webdesign " src="http://www.andrebuzzo.com.br/wp-content/uploads/2012/10/estilosWix.jpg" alt="Desenvolvedores Versus Wix - Uma luta injusta? - André Buzzo Webdesign " width="650" height="492" /></p>
<p>Dentre inúmeras possibilidades que a ferramenta oferece uma em particular me chamou a atenção: a alteração do CSS do site. E o que mais me intrigou foi tal mensagem apresentada quando selecionamos o “Editar Estilo” que nos é apresentado:</p>
<h3>“NOTE: ALTERAÇÕES REALIZADAS AQUI AFETARÃO TODOS OS ELEMENTOS DO SITE QUE USEM ESSE ESTILO. QUER SABER MAIS”?</h3>
<p>Já até sabemos a resposta não é? É claro que não!</p>
<p>Vou alterar tudo o que?  O que são elementos? O que é estilo? O que vai ser alterado? Meu Deus, eu vou ter que fazer tudo de novo?</p>
<p>Se não era intenção causar tal tempestade de questionamentos na cabeça do cliente/usuário, não oferecesse tal possibilidade.</p>
<p>É isso aí meu amigo e minha amiga. Por hoje é só.</p>
<p>Na próxima parte, irei abordar alguns outros aspectos da ferramenta, e o que podemos fazer para burlar tal oferta na web e oferecermos um serviço digno de nosso cliente. Se ele procura preço, que vá de Wix. Se procurar qualidade, que venha atrás do seu nome.</p>
<p>Forte abraço e até a próxima. Fiquem com Deus!</p>
<div class="crp_related"><h3>Assuntos relacionados:</h3><ul><li><a href="http://www.andrebuzzo.com.br/o-seo-voltado-ao-e-commerce/"     class="crp_title">O SEO voltado ao e-commerce</a></li><li><a href="http://www.andrebuzzo.com.br/planejando-um-site-o-que-esperar-de-meu-cliente/"     class="crp_title">Planejando um site: o que esperar de meu cliente?</a></li><li><a href="http://www.andrebuzzo.com.br/tecnicas-de-vendas-parte-4/"     class="crp_title">Técnicas de Vendas &#8211; Parte 4</a></li><li><a href="http://www.andrebuzzo.com.br/planejando-um-site-por-onde-eu-devo-comecar/"     class="crp_title">Planejando um site: por onde eu devo começar?</a></li><li><a href="http://www.andrebuzzo.com.br/tecnicas-de-vendas-parte-3/"     class="crp_title">Técnicas de Vendas &#8211; Parte 3</a></li></ul></div><p>Fonte: <a href="http://www.andrebuzzo.com.br">André Buzzo - Desenvolvimento HTML5 + CSS + jQuery</a>
Post original: <a href="http://www.andrebuzzo.com.br/desenvolvedores-versus-wix-uma-luta-injusta/">Desenvolvedores versus Wix – Uma luta injusta?</a>
Conteúdo originalmente criado por <a rel="author" href="http://www.andrebuzzo.com.br/author/tuco/">André Buzzo</a></p><img src="http://feeds.feedburner.com/~r/andrebuzzo/~4/O7M_O0yIA5U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andrebuzzo.com.br/desenvolvedores-versus-wix-uma-luta-injusta/feed/</wfw:commentRss>
		<slash:comments>66</slash:comments>
		<feedburner:origLink>http://www.andrebuzzo.com.br/desenvolvedores-versus-wix-uma-luta-injusta/</feedburner:origLink></item>
		<item>
		<title>Palestra – Colaborativismo &amp; NetWorking – Ceunsp</title>
		<link>http://feedproxy.google.com/~r/andrebuzzo/~3/oHBCkS6prS4/</link>
		<comments>http://www.andrebuzzo.com.br/palestra-colaborativismo-networking-ceunsp/#comments</comments>
		<pubDate>Tue, 09 Oct 2012 13:32:37 +0000</pubDate>
		<dc:creator>André Buzzo</dc:creator>
				<category><![CDATA[Artigos]]></category>

		<guid isPermaLink="false">http://www.andrebuzzo.com.br/?p=2022</guid>
		<description><![CDATA[<p>Fala pessoas! Ontem eu pude vivenciar a minha primeira experiência como palestrante, e achei algo muito legal! Foi interessante ter a oportunidade de transmitir o pouco que conheço para pessoas que eu não conheço. Conversamos sobre “Colaborativismo &#38; Networking”, e pude passar para as quase 40 pessoas que se encontravam na sala um pouco da [...]<div class="crp_related"><h3>Assuntos relacionados:</h3><ul><li><a href="http://www.andrebuzzo.com.br/metas-2012/"     class="crp_title">Metas 2012</a></li><li><a href="http://www.andrebuzzo.com.br/colaborativismo-em-foruns-e-sites/"     class="crp_title">Colaborativismo em fóruns e sites</a></li><li><a href="http://www.andrebuzzo.com.br/errar-faz-parte-aprender-tambem/"     class="crp_title">ERRAR FAZ PARTE! APRENDER TAMBÉM!</a></li><li><a href="http://www.andrebuzzo.com.br/tecnicas-de-vendas-parte-2/"     class="crp_title">Técnicas de Vendas &#8211; Parte 2</a></li><li><a href="http://www.andrebuzzo.com.br/balanco-2011/"     class="crp_title">Balanço 2011</a></li></ul></div></p><p>Fonte: <a href="http://www.andrebuzzo.com.br">André Buzzo - Desenvolvimento HTML5 + CSS + jQuery</a>
Post original: <a href="http://www.andrebuzzo.com.br/palestra-colaborativismo-networking-ceunsp/">Palestra &#8211; Colaborativismo &#038; NetWorking &#8211; Ceunsp</a>
Conteúdo originalmente criado por <a rel="author" href="http://www.andrebuzzo.com.br/author/tuco/">André Buzzo</a></p>]]></description>
				<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-2023" title="Palestra - Colaborativismo &amp; NetWorking - Ceunsp" src="http://www.andrebuzzo.com.br/wp-content/uploads/2012/10/chamadaPalestra.jpg" alt="Palestra - Colaborativismo &amp; NetWorking - Ceunsp" width="650" height="250" /></p>
<p>Fala pessoas!</p>
<p>Ontem eu pude vivenciar a minha primeira experiência como palestrante, e achei algo muito legal! Foi interessante ter a oportunidade de transmitir o pouco que conheço para pessoas que eu não conheço.</p>
<p>Conversamos sobre “Colaborativismo &amp; Networking”, e pude passar para as quase 40 pessoas que se encontravam na sala um pouco da minha atuação em Fóruns e um pouco do que vivo aqui no site.</p>
<p>Quis mostrar a todos que transmitir conhecimento é algo muito legal, é bom e não nos custa nada, além de um pouco de nosso tempo. Pude demonstrar que ajudando outras pessoas podemos crescer, como profissionais e seres humanos.</p>
<p>Foi a oportunidade de compartilhar um pouco dos “causos” que acontecem na KR Comunicação, assim como no site. Pedidos absurdos, dúvidas coerentes, pedidos desafiadores e muito, mas muito bom humor nos exemplos.</p>
<p>Quero agradecer a todos que lá compareceram e aos que entraram em contato pelo Facebook querendo participar (o evento foi fechado para os alunos do Centro Universitário), e queria agradecer e muito, à minha ex-professora Adriana Morais e ao Ceunsp pela oportunidade a mim concedida!</p>
<p>Queria agradecer também aos professores Carlos e Clementino, que me deram um “empurrãozinho”, dizendo que eu precisaria urgentemente fazer uma Pós-Graduação e iniciar uma vida academia, pois me disseram que eu “levo jeito para dar aulas”.</p>
<p>Ontem, dia 08/10/2012, foi uma noite muito especial. Estive na companhia também de uma das pessoas mais importantes em minha vida, minha esposa Karina, me oferecendo suporte e prestando atenção no que eu falava. E segundo ela, conseguiu aprender, pois achava que eu só ia falar sobre programação e que não entenderia nada!</p>
<p>Enfim. Um muito obrigado a todos que confiaram em minha capacidade para chegar até onde cheguei. E espero que esse seja apenas o início de uma nova jornada, repleta de desafios e de conquistas. E de algumas derrotas também, que sei que “faz parte” do processo.</p>
<p>O material, assim como as fotos podem ser vistos no site da KR Comunicação Integrada, no endereço <a href="http://www.krcomunicacao.com.br/ceunsp">www.krcomunicacao.com.br/ceunsp</a></p>
<div class="crp_related"><h3>Assuntos relacionados:</h3><ul><li><a href="http://www.andrebuzzo.com.br/metas-2012/"     class="crp_title">Metas 2012</a></li><li><a href="http://www.andrebuzzo.com.br/colaborativismo-em-foruns-e-sites/"     class="crp_title">Colaborativismo em fóruns e sites</a></li><li><a href="http://www.andrebuzzo.com.br/errar-faz-parte-aprender-tambem/"     class="crp_title">ERRAR FAZ PARTE! APRENDER TAMBÉM!</a></li><li><a href="http://www.andrebuzzo.com.br/tecnicas-de-vendas-parte-2/"     class="crp_title">Técnicas de Vendas &#8211; Parte 2</a></li><li><a href="http://www.andrebuzzo.com.br/balanco-2011/"     class="crp_title">Balanço 2011</a></li></ul></div><p>Fonte: <a href="http://www.andrebuzzo.com.br">André Buzzo - Desenvolvimento HTML5 + CSS + jQuery</a>
Post original: <a href="http://www.andrebuzzo.com.br/palestra-colaborativismo-networking-ceunsp/">Palestra &#8211; Colaborativismo &#038; NetWorking &#8211; Ceunsp</a>
Conteúdo originalmente criado por <a rel="author" href="http://www.andrebuzzo.com.br/author/tuco/">André Buzzo</a></p><img src="http://feeds.feedburner.com/~r/andrebuzzo/~4/oHBCkS6prS4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andrebuzzo.com.br/palestra-colaborativismo-networking-ceunsp/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<feedburner:origLink>http://www.andrebuzzo.com.br/palestra-colaborativismo-networking-ceunsp/</feedburner:origLink></item>
		<item>
		<title>Colaborativismo em fóruns e sites</title>
		<link>http://feedproxy.google.com/~r/andrebuzzo/~3/EmDrwbIJD4Y/</link>
		<comments>http://www.andrebuzzo.com.br/colaborativismo-em-foruns-e-sites/#comments</comments>
		<pubDate>Tue, 28 Aug 2012 13:31:08 +0000</pubDate>
		<dc:creator>André Buzzo</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Ajuda]]></category>
		<category><![CDATA[Códigos prontos]]></category>
		<category><![CDATA[Colaborativismo]]></category>
		<category><![CDATA[Fórum]]></category>

		<guid isPermaLink="false">http://www.andrebuzzo.com.br/?p=2010</guid>
		<description><![CDATA[<p>Estive essa semana ajudando, como de costume, as pessoas que postam suas dúvidas no Fórum. É um trabalho que eu gosto de realizar, e por muitas vezes, nos alegra e em algumas outras, nos deixa um tanto quanto frustrados. Vou tentar explicar o porquê isso acontece, e gostaria que ninguém se sentisse ofendido ou chateado [...]<div class="crp_related"><h3>Assuntos relacionados:</h3><ul><li><a href="http://www.andrebuzzo.com.br/metas-2012/"     class="crp_title">Metas 2012</a></li><li><a href="http://www.andrebuzzo.com.br/errar-faz-parte-aprender-tambem/"     class="crp_title">ERRAR FAZ PARTE! APRENDER TAMBÉM!</a></li><li><a href="http://www.andrebuzzo.com.br/tecnicas-de-vendas-parte-4/"     class="crp_title">Técnicas de Vendas &#8211; Parte 4</a></li><li><a href="http://www.andrebuzzo.com.br/tecnicas-de-vendas-parte-3/"     class="crp_title">Técnicas de Vendas &#8211; Parte 3</a></li><li><a href="http://www.andrebuzzo.com.br/palestra-colaborativismo-networking-ceunsp/"     class="crp_title">Palestra &#8211; Colaborativismo &#038; NetWorking &#8211;&hellip;</a></li></ul></div></p><p>Fonte: <a href="http://www.andrebuzzo.com.br">André Buzzo - Desenvolvimento HTML5 + CSS + jQuery</a>
Post original: <a href="http://www.andrebuzzo.com.br/colaborativismo-em-foruns-e-sites/">Colaborativismo em fóruns e sites</a>
Conteúdo originalmente criado por <a rel="author" href="http://www.andrebuzzo.com.br/author/tuco/">André Buzzo</a></p>]]></description>
				<content:encoded><![CDATA[<p>Estive essa semana ajudando, como de costume, as pessoas que postam suas dúvidas no Fórum. É um trabalho que eu gosto de realizar, e por muitas vezes, nos alegra e em algumas outras, nos deixa um tanto quanto frustrados.</p>
<p>Vou tentar explicar o porquê isso acontece, e gostaria que ninguém se sentisse ofendido ou chateado com minhas palavras, que na realidade, não visam maltratar ou até mesmo, deixar as pessoas com um “pé atrás” na hora de postar suas dúvidas!</p>
<p>Podemos usar como gancho, para esse artigo, o título e a última palavra da frase acima:</p>
<h1>COLABORATIVISMO e DÚVIDAS!</h1>
<p><img class="alignnone size-full wp-image-2011" title="Vai Uma Ajuda - André Buzzo Webdesign" src="http://www.andrebuzzo.com.br/wp-content/uploads/2012/08/vaiUmaAjuda.jpg" alt="Vai Uma Ajuda - André Buzzo Webdesign" width="650" height="250" /></p>
<p>A gente aprende, no decorrer do tempo (Tenho exatas 1085 mensagens no Fórum!), que muitas pessoas postam suas dúvidas, enquanto outras, pedem soluções para o seus problemas. Isso mesmo. Pedem códigos, pedem sistemas prontos, pedem para alguém desenvolva um trabalho para ela. Pior ainda, quando dizem “<em>Pelo amor de Deus, preciso entregar esse sistema em uma semana, e não fiz nada do site! Alguém ajuuuuuuuuuuuuuuuda</em>…”</p>
<p>Sinto muito, mas não posso me comprometer a ajudar, ou salvar a pele de alguém descomprometido…</p>
<p>Se formos elencar as razões, para que determinados tópicos sejam respondidos, ou não, o artigo se tornaria uma revista. Portanto, vamos aos principais:</p>
<p><img class="alignnone size-full wp-image-2012" title="Prazer em Ajudar - André Buzzo Webdesign" src="http://www.andrebuzzo.com.br/wp-content/uploads/2012/08/prazerAjudar.jpg" alt="Prazer em Ajudar - André Buzzo Webdesign" width="650" height="250" /></p>
<p><strong>1º</strong> – Participamos do Fórum por puro prazer. Se alguém acha que estamos ganhando algo, financeiramente falando, estão redondamente enganados. Ganhamos  sim, conhecimento e aprendizado. E de boa&#8230; não há dinheiro que pague isso! Ajudar, independentemente do que seja, é sempre gratificante e prazeroso.</p>
<p><img class="alignnone size-full wp-image-2013" title="Eu Trabalho Também - André Buzzo Webdesign" src="http://www.andrebuzzo.com.br/wp-content/uploads/2012/08/trabalhoTambem.jpg" alt="Eu Trabalho Também - André Buzzo Webdesign" width="650" height="250" /></p>
<p>2º – Nós, moderadores e administradores do site/fórum, trabalhamos o dia todo. As vezes, é o dia todo literalmente. Eu fico das 7h da manhã às 22h, quase todo dia na frente do computador, desenvolvendo website, atualizando, criando algum sistema que facilite a minha vida, e nas horinhas vagas, respondo no Fórum e em outras oportunidades, crio Vídeo Aulas para os sites. Então, outra situação recorrente, é a “<em>Desculpe pela demora na resposta</em> (olha, sem querer ser grosso, mas pedir desculpa pra que? Quem está com dúvida e acessou o Fórum foi você, e não eu! rs), <em>mas é que eu trabalho o dia todo e não tenho tempo de ficar olhando o Fórum</em>” … Trabalha o dia todo? Bem-vindo ao clube!</p>
<p><img class="alignnone size-full wp-image-2014" title="Não peça CódigosProntos - André Buzzo Webdesign" src="http://www.andrebuzzo.com.br/wp-content/uploads/2012/08/codigosProntos.jpg" alt="Não peça CódigosProntos - André Buzzo Webdesign" width="650" height="250" /></p>
<p>3º – Fórum é lugar de se resolverem dúvidas, e não para <strong>pedir</strong> códigos/sistemas prontos</p>
<p>Quanto ao 1º item, já que COLABORAMOS com os usuários, sentimos (pelo menos eu! rs) um enorme prazer em poder resolver problemas que nos trazem. Mas problemas que sejam dignos de resposta, tais como:</p>
<p>“<em>Se eu colocar um background-color e um background, terei o mesmo resultado. Qual a diferença entre eles</em>?” … isso sim, ao meu ver, é uma questão pertinente, que atinge a idéia do Fórum, e me sinto na “obrigação” de postar uma mensagem e esclarecer a dúvida.</p>
<p>Diferente de “<em>Quero colocar determinada parte de um site no meu site, e não sei como fazer</em>!” … eu costumo, como sempre, ver o link que é postado, entrar no código fonte, e ver no código do mesmo se há como ser “copiado/estudado” tal aplicativo/programação e digo ao usuário… “<em>Compadre, pegue o código fonte, vá no CSS e veja que lá, tem tudo o que você precisa!</em>” … Normalmente, nem retorno esse usuário dá, ou, em alguns casos, quando o há, é da seguinte maneira…”<em>Não conheço nada de código. Tem como montar ele pra mim?</em>”</p>
<p>Sinceramente, se vai partir para esse lado, eu já penso em duas coisas: Primeiramente, “que cara folgado”… e em segundo, “mude de profissão” …</p>
<p>Eu também não sabia nada. Mas corri atrás e aprendi. E hoje, procuro colaborar com todos que acessam o Fórum e postam suas dúvidas. Mas, nos altos das minhas 1085 mensagens, a gente percebe quem quer as coisas de mão beijada e quem procura fazer, tenta, erra, tenta e erra novamente, e acaba por pedir ajuda, deixando o seu código aberto para quem quiser visualizá-lo, estudá-lo ou aplicá-lo, o tenha em mãos.</p>
<p>Isso sim é COLABORATIVO. Isso sim, é pertencer à uma comunidade que não visa lucros, e sim, a troca de experiência e sabedoria, que nos trará lucros!</p>
<p>A gente consegue sacar quando alguém tem dúvidas, assim como eu mesmo, que comecei a postar dúvidas no Fórum, e recebi ajuda de muitas pessoas…e resolvi fazer o mesmo, até o dia que abri meu e-mail e recebi um convite do <a title="Acesse o site do David CHC!" href="http://www.davidchc.com.br/">David CHC</a> para ser moderador do <a title="Participe do Fórum Mx Masters" href="http://mxmasters.com.br/comunidade/">Fórum</a>, pois eu estava ajudando vários usuários! Fiquei muito feliz pela oportunidade, e imensamente agradecido!</p>
<p>Da mesma maneira, conseguimos sacar aqueles que não querem nada com nada, a não ser jogar um pedido, e quem sabe, alguma boa alma responda e entregue tudo de mão beijada ao próximo. Que esse, com certeza, nem um “Obrigado” vai voltar e postar no Fórum…</p>
<div class="crp_related"><h3>Assuntos relacionados:</h3><ul><li><a href="http://www.andrebuzzo.com.br/metas-2012/"     class="crp_title">Metas 2012</a></li><li><a href="http://www.andrebuzzo.com.br/errar-faz-parte-aprender-tambem/"     class="crp_title">ERRAR FAZ PARTE! APRENDER TAMBÉM!</a></li><li><a href="http://www.andrebuzzo.com.br/tecnicas-de-vendas-parte-4/"     class="crp_title">Técnicas de Vendas &#8211; Parte 4</a></li><li><a href="http://www.andrebuzzo.com.br/tecnicas-de-vendas-parte-3/"     class="crp_title">Técnicas de Vendas &#8211; Parte 3</a></li><li><a href="http://www.andrebuzzo.com.br/palestra-colaborativismo-networking-ceunsp/"     class="crp_title">Palestra &#8211; Colaborativismo &#038; NetWorking &#8211;&hellip;</a></li></ul></div><p>Fonte: <a href="http://www.andrebuzzo.com.br">André Buzzo - Desenvolvimento HTML5 + CSS + jQuery</a>
Post original: <a href="http://www.andrebuzzo.com.br/colaborativismo-em-foruns-e-sites/">Colaborativismo em fóruns e sites</a>
Conteúdo originalmente criado por <a rel="author" href="http://www.andrebuzzo.com.br/author/tuco/">André Buzzo</a></p><img src="http://feeds.feedburner.com/~r/andrebuzzo/~4/EmDrwbIJD4Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andrebuzzo.com.br/colaborativismo-em-foruns-e-sites/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		<feedburner:origLink>http://www.andrebuzzo.com.br/colaborativismo-em-foruns-e-sites/</feedburner:origLink></item>
		<item>
		<title>Ferramentas para a criação de layouts</title>
		<link>http://feedproxy.google.com/~r/andrebuzzo/~3/lHRrFS3SKus/</link>
		<comments>http://www.andrebuzzo.com.br/ferramentas-para-a-criacao-de-layouts/#comments</comments>
		<pubDate>Fri, 17 Aug 2012 12:48:19 +0000</pubDate>
		<dc:creator>André Buzzo</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Cores]]></category>
		<category><![CDATA[criação]]></category>
		<category><![CDATA[desing]]></category>
		<category><![CDATA[Dúvidas recorrentes]]></category>
		<category><![CDATA[ferramentas]]></category>
		<category><![CDATA[formas]]></category>
		<category><![CDATA[layout]]></category>

		<guid isPermaLink="false">http://www.andrebuzzo.com.br/?p=1997</guid>
		<description><![CDATA[<p>Fala pessoas! Quanto tempo não? Nem me fale! Estou envolvido em diversos projetos até o final de setembro, e o tempo está realmente curto para a criação de vídeo aulas e até mesmo para escrever alguma coisa para você ler. Mas vou tentar atender ao máximo de pessoas com um único artigo, voltado a dúvidas [...]<div class="crp_related"><h3>Assuntos relacionados:</h3><ul><li><a href="http://www.andrebuzzo.com.br/preocupado-com-tipografia-veja-esse-pequeno-guia-em-5-passos/"     class="crp_title">Preocupado com Tipografia? Veja esse pequeno guia em 5&hellip;</a></li><li><a href="http://www.andrebuzzo.com.br/a-importancia-de-um-briefing-%e2%80%93-parte-final/"     class="crp_title">A importância de um Briefing – parte final</a></li><li><a href="http://www.andrebuzzo.com.br/como-precificar-seu-trabalhos/"     class="crp_title">Como precificar seu trabalho?</a></li><li><a href="http://www.andrebuzzo.com.br/errar-faz-parte-aprender-tambem/"     class="crp_title">ERRAR FAZ PARTE! APRENDER TAMBÉM!</a></li><li><a href="http://www.andrebuzzo.com.br/o-webmaster-esta-morto/"     class="crp_title">O Webmaster está morto&#8230;</a></li></ul></div></p><p>Fonte: <a href="http://www.andrebuzzo.com.br">André Buzzo - Desenvolvimento HTML5 + CSS + jQuery</a>
Post original: <a href="http://www.andrebuzzo.com.br/ferramentas-para-a-criacao-de-layouts/">Ferramentas para a criação de layouts</a>
Conteúdo originalmente criado por <a rel="author" href="http://www.andrebuzzo.com.br/author/tuco/">André Buzzo</a></p>]]></description>
				<content:encoded><![CDATA[<p>Fala pessoas! Quanto tempo não? Nem me fale!</p>
<p>Estou envolvido em diversos projetos até o final de setembro, e o tempo está realmente curto para a criação de vídeo aulas e até mesmo para escrever alguma coisa para você ler.</p>
<p>Mas vou tentar atender ao máximo de pessoas com um único artigo, voltado a dúvidas recorrentes dos usuários do site. Constantemente eu recebo e-mails de pessoas que, ao ter o primeiro contato com “web”, se apaixonam. E assim como todo amor, após o “se apaixonar”, vem o sentimento de “estou perdido e o que eu faço?”. Em matéria “web” posso até aconselhar; em matéria de “coração”, já é outra história!</p>
<p>O último, quem me enviou foi o Sandro Berto, e assim como vários outros, normalmente, as mensagens estão mais ou menos assim:</p>
<p>“André, tudo bem? Sou estudante de Análise de Sistemas/Redes/Jornalismo/ Publicidade  e Propaganda/Desenvolvimento de Softwares/Sistemas para internet, e tive um pequeno contato com webdesign e me apaixonei!</p>
<p>Estudamos um pouco de HTML e CSS, demos uma passada em PHP e agora estou totalmente perdido, pois quero aprender a montar layouts e não sei quais ferramentas utilizar. Aprendi de maneira bem rápida Dreamweaver, Fireworks, Photoshop e Flash, até mexi com WordPress/Joomla e agora eu não sei o que fazer para criar layouts.</p>
<p>Poderia dizer qual ferramenta eu devo usar para criar layouts?”.</p>
<p><img class="alignnone size-full wp-image-2000" title="Quais ferramentas devo aprender? - André Buzzo Webdesign" src="http://www.andrebuzzo.com.br/wp-content/uploads/2012/08/ferramentas.jpg" alt="Quais ferramentas devo aprender? - André Buzzo Webdesign" width="650" height="250" /></p>
<p>Se eu dissesse para você que a ferramenta é o menos importante, você acreditaria? Então pode acreditar. Não importa se você vai usar o Gimp, o Fireworks ou o Photoshop; você precisa mesmo são de outras ferramentas, que listo abaixo, em grau de importância, sob MEU PONTO DE VISTA ok?</p>
<h1>Teoria das Cores</h1>
<p><img class="alignnone size-full wp-image-2003" title="Teoria das Cores - André Buzzo Webdesign" src="http://www.andrebuzzo.com.br/wp-content/uploads/2012/08/teoriaCores.jpg" alt="Teoria das Cores - André Buzzo Webdesign" width="650" height="250" /></p>
<p>Basicamente, você irá trabalhar com um leque grande cores. Não necessariamente em um único projeto, e sim, em diversos.</p>
<p>Ter uma boa percepção de cores e suas melhores combinações se fazem cruciais para o desenvolvimento de um bom layout ou design. Não podemos sobrecarregar o usuário final de informações que as cores fornecem e sim, tornar agradável a permanência do mesmo dentro de nosso site.</p>
<p>Ter um bom discernimento sobre quais cores e seus mais variados tons poderão/deverão ser utilizados, em conjunto com uma identidade visual já pronta de seu cliente, tornam o seu trabalho um pouco mais fácil; agradar o seu cliente, uma tarefa mais agradável e menos penosa; pensar no usuário final é o grande lance para um layout matador.</p>
<p>Veja algumas informações sobre o <a title="Significado das Cores aqui!" href="http://www.andrebuzzo.com.br/o-significado-das-cores/">Significado das Cores</a></p>
<h1>Formas Geométricas</h1>
<p><img class="alignnone size-full wp-image-2001" title="Formas Geométricas André Buzzo Webdesign" src="http://www.andrebuzzo.com.br/wp-content/uploads/2012/08/geometria.jpg" alt="Formas Geométricas André Buzzo Webdesign" width="650" height="250" /></p>
<p>Assim como as cores, as formas geométricas também passam “emoções” à quem as observa.</p>
<p>Um círculo, ou elipse, por exemplo, pode dar a impressão de que algo é infinito. Assim como um quadrado, algo que seja conservador. Não saber o que as formas passam para quem as vê, às vezes complica um pouco o trabalho ou, na pior das hipóteses, afasta seu usuário daquilo que você tanto gostaria que ele apreciasse.</p>
<p>A boa utilização de espaços em branco, para dar “respiro” aos olhos do usuário, são primordiais, e um dos erros mais comumente encontrados em layouts. Você precisa aprender que aquele espaço que sobrou no seu layout, pode sim, ser interessante ficar em branco.</p>
<p>Controle sua vontade de preencher todo o layout com informações; sejam elas por meio de formas, cores, vetores ou desenhos. Espaço em branco é seu amigo. E não inimigo.</p>
<p>Algumas informações podem ser obtidas nos seguintes endereços:</p>
<p><a href="http://entreclics.blogspot.com.br/2010/03/o-significado-das-figuras-geometricas.html">http://entreclics.blogspot.com.br/2010/03/o-significado-das-figuras-geometricas.html</a><br />
<a href="http://entreclics.blogspot.com.br/2012/05/significado-de-formas-geometricas.html">http://entreclics.blogspot.com.br/2012/05/significado-de-formas-geometricas.html</a><br />
<a href="http://abrasil-designgrafico.blogspot.com.br/2010/02/significado-das-formas-geometricas.html">http://abrasil-designgrafico.blogspot.com.br/2010/02/significado-das-formas-geometricas.html</a></p>
<h1>Usabilidade</h1>
<p><img class="alignnone size-full wp-image-2004" title="Usabilidade - André Buzzo Webdesign" src="http://www.andrebuzzo.com.br/wp-content/uploads/2012/08/usabilidade.jpg" alt="Usabilidade - André Buzzo Webdesign" width="650" height="250" /></p>
<p>Esse é o ponto mais importante na hora de criar um projeto web. Não basta criarmos um layout pensado em cores, em formas, em apresentação, se não pensarmos em quem vai utilizá-lo. Nada é mais importante do que o usuário final. Não é a opinião do seu contratante que deve pesar mais na hora do desenvolvimento, muito menos seu gosto pessoal; na verdade, deve-se pensar em como seu usuário final vai interagir com seu produto. Aqui não é o visual que vai mandar mais. E sim, se ele conseguiu o não chegar onde queria!</p>
<p>Costumo dizer que tenho “bronca de publicitários”, pois eles sabem muito, mas muito bem, em como VENDER produtos/serviços/ideias. Mas quando se trata de site, o trabalho vai um pouco além do visual. Ele vai de encontro à maneira como uma pessoa vai navegar, e ainda, não existe navegação automática com os olhos. <strong>Não basta apenas olhar; o internauta precisa encontrar a informação que deseja.</strong> E para isso, a beleza não é fator primordial. Primordial é ser funcional.</p>
<p>Trabalhar em conjunto com um profissional de marketing é sempre excelente, mas saber opinar e dizer que “meu amigo, isso não deveria ser feito assim”, e ter argumentos para expor, e ele estar aberto a esse tipo de comentário, é algo praticamente utópico, mas não é impossível quando conversamos de profissional para profissional!</p>
<p>Respeito sim, os profissionais de marketing, mas os usuários seriam mais felizes se os mesmos apenas nos fornecessem a ideia visual e deixasse o trabalho do site para um profissional especializado em webdesign. Que isso fique bem claro. Trabalhos profissionais envolvendo profissionais.</p>
<h1>Acessibilidade</h1>
<p><img class="alignnone size-full wp-image-2005" title="Acessibilidade - André Buzzo Webdesign" src="http://www.andrebuzzo.com.br/wp-content/uploads/2012/08/acessibilidade.jpg" alt="Acessibilidade - André Buzzo Webdesign" width="650" height="250" /></p>
<p>No conjunto de uma obra, a acessibilidade é tão ou mais importante que a usabilidade em si.</p>
<p>Sua base prega que um site deve ser acessível por qualquer pessoa, com qualquer tipo de dificuldade, seja motora, seja visual ou auditiva, utilizando-se qualquer aparelho/dispositivo, se formos mais além. Essas pessoas não devem, em hipótese nenhuma, serem privadas de acessar um conteúdo pelo simples fato do “profissional” não ter pensado nelas antes de criar o layout.</p>
<p>Daí eu posso dizer que provém minha bronca com o Flash; ele é um modo de “segregar” usuários.</p>
<p>Precisamos pensar, na hora da criação de um layout, onde cada coisa será alocada e se aquela área escolhida é realmente a melhor no caso de um acesso por um leitor de tela. O botão “página inicial” está facilmente colocado em uma posição onde, independentemente do dispositivo utilizado para acessar o site, facilita o acesso de todos? Se eu uso o mouse, ou o “tab” do teclado, ou meu smartphone touchscreen eu consigo chegar onde quero? Seu javascript der um “pau” no navegador, eu consigo acessar as informações?</p>
<p>Nada melhor do que estar na pele da pessoa: baixe um leitor de tela, acesse seu site preferido, feche os olhos e tente navegar para ver se consegue. Ou se é tarefa fácil. E não pense você que pessoas com deficiências estão exclusas da internet. Você terá uma grande surpresa. E infelizmente, ela não será nem um pouco agradável.</p>
<p>Eu costumo dizer que nosso trabalho como webdesigners vai além da “página inicial” ou do layout matador que pretendemos oferecer ao nosso cliente. Precisamos pensar em como as pessoas vão utilizá-los, e para isso, não há ferramenta melhor do que um bom planejamento e uma boa base de conhecimento teórico para realizar a tarefa.</p>
<h1>Noções de Design</h1>
<p><img class="alignnone size-full wp-image-2002" title="Noções de Design  - André Buzzo Webdesign" src="http://www.andrebuzzo.com.br/wp-content/uploads/2012/08/nocoesDesign.jpg" alt="Noções de Design  - André Buzzo Webdesign" width="650" height="250" /></p>
<p>Existem diversas regras de design que se fazem necessárias na hora da criação de um layout. E elas não são poucas, e tampouco, devem ser deixadas de lado.</p>
<p>Regras como Proximidade, Alinhamento, dentre outras, são fundamentais para mostrar que você é profissional e sabe o que está fazendo. Então, não basta você ter um programa excelente de edição de imagens para criar seus projetos se você não sabe a mensagem que está passando ao seu usuário.</p>
<p>Combinação de fontes, seus tamanhos e estilos, fazem parte de um bom design. Saber que a fonte serifada é melhor do que uma sem serifa é fácil de aplicar em um projeto web. Podemos quebrar a regra e utilizar uma fonte com serifa em uma página web? Sim, mas temos que, antes de quebrar uma regra, conhecê-la a fundo!</p>
<p>O layout proposto ficou harmonioso com a fonte escolhida? Se sim, por quê? Se não, por quê também? O tamanho e grafia “conversam” com os outros elementos desse projeto? A cor escolhida, realmente, passa mensagem que deve ser transmitida?</p>
<p>E o espaço em branco, está sendo respeitado?</p>
<p>Coloque-se no lugar do usuário: você aguentaria navegar em um site que oferece um fundo verde-limão onde a fonte está com cor branca, para FACILITAR a leitura?</p>
<h1>CSS</h1>
<p><img class="alignnone size-full wp-image-1999" title="CSS - André Buzzo Webdesign" src="http://www.andrebuzzo.com.br/wp-content/uploads/2012/08/css.jpg" alt="CSS - André Buzzo Webdesign" width="650" height="250" /></p>
<p>Toda a estruturação “estética” de um site DEVE passar pelo CSS. Sem ele, seu site pode ficar muito pesado.</p>
<p>E ainda, se você não tem nenhum programa legal para editar imagens, saiba que, dentre as formas mais básicas, você poderia utilizar apenas o CSS para criar o design do seu site.</p>
<p>Existem suas limitações? Sim, é claro que existem. Assim como existem limitações também para os editores de imagens hoje disponíveis no mercado.</p>
<p>Porém, na era do CSS3, nós podemos utilizar degrades, podemos utilizar lineares, radiais, podemos criar formas geométricas, até gráficos conseguimos utilizando a programação. Precisamos apenas aprender e entender a lógica da programação para tirarmos 100% de proveito do que nos é oferecido.</p>
<p>Assim como eu, você pode não ser um exímio desenhista. No meu caso, sou péssimo mesmo. Não consigo usar um compasso para fazer um círculo perfeito. Você não sabe o que é um compasso? Veja nesse link: <a href="http://pt.wikipedia.org/wiki/Compasso_(geometria)">http://pt.wikipedia.org/wiki/Compasso_(geometria)</a></p>
<h1>Criatividade</h1>
<p><img class="alignnone size-full wp-image-1998" title="Esteja Criativo! - André Buzzo Webdesign" src="http://www.andrebuzzo.com.br/wp-content/uploads/2012/08/criativo.jpg" alt="Esteja Criativo! - André Buzzo Webdesign" width="650" height="250" /></p>
<p>Claro que é um quesito indispensável e sem mais comentários. Acho que ele já se define só por seu nome. A única dificuldade é que não podemos “cobrar” a criatividade de ninguém. Uns a possuem, outros não. Simples assim.</p>
<h1>Conclusão</h1>
<p>Dessa maneira, não importa qual ferramenta você deseja um “direcionamento”. Ela nada poderá fazer se você não souber, antecipadamente, como a utilizar.</p>
<p>Abrir um novo documento, saber onde está sua paleta de cores, como criar um “quadrado”, uma elipse, não significa nada. Você precisa saber qual mensagem deseja passar, utilizando-se das cores corretas, com as formas geométricas condizentes, bem dispostas no plano de trabalho, assessorando seu usuário a atingir seu objetivo, sem privá-lo da informação só porque você acha que ele é uma besta por insistir em usar o INTERNET EXPLORER é um desafio que muitos acham “simples” e que qualquer “profissional” (entenda-se “SOBRINHO!”) está apto a exercer.</p>
<p>E não é bem por aí. Nunca foi e nunca será. Reflita sobre isso. E durma com esse barulho, como diria meu amigo Edson Brunhara.</p>
<div class="crp_related"><h3>Assuntos relacionados:</h3><ul><li><a href="http://www.andrebuzzo.com.br/preocupado-com-tipografia-veja-esse-pequeno-guia-em-5-passos/"     class="crp_title">Preocupado com Tipografia? Veja esse pequeno guia em 5&hellip;</a></li><li><a href="http://www.andrebuzzo.com.br/a-importancia-de-um-briefing-%e2%80%93-parte-final/"     class="crp_title">A importância de um Briefing – parte final</a></li><li><a href="http://www.andrebuzzo.com.br/como-precificar-seu-trabalhos/"     class="crp_title">Como precificar seu trabalho?</a></li><li><a href="http://www.andrebuzzo.com.br/errar-faz-parte-aprender-tambem/"     class="crp_title">ERRAR FAZ PARTE! APRENDER TAMBÉM!</a></li><li><a href="http://www.andrebuzzo.com.br/o-webmaster-esta-morto/"     class="crp_title">O Webmaster está morto&#8230;</a></li></ul></div><p>Fonte: <a href="http://www.andrebuzzo.com.br">André Buzzo - Desenvolvimento HTML5 + CSS + jQuery</a>
Post original: <a href="http://www.andrebuzzo.com.br/ferramentas-para-a-criacao-de-layouts/">Ferramentas para a criação de layouts</a>
Conteúdo originalmente criado por <a rel="author" href="http://www.andrebuzzo.com.br/author/tuco/">André Buzzo</a></p><img src="http://feeds.feedburner.com/~r/andrebuzzo/~4/lHRrFS3SKus" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andrebuzzo.com.br/ferramentas-para-a-criacao-de-layouts/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		<feedburner:origLink>http://www.andrebuzzo.com.br/ferramentas-para-a-criacao-de-layouts/</feedburner:origLink></item>
	</channel>
</rss>
