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

<channel>
	<title>Como Criar Um Site, Blog ou Loja Virtual Gratis - WebMaster.pt &#187; PHP</title>
	<atom:link href="http://www.webmaster.pt/categoria/programacao/php/feed" rel="self" type="application/rss+xml" />
	<link>http://www.webmaster.pt</link>
	<description>Aprenda Como Criar Um Site, Blog ou Loja Virtual com WordPress e Joomla e Ganhar Dinheiro Online</description>
	<lastBuildDate>Mon, 23 Jan 2012 22:14:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Como Alterar As Meta Tags Para SEO Com PHP</title>
		<link>http://www.webmaster.pt/alterar-meta-tags-seo-php-12145.html</link>
		<comments>http://www.webmaster.pt/alterar-meta-tags-seo-php-12145.html#comments</comments>
		<pubDate>Mon, 17 Jan 2011 13:00:35 +0000</pubDate>
		<dc:creator>Quemuel Aquino</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">http://www.webmaster.pt/?p=12145</guid>
		<description><![CDATA[Saiba como alterar as meta tags com PHP e MySQL. Código incluído para download.<p><a href="http://www.webmaster.pt/alterar-meta-tags-seo-php-12145.html">Como Alterar As Meta Tags Para SEO Com PHP</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>

Related posts:<ol>
<li><a href='http://www.webmaster.pt/como-criar-sistema-o-s-orcamentos-parte1-9272.html' rel='bookmark' title='Como Criar Sistema De O.S. / Orçamentos Parte1'>Como Criar Sistema De O.S. / Orçamentos Parte1</a></li>
<li><a href='http://www.webmaster.pt/formatar-data-pesquisa-7948.html' rel='bookmark' title='Formatar Data Na Pesquisa'>Formatar Data Na Pesquisa</a></li>
<li><a href='http://www.webmaster.pt/como-criar-edicao-inline-jquery-9812.html' rel='bookmark' title='Como Criar Edição Inline Com jQuery'>Como Criar Edição Inline Com jQuery</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Hoje em dia se fala muito em resultados em buscadores, SEO, entre outros assuntos relacionados ao resultado das visitações. Se formos abordar esse assunto, veremos que ele é extremamente necessário para os resultados trabalhados no site. Para quem entende do assunto, é fácil falar e gerenciar tal conteúdo, já que você entende o código, mas&#8230; e quem não entende?</p>
<p>Hoje em dia encontramos vários sites com bugs porque o Programador ou o dono do site ao tentar alterar algo, deixou um bug ou informação incompleta! Outros, se cansam ao terem de entrar semanalmente ou mensalmente no código do site para alterar o conteúdo!</p>
<p>Vamos acabar com isso hoje?</p>
<p>Preparei para você um sisteminha onde você poderá gerenciar o conteúdo do &#8220;Head&#8221; do site. Abaixo daremos algumas explicações e em anexo disponibilizaremos um script personalizado com tais informações.</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2011/01/meta_tags.jpg" alt="meta tags" title="meta tags" width="300" height="242" class="aligncenter size-full wp-image-12362" /></p>
<h2>Configurando a Base de Dados</h2>
<p>Antes de tudo, é necessário configurar a base de dados. </p>
<p>Com o BD já criado, acesse o ficheiro &#8220;conexao.php&#8221; (disponível no diretório includes) e configure o ficheiro alterando as informações de acesso à base de dados (conforme script a seguir).</p>
<p><pre><code><br />
<br />
&lt;?php<br />
<br />
&lt;?<br />
<br />
$database = &quot;SERVIDOR&quot;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // SERVIDOR<br />
$dbname&nbsp;&nbsp; = &quot;DATABASE&quot;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// BASE DE DADOS<br />
$usuario&nbsp;&nbsp;= &quot;USUARIO&quot;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// USUARIO MYSQL<br />
$dbsenha&nbsp;&nbsp;= &quot;SENHA&quot;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // SENHA MYSQL<br />
<br />
$conexao=mysql_connect ($database, $usuario, $dbsenha);<br />
<br />
if($conexao){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (mysql_select_db($dbname, $conexao)){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print &quot;&quot;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print &quot;Não foi possível selecionar o Banco de Dados&quot;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print &quot;Erro ao conectar o MySQL&quot;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
?&gt;<br />
<br />
</code></pre></p>
<p>Após a configuração, vamos agora criar a tabela que será usada!</p>
<h2>Criando a Tabela na Base de Dados:</h2>
<p>Para configurar a base de dados através do script, abra o ficheiro script-sql.txt (disponível em anexo) e cole seu conteúdo no Programa utilizado para gerenciamento da base de dados.</p>
<p>Em nossas matérias utilizamos como padrão o MySQLFront. Caso tu também esteja utilizando este programa, clique em SQL Editor e cole o conteúdo do script (conforme disponibilizado a seguir).</p>
<p><pre><code><br />
<br />
----- INSTALANDO A TABELA -----<br />
<br />
CREATE TABLE `dados_empresa` (<br />
&nbsp;&nbsp;`id_empresa` int(11) NOT NULL auto_increment,<br />
&nbsp;&nbsp;`nome_empresa` varchar(255) NOT NULL default &#039;&#039;,<br />
&nbsp;&nbsp;`nome_fantasia` varchar(255) NOT NULL default &#039;&#039;,<br />
&nbsp;&nbsp;`cnpj` varchar(25) NOT NULL default &#039;&#039;,<br />
&nbsp;&nbsp;`insc_estadual` varchar(20) default NULL,<br />
&nbsp;&nbsp;`endereco` varchar(255) NOT NULL default &#039;&#039;,<br />
&nbsp;&nbsp;`numero` varchar(10) default NULL,<br />
&nbsp;&nbsp;`complemento` varchar(50) default NULL,<br />
&nbsp;&nbsp;`bairro` varchar(150) NOT NULL default &#039;&#039;,<br />
&nbsp;&nbsp;`cidade` varchar(150) NOT NULL default &#039;&#039;,<br />
&nbsp;&nbsp;`estado` varchar(150) NOT NULL default &#039;&#039;,<br />
&nbsp;&nbsp;`pais` varchar(150) NOT NULL default &#039;&#039;,<br />
&nbsp;&nbsp;`cep` varchar(15) default NULL,<br />
&nbsp;&nbsp;`ddd_fone` varchar(5) default NULL,<br />
&nbsp;&nbsp;`fone` varchar(15) default NULL,<br />
&nbsp;&nbsp;`ddd_fone2` varchar(5) default NULL,<br />
&nbsp;&nbsp;`fone2` varchar(15) default NULL,<br />
&nbsp;&nbsp;`ddd_fone3` varchar(5) default NULL,<br />
&nbsp;&nbsp;`fone3` varchar(15) default NULL,<br />
&nbsp;&nbsp;`url` varchar(255) default NULL,<br />
&nbsp;&nbsp;`email_comercial` varchar(150) default NULL,<br />
&nbsp;&nbsp;`email_financeiro` varchar(150) default NULL,<br />
&nbsp;&nbsp;`endereco_ymessenger` varchar(200) default NULL,<br />
&nbsp;&nbsp;`endereco_twitter` varchar(200) default NULL,<br />
&nbsp;&nbsp;`endereco_skype` varchar(200) default NULL,<br />
&nbsp;&nbsp;`endereco_facebook` varchar(200) default NULL,<br />
&nbsp;&nbsp;`endereco_orkut` varchar(200) default NULL,<br />
&nbsp;&nbsp;`endereco_msn` varchar(150) default NULL,<br />
&nbsp;&nbsp;`palavraschave` varchar(255) default NULL,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`id_empresa`)<br />
);<br />
<br />
INSERT INTO `dados_empresa` (`id_empresa`,`nome_empresa`,`nome_fantasia`,`cnpj`,`insc_estadual`,`endereco`,`numero`,`complemento`,`bairro`,`cidade`,`estado`,`pais`,`cep`,`ddd_fone`,`fone`,`ddd_fone2`,`fone2`,`ddd_fone3`,`fone3`,`url`,`email_comercial`,`email_financeiro`,`endereco_ymessenger`,`endereco_twitter`,`endereco_skype`,`endereco_facebook`,`endereco_orkut`,`endereco_msn`,`palavraschave`) VALUES (1,&#039;Free Busca&#039;,&#039;O Portal de Busca do Brasil&#039;,&#039;&#039;,&#039;&#039;,&#039;Rua Marcondes Salgado&#039;,&#039;88&#039;,&#039;&#039;,&#039;Bosque&#039;,&#039;Campinas&#039;,&#039;São Paulo&#039;,&#039;Brasil&#039;,&#039;13060-854&#039;,&#039;19&#039;,&#039;3387-5956&#039;,&#039;&#039;,&#039;&#039;,&#039;&#039;,&#039;&#039;,&#039;http://www.seusite.com.br&#039;,&#039;contato@direcionalweb.in&#039;,&#039;contato@direcionalweb.in&#039;,&#039;&#039;,&#039;&#039;,&#039;&#039;,&#039;&#039;,&#039;&#039;,&#039;&#039;,&#039;Loja Online, loja alcri, alcri, internet, janela, aluminio&#039;);<br />
<br />
CREATE TABLE `tbl_head` (<br />
&nbsp;&nbsp;`id_head` int(11) NOT NULL auto_increment,<br />
&nbsp;&nbsp;`titulo` varchar(255) default NULL,<br />
&nbsp;&nbsp;`description` varchar(255) default NULL,<br />
&nbsp;&nbsp;`author` varchar(100) default NULL,<br />
&nbsp;&nbsp;`categories` varchar(100) default NULL,<br />
&nbsp;&nbsp;`content_language` varchar(20) default NULL,<br />
&nbsp;&nbsp;`content_type` varchar(50) default NULL,<br />
&nbsp;&nbsp;`generator` varchar(100) default NULL,<br />
&nbsp;&nbsp;`geo_region` varchar(100) default NULL,<br />
&nbsp;&nbsp;`googlebot` varchar(100) default NULL,<br />
&nbsp;&nbsp;`keywords` varchar(255) default NULL,<br />
&nbsp;&nbsp;`language` varchar(20) default NULL,<br />
&nbsp;&nbsp;`ratting` varchar(20) default NULL,<br />
&nbsp;&nbsp;`revisit_after` varchar(20) default NULL,<br />
&nbsp;&nbsp;`robots` varchar(20) default NULL,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`id_head`)<br />
);<br />
<br />
INSERT INTO `tbl_head` (`id_head`,`titulo`,`description`,`author`,`categories`,`content_language`,`content_type`,`generator`,`geo_region`,`googlebot`,`keywords`,`language`,`ratting`,`revisit_after`,`robots`) VALUES (1,&#039;Header Personalizada - WebMaster.PT&#039;,&#039;Descrição da matéria header personalizada do webmaster.pt&#039;,&#039;Quemuel Aquino&#039;,&#039;Lorem ipsum dolor&#039;,&#039;pt-BR&#039;,&#039;Lorem ipsum dolor&#039;,&#039;Dreamweaver&#039;,&#039;Lorem ipsum&#039;,&#039;Lorem ipsum dolor&#039;,&#039;palavra 01, palavra 02, palavra 03, etc.&#039;,&#039;pt-BR&#039;,&#039;Lorem ipsum dolor&#039;,&#039;Lorem ipsum dolor&#039;,&#039;Lorem ipsum dolor&#039;);<br />
<br />
CREATE TABLE `tbl_usuarios` (<br />
&nbsp;&nbsp;`id_usuario` int(11) NOT NULL auto_increment,<br />
&nbsp;&nbsp;`nome` varchar(255) default NULL,<br />
&nbsp;&nbsp;`senha` varchar(25) default NULL,<br />
&nbsp;&nbsp;`email` varchar(80) default NULL,<br />
&nbsp;&nbsp;`email2` varchar(80) default NULL,<br />
&nbsp;&nbsp;`endereco` varchar(255) default NULL,<br />
&nbsp;&nbsp;`numero` varchar(10) default NULL,<br />
&nbsp;&nbsp;`complemento` varchar(80) default NULL,<br />
&nbsp;&nbsp;`bairro` varchar(80) default NULL,<br />
&nbsp;&nbsp;`cidade` varchar(150) default NULL,<br />
&nbsp;&nbsp;`estado` varchar(150) default NULL,<br />
&nbsp;&nbsp;`pais` varchar(255) default NULL,<br />
&nbsp;&nbsp;`cep` varchar(15) default NULL,<br />
&nbsp;&nbsp;`ddd` varchar(5) default NULL,<br />
&nbsp;&nbsp;`fone` varchar(10) default NULL,<br />
&nbsp;&nbsp;`ddd2` varchar(5) default NULL,<br />
&nbsp;&nbsp;`fone2` varchar(10) default NULL,<br />
&nbsp;&nbsp;`dddcel` varchar(5) default NULL,<br />
&nbsp;&nbsp;`fonecel` varchar(10) default NULL,<br />
&nbsp;&nbsp;`data_nascimento` varchar(15) default NULL,<br />
&nbsp;&nbsp;`sexo` varchar(15) default NULL,<br />
&nbsp;&nbsp;`data_cadastro` varchar(10) default NULL,<br />
&nbsp;&nbsp;`tipo` char(2) default NULL,<br />
&nbsp;&nbsp;`status` char(1) default NULL,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`id_usuario`)<br />
);<br />
<br />
INSERT INTO `tbl_usuarios` (`id_usuario`,`nome`,`senha`,`email`,`email2`,`endereco`,`numero`,`complemento`,`bairro`,`cidade`,`estado`,`pais`,`cep`,`ddd`,`fone`,`ddd2`,`fone2`,`dddcel`,`fonecel`,`data_nascimento`,`sexo`,`data_cadastro`,`tipo`,`status`) VALUES (3,&#039;Administrador&#039;,&#039;123456&#039;,&#039;comandosusa@gmail.com&#039;,&#039;teste@ymail.com&#039;,&#039;Rua Silvio Rizzardo&#039;,&#039;253&#039;,&#039;222&#039;,&#039;Jd. Campos Elíseos&#039;,&#039;Campinas&#039;,&#039;São Paulo&#039;,&#039;Brasil&#039;,&#039;13060854&#039;,&#039;19&#039;,&#039;3233-3917&#039;,&#039;22&#039;,&#039;1121-1121&#039;,&#039;&#039;,&#039;&#039;,&#039;2010-12-12&#039;,&#039;0&#039;,NULL,&#039;1&#039;,&#039;1&#039;);<br />
<br />
</code></pre></p>
<p>Após importar os dados, você já poderá fazer uso do sistema abaixo.</p>
<h2>Exmplorando a Área Gerencial:</h2>
<p>A área gerencial é bem prática e fácil de ser utilizada.</p>
<p>Para ter acesso a ela, basta acessar o diretório ADMIN.</p>
<p>OBS.: </p>
<p>Os dados de acesso são:</p>
<p>Login: comandosusa@gmail.com &#8211; Senha: 123456</p>
<p>A princípio, a área gerencial terá apenas 3 telas, que serão:</p>
<ul>
<li>Dados da empresa (onde você poderá alterar as informações de sua empresa);</li>
<li>Dados Pessoais (onde você poderá alterar suas informações de acesso e de contato);</li>
<li>Head (onde você poderá alterar as informações da Head &#8211; que focamos nesta matéria).</li>
</ul>
<p><img class="aligncenter size-full wp-image-12146" src="http://www.webmaster.pt/wp-content/uploads/2010/12/imagem01.jpg" alt="" width="600" height="470" /></p>
<p>Como nosso foco hoje é a Header, estaremos acessando diretamente esta área.</p>
<p>Bem&#8230; nós focamos em trazer os principais campos disponíveis em uma HEAD, de forma que os Internautas possam alterar suas próprias informações!</p>
<p>Através desta área eles poderão alterar a descrição do site, palavras chave e informações mais exatas, de forma que suas visitações venham aumentar (conforme imagem a seguir).</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/12/imagem02.jpg" alt="" width="600" height="410" class="aligncenter size-full wp-image-12147" /></p>
<p>Após efetuar as alterações devidas, aparecerá em tela (na página index.php do sistema) o código já alterado (conforme script a seguir).</p>
<p>Bem&#8230; vamos dar uma olhada no script e ver como podemos trabalhar com ele?</p>
<p><pre><code> <br />
<br />
&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;title&gt;Header Personalizada - WebMaster.PT&lt;/title&gt;<br />
&lt;meta name=&quot;description&quot; content=&quot;Descrição da matéria header personalizada do webmaster.pt&quot;&gt;<br />
&lt;meta name=&quot;author&quot; content=&quot;Quemuel Aquino&quot;&gt;<br />
&lt;meta name=&quot;categories&quot; content=&quot;Lorem ipsum dolor&quot;&gt;<br />
&lt;meta http-equiv=&quot;Content-Language&quot; content=&quot;pt-BR&quot;&gt;<br />
<br />
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;Lorem ipsum dolor&quot;&gt;<br />
&lt;meta name=&quot;generator&quot; content=&quot;Dreamweaver&quot;&gt;<br />
<br />
&lt;meta name=&quot;geo.region&quot; content=&quot;Lorem ipsum&quot;&gt;<br />
&lt;meta name=&quot;googlebot&quot; content=&quot;Lorem ipsum dolor&quot;&gt;<br />
&lt;meta name=&quot;keywords&quot; content=&quot;palavra 01, palavra 02, palavra 03, etc.&quot;&gt;<br />
&lt;meta name=&quot;language&quot; content=&quot;pt-BR&quot;&gt;<br />
<br />
&lt;meta name=&quot;ratting&quot; content=&quot;Lorem ipsum dolor&quot; /&gt;<br />
&lt;meta name=&quot;revisit-after&quot; content=&quot;Lorem ipsum dolor&quot;&gt;<br />
&lt;meta name=&quot;robots&quot; content=&quot;Lorem ipsum dolor&quot;&gt;<br />
<br />
&lt;link href=&quot;scripts/css/estilo.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; media=&quot;all&quot; /&gt;<br />
<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
<br />
INFORMAÇÕES DO SITE APARECERÃO AQUI<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
<br />
</code></pre></p>
<p>Bem&#8230; na verdade, o que fará alteração será tudo que for relacionado a META. Acima inserimos um arquivo css (fictício).</p>
<p>E aí, o que achou? prático, não?</p>
<p>Faça o download do conteúdo em anexo e aproveite esse sistema!</p>
<p>Agora é só implementar a seu site.</p>
<p><strong>Download do código usado neste tutorial ></strong> <a href='http://www.webmaster.pt/wp-content/uploads/2010/12/ficheiros3.zip'>Como Alterar As Meta Tags Para SEO Com PHP</a>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.webmaster.pt%2Falterar-meta-tags-seo-php-12145.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.webmaster.pt%2Falterar-meta-tags-seo-php-12145.html&amp;source=marketocracia&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.webmaster.pt/alterar-meta-tags-seo-php-12145.html">Como Alterar As Meta Tags Para SEO Com PHP</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>
<p>Related posts:<ol>
<li><a href='http://www.webmaster.pt/como-criar-sistema-o-s-orcamentos-parte1-9272.html' rel='bookmark' title='Como Criar Sistema De O.S. / Orçamentos Parte1'>Como Criar Sistema De O.S. / Orçamentos Parte1</a></li>
<li><a href='http://www.webmaster.pt/formatar-data-pesquisa-7948.html' rel='bookmark' title='Formatar Data Na Pesquisa'>Formatar Data Na Pesquisa</a></li>
<li><a href='http://www.webmaster.pt/como-criar-edicao-inline-jquery-9812.html' rel='bookmark' title='Como Criar Edição Inline Com jQuery'>Como Criar Edição Inline Com jQuery</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.webmaster.pt/alterar-meta-tags-seo-php-12145.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Exemplos Práticos De PHP</title>
		<link>http://www.webmaster.pt/exemplos-praticos-php-11892.html</link>
		<comments>http://www.webmaster.pt/exemplos-praticos-php-11892.html#comments</comments>
		<pubDate>Mon, 03 Jan 2011 11:04:55 +0000</pubDate>
		<dc:creator>Quemuel Aquino</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">http://www.webmaster.pt/?p=11892</guid>
		<description><![CDATA[Como verificar se um número é par ou ímpar. Usar o IF. Usar o While. <p><a href="http://www.webmaster.pt/exemplos-praticos-php-11892.html">Exemplos Práticos De PHP</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>

Related posts:<ol>
<li><a href='http://www.webmaster.pt/exemplos-praticos-mysql-3864.html' rel='bookmark' title='Exemplos Práticos De MySQL'>Exemplos Práticos De MySQL</a></li>
<li><a href='http://www.webmaster.pt/paginacao-avancada-com-php-6086.html' rel='bookmark' title='Paginação Avançada Com PHP'>Paginação Avançada Com PHP</a></li>
<li><a href='http://www.webmaster.pt/mysql-otimizacao-indices-5148.html' rel='bookmark' title='MySQL &#8211; Otimização Criando Índices'>MySQL &#8211; Otimização Criando Índices</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>De vez em quando passamos por algumas situações onde nossa função de programador é provada.</p>
<p>Um programador iniciante geralmente sofre quando não encontra na Internet funções e/ou conteúdo que venha lhe ajudar!</p>
<p>Geralmente nós focamos em sistemas de médio e grande porte (ex.: gerenciador de conteúdo, imagens e até mesmo gerenciador de vídeos do youtube).</p>
<p>Hoje nosso foco será algo básico, porém, darei alguns exemplos que podem ser usados no dia a dia em suas aplicações.</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2011/01/php.jpeg" alt="php" title="php" width="278" height="181" class="aligncenter size-full wp-image-12214" /></p>
<h2>Verificando Números Ímpares E Pares</h2>
<p>Uma das necessidades do Programador é verificar se um número é par ou impar.</p>
<p>Não digo que este conteúdo solucionará seu problema, mas poderá lhe dar condições de parar um evento em um determinado número (seja ele par ou impar).</p>
<p>Exemplo:</p>
<p><pre><code><br />
&lt;?<br />
//Número que será checado<br />
$numero = 41;<br />
<br />
//Realizando a verificação<br />
$resultado1 = ($numero % 2) ? &#039;é um número impar&#039; : &#039;é um número par&#039;;<br />
<br />
//Exibindo o resultado da verificação<br />
echo &quot;$numero $resultado1&quot;;<br />
?&gt;<br />
</code></pre></p>
<p>OBS.: Veja que aparecerá em tela a frase a seguir: &#8220;41 é um número impar&#8221;.</p>
<p>É um evento simples, mas&#8230; em alguns casos deverá lhe ajudar.</p>
<h2>Usando o IF</h2>
<p>Uma outra possibilidade que você tem é fazendo uso do IF em suas condições.</p>
<p>Diferente do exemplo anterior, ele é lógico. Isto é: Se o número for menor ou igual ao número descrito na condição, ele roda, ou então, executa outra coisa (conforme exemplo a seguir).</p>
<p><pre><code><br />
<br />
&lt;?<br />
<br />
$limite = 10;<br />
<br />
if ($limite &lt;= 1){ // aqui vai o código que roda caso o limite não tenha sido ultrapasado.<br />
<br />
echo &quot;$limite é um número menor ou igual a 1&quot;;<br />
<br />
}else{ //aqui vai a mensagem dizendo para o usuário que ele excedeu o limite.<br />
<br />
echo &quot;$limite é um número maior que 1&quot;;<br />
<br />
} <br />
<br />
?&gt;<br />
<br />
</code></pre></p>
<p>OBS.: </p>
<p>Veja que no exemplo acima o script verifica se o número é menor ou igual a 1.</p>
<p>Se ele for menor ou igual a 1, você receberá uma mensagem. Se ele for maior que 1, você receberá outra mensagem.</p>
<p>Tu ainda tem a opção de usar o &#8220;elseif&#8221;, mas só aconselhamos usar este comando caso haja necessidade.</p>
<p>Vamos para um eemplo mais prático?</p>
<h2>Usando o While</h2>
<p>Diferente dos exemplos anteriores, o while é muito usado, para efetuar loop. Isto é: Enquanto não chegar em um número determinado, ele vai continuar sendo executado.</p>
<p>Vamos para um exemplo prático?</p>
<p>No exemplo a seguir, estaremos fazendo comparações (a partir do número 1) até chegar ao número 5 (conforme código a seguir). </p>
<p><pre><code><br />
<br />
&lt;?<br />
<br />
$numero = 1;<br />
<br />
while($numero &lt;= 5){<br />
<br />
echo &quot;O número $numero é menor ou igual a 5&lt;br&gt;&quot;;<br />
<br />
$numero++; // Se o número não for o que estamos procurando, ele será incrementado.<br />
<br />
}<br />
<br />
?&gt;<br />
<br />
</code></pre></p>
<p>Veja que diferente dos demais, ele deverá imprimir algo siminar a isso em tela:</p>
<p><pre><code><br />
<br />
O número 1 é menor ou igual a 5<br />
O número 2 é menor ou igual a 5<br />
O número 3 é menor ou igual a 5<br />
O número 4 é menor ou igual a 5<br />
O número 5 é menor ou igual a 5<br />
<br />
</code></pre></p>
<p>Agora vamos verificar nosso último exemplo?</p>
<h2>Usando o do &#8230; while</h2>
<p>O exemplo a seguir, é pouco usado, mas também tem uma função similar ao do while.</p>
<p>Exemplo:</p>
<p><pre><code><br />
<br />
&lt;?<br />
<br />
$numero = 1;<br />
do{<br />
&nbsp;&nbsp;$numero++;<br />
&nbsp;&nbsp;echo &quot;O número $numero&lt;br&gt;&quot;;<br />
&nbsp;&nbsp;}<br />
while ($numero &lt;= 5);<br />
<br />
?&gt;<br />
<br />
</code></pre></p>
<p>Veja que ao final do script nosso foco ainda é comparar se o número é menor ou igual a 5.</p>
<p>Vamos ver  em tela como ele fica?</p>
<p><pre><code><br />
<br />
O número 2<br />
O número 3<br />
O número 4<br />
O número 5<br />
O número 6<br />
<br />
</code></pre></p>
<p>Ele fez a impressão até o número 6.</p>
<p>Esse tipo de evento pode ser usado quando você quer saber o próximo número.</p>
<p>Bem&#8230; sei que podemos muito bem resumir tudo ao &#8220;while&#8221;, mas é legal darmos idéias a quem está começando sobre como trabalhar com outros comandos.</p>
<p>Pegue os códigos em anexo e faça a adaptação ao que você precisa!</p>
<p>Espero que o conteúdo desta matéria venha lhe ajudar.</p>
<p>Download do código usado neste tutorial > <a href='http://www.webmaster.pt/wp-content/uploads/2010/12/ficheiros.zip'>Exemplos Práticos De PHP</a>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.webmaster.pt%2Fexemplos-praticos-php-11892.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.webmaster.pt%2Fexemplos-praticos-php-11892.html&amp;source=marketocracia&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.webmaster.pt/exemplos-praticos-php-11892.html">Exemplos Práticos De PHP</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>
<p>Related posts:<ol>
<li><a href='http://www.webmaster.pt/exemplos-praticos-mysql-3864.html' rel='bookmark' title='Exemplos Práticos De MySQL'>Exemplos Práticos De MySQL</a></li>
<li><a href='http://www.webmaster.pt/paginacao-avancada-com-php-6086.html' rel='bookmark' title='Paginação Avançada Com PHP'>Paginação Avançada Com PHP</a></li>
<li><a href='http://www.webmaster.pt/mysql-otimizacao-indices-5148.html' rel='bookmark' title='MySQL &#8211; Otimização Criando Índices'>MySQL &#8211; Otimização Criando Índices</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.webmaster.pt/exemplos-praticos-php-11892.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nota Fiscal Eletrônica Em PHP</title>
		<link>http://www.webmaster.pt/nota-fiscal-eletronica-php-12167.html</link>
		<comments>http://www.webmaster.pt/nota-fiscal-eletronica-php-12167.html#comments</comments>
		<pubDate>Thu, 30 Dec 2010 09:52:22 +0000</pubDate>
		<dc:creator>Quemuel Aquino</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">http://www.webmaster.pt/?p=12167</guid>
		<description><![CDATA[Aprenda a gerar a Nota Fiscal Eletrônica em PHP (Brasil).<p><a href="http://www.webmaster.pt/nota-fiscal-eletronica-php-12167.html">Nota Fiscal Eletrônica Em PHP</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>

Related posts:<ol>
<li><a href='http://www.webmaster.pt/mysql-integridade-referencial-3598.html' rel='bookmark' title='MySQL &#8211; Integridade Referencial'>MySQL &#8211; Integridade Referencial</a></li>
<li><a href='http://www.webmaster.pt/envio-email-smtp-phpmailer-9722.html' rel='bookmark' title='Envio De Email Através De SMTP Com PHPMailer'>Envio De Email Através De SMTP Com PHPMailer</a></li>
<li><a href='http://www.webmaster.pt/diferencas-php4-php5-10786.html' rel='bookmark' title='Algumas Diferenças Entre O PHP 4.x E O PHP 5.x'>Algumas Diferenças Entre O PHP 4.x E O PHP 5.x</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>No Brasil (acredito que também em outros Países do Exterior) uma das formas das empresas terem credibilidade no Mercado e também dar uma segurança maior a seus clientes é disponibilizando a Nota Fiscal.</p>
<p>Antigamente era uma burocracia enorme. Muito papel, perda de documentos, dificuldades e por fim empresários (ou contadores) chateados por terem tanto trabalho.</p>
<p>Hoje o Governo Brasileiro já disponibiliza às empresas a Nota Fiscal Eletrônica.</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/12/nota-fiscal-eletronica-e1293702657342.jpg" alt="nota fiscal eletronica" title="nota fiscal eletronica" width="600" height="531" class="aligncenter size-full wp-image-12196" /></p>
<p>Eu tenho o previlégio de usá-la para gerar notas fiscais a meus clientes e posso dizer que o procedimento de uso é muito simples.</p>
<p>Claro, existem vários Programas na Internet que facilitam o uso de diversas empresas (outros só atrapalham), se você não quer viver preso a soluções desktop (feitos em Delphi, Java ou outra linguagem), hoje já estamos trabalhando em cima de uma solução exclusiva em PHP.</p>
<h2>O Que É O NFe Em PHP</H2></p>
<p>O NFe (Nota Fiscal Eletrônica) é um Projeto prático que está sendo elaborado por equipes (e melhorado) por várias equipes de Programação, no intuito de facilitar o uso das empresas na hora de gerar as Notas Fiscais.</p>
<p>Como eu falei acima, existem várias empresas e programadores usufruindo da necessidade atual e ganhando muito dinheiro com isso, já que até o momento são poucos que tem conhecimento em implantar tais soluções.</p>
<p>Já que nem sempre as soluções implantadas em sistemas são seguras, hoje existem equipes focando em criar Projetos de código Livre e sem erros, de forma que todos possam usar seu conteúdo.</p>
<p>O Grupo NFePHP (Google Groups) e a Assembla vem investindo forte neste sentido, de forma que programadores experientes e iniciantes possam adquirir o mesmo conhecimento e cooperar com a elaboração desta solução.</p>
<h2>Cuidados Que Estão Sendo Tomados</h2>
<p>Assim como todo sistema desenvolvido tanto para a web e desktop, ao elaborar uma aplicação o desenvolvedor precisa saber se o mesmo terá os problemas a seguir:</p>
<ul>
<li>Lentidão no Emissor (ele pode se tornar muito lento a partir das 1000 notas emitidas, pois ele guarda e apresenta todas as notas, assinaturas, XML’s de retorno e Danfes).</li>
<li>Demora no Retorno da NFe pela Sefaz.</li>
<li>Dificuldade no Processo de importação do XML para o Emissor.</li>
<li>Dificuldade no Processo de Exportação da DANFE (PDF) para o ERP.</li>
</ul>
<p>Com base em dificuldades anteriores, dia após dia estão sendo criadas soluções que venham evitar tais problemas.</p>
<h2>Como Funciona O NFe</h2>
<p>Na versão atual o NFe já realiza algumas das principais tarefas, tais como:</p>
<ul>
<li>Geração da Nota Fiscal em XML;</li>
<li>Assinatura da nota utilizando certificado digital e-CNPJ e e-NFe A1 (em PHP nativo);</li>
<li>Envio e validação das notas em lotes por web services;</li>
<li>Geração da DANFE.</li>
</ul>
<p>E aí, gostou? Quer participar ou saber mais sobre a Nota Fiscal Eletrônica em PHP?</p>
<p>Então visite:</p>
<ul>
<li><a href="http://www.nfephp.org/" target="_blank">http://www.nfephp.org/</a></li>
<li><a href="http://www.assembla.com/wiki/show/nfephp" target="_blank">http://www.assembla.com/wiki/show/nfephp</a></li>
<li><a href="http://groups.google.com/group/nfephp" target="_blank">http://groups.google.com/group/nfephp</a></li>
</ul>
<p>Espero que você acompanhe esta ótima solução que só tem a melhorar dia após dia.
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.webmaster.pt%2Fnota-fiscal-eletronica-php-12167.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.webmaster.pt%2Fnota-fiscal-eletronica-php-12167.html&amp;source=marketocracia&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.webmaster.pt/nota-fiscal-eletronica-php-12167.html">Nota Fiscal Eletrônica Em PHP</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>
<p>Related posts:<ol>
<li><a href='http://www.webmaster.pt/mysql-integridade-referencial-3598.html' rel='bookmark' title='MySQL &#8211; Integridade Referencial'>MySQL &#8211; Integridade Referencial</a></li>
<li><a href='http://www.webmaster.pt/envio-email-smtp-phpmailer-9722.html' rel='bookmark' title='Envio De Email Através De SMTP Com PHPMailer'>Envio De Email Através De SMTP Com PHPMailer</a></li>
<li><a href='http://www.webmaster.pt/diferencas-php4-php5-10786.html' rel='bookmark' title='Algumas Diferenças Entre O PHP 4.x E O PHP 5.x'>Algumas Diferenças Entre O PHP 4.x E O PHP 5.x</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.webmaster.pt/nota-fiscal-eletronica-php-12167.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Sorte Do Dia Em PHP</title>
		<link>http://www.webmaster.pt/sorte-do-dia-php-11960.html</link>
		<comments>http://www.webmaster.pt/sorte-do-dia-php-11960.html#comments</comments>
		<pubDate>Mon, 20 Dec 2010 10:35:48 +0000</pubDate>
		<dc:creator>Quemuel Aquino</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">http://www.webmaster.pt/?p=11960</guid>
		<description><![CDATA[Como publicar uma mensagem aleatória ou randomicamente no site, com uma citação famosa ou qualquer outra mensagem curta,<p><a href="http://www.webmaster.pt/sorte-do-dia-php-11960.html">Sorte Do Dia Em PHP</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>

Related posts:<ol>
<li><a href='http://www.webmaster.pt/como-usar-leitor-personalizado-youtube-11686.html' rel='bookmark' title='Como Usar O Leitor Personalizado Do Youtube No Seu Site'>Como Usar O Leitor Personalizado Do Youtube No Seu Site</a></li>
<li><a href='http://www.webmaster.pt/como-validar-formulario-8269.html' rel='bookmark' title='Como Validar Formulário'>Como Validar Formulário</a></li>
<li><a href='http://www.webmaster.pt/sistema-noticias-php-mysql-parte3-5249.html' rel='bookmark' title='Sistema De Notícias Em PHP E MySQL Parte3'>Sistema De Notícias Em PHP E MySQL Parte3</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Uma das coisas que gosto de receber no dia a dia são mensagens carinho de amigos ou parentes me desejando um bom dia de trabalho, entre outras coisas.</p>
<p>É interessante e você encontra esse tipo de sistema em vários lugares. Sejam eles no Orkut, Facebook, Twitter, entre outros.</p>
<p>Quando pensa em desenvolver algo deste gênero, geralmente imagina um código simples, que conta com arrays e imprime algo randomicamente, correto?</p>
<p>Em parte é até bom imaginar isso, mas&#8230; você já tentou desenvolver um sisteminha como esse?</p>
<p>Na matéria de hoje elaborei algo prático onde você pode postar mensagens diárias e imprimir em tela.</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/12/sorte.jpg" alt="sorte do dia" title="sorte do dia" width="425" height="282" class="aligncenter size-full wp-image-12131" /></p>
<h2>Configurando a Base de Dados</h2>
<p>Antes de tudo, é necessário configurar a base de dados. </p>
<p>Com o BD já criado, acesse o ficheiro &#8220;conexao.php&#8221; e configure o ficheiro alterando as informações de acesso à base de dados (conforme script a seguir).</p>
<p><pre><code><br />
<br />
&lt;?php<br />
<br />
&lt;?<br />
<br />
$host&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= &quot;SERVIDOR&quot;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // SERVIDOR<br />
$database&nbsp;&nbsp;= &quot;DATABASE&quot;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// BASE DE DADOS<br />
$login_db&nbsp;&nbsp;= &quot;USUARIO&quot;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// USUARIO MYSQL<br />
$senha_db&nbsp;&nbsp;= &quot;SENHA&quot;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // SENHA MYSQL<br />
<br />
$conn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= mysql_connect($host, $login_db, $senha_db);<br />
<br />
mysql_select_db($database, $conn);<br />
<br />
?&gt;<br />
<br />
</code></pre></p>
<p>Após a configuração, vamos agora criar a tabela que será usada!</p>
<h2>Criando a Tabela na Base de Dados:</h2>
<p>Para configurar a base de dados através do script, abra o ficheiro script-sql.txt (disponível em anexo) e cole seu conteúdo no Programa utilizado para gerenciamento da base de dados.</p>
<p>Em nossas matérias utilizamos como padrão o MySQLFront. Caso tu também esteja utilizando este programa, clique em SQL Editor e cole o conteúdo do script (conforme disponibilizado a seguir).</p>
<p><pre><code><br />
<br />
----- INSTALANDO A TABELA -----<br />
<br />
CREATE TABLE `tbl_frases` (<br />
&nbsp;&nbsp;`id_frase` int(11) NOT NULL auto_increment,<br />
&nbsp;&nbsp;`frase` varchar(255) default NULL,<br />
&nbsp;&nbsp;`data_publicacao` varchar(11) default NULL,<br />
&nbsp;&nbsp;`status` int(11) default NULL,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`id_frase`)<br />
);<br />
<br />
INSERT INTO `tbl_frases` (`id_frase`,`frase`,`data_publicacao`,`status`) VALUES (11,&#039;Ame quem te ama e você será feliz.&#039;,&#039;2010-12-06&#039;,1);<br />
INSERT INTO `tbl_frases` (`id_frase`,`frase`,`data_publicacao`,`status`) VALUES (14,&#039;O amor é eterno quando você está disposto a se dar.&#039;,&#039;2010-12-07&#039;,1);<br />
<br />
</code></pre></p>
<p>OBS.: Veja que no campo data_publicacao estou trabalhando com &#8220;varchar&#8221;. Isso é opcional meu, mas se você quiser, poderá trabalhar com o &#8220;date&#8221;.</p>
<p>Após importar os dados, você já poderá fazer uso do sistema abaixo.</p>
<h2>Exmplorando o Sistema &#8211; Página Inicial:</h2>
<p>Bem&#8230; vamos dar uma olhada no script e ver como podemos trabalhar com ele?</p>
<p>No script a seguir (página index.php) disponibilizei o conteúdo de forma prática, de forma que você possa efetuar a busca por data (conforme script a seguir).</p>
<p><pre><code><br />
<br />
&lt;? include(&#039;conexao.php&#039;); ?&gt;<br />
<br />
&lt;br&gt;&lt;center&gt;&lt;h2&gt;WebMaster.PT&lt;/h2&gt; &lt;p&gt;&lt;br&gt;&nbsp;&nbsp;Sorte do dia em PHP&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/center&gt; &lt;br&gt;&lt;br&gt;<br />
&lt;a href=&#039;frases_cadastrar.php&#039;&gt;Cadastrar Frase&lt;/a&gt; - &lt;a href=&#039;frases_listar.php&#039;&gt;Listar Frases&lt;/a&gt;&lt;br&gt;&lt;br&gt;<br />
<br />
&lt;?php<br />
<br />
$query_frase = &quot;SELECT * FROM tbl_frases WHERE data_publicacao = &#039;&quot;. date(&#039;Y-m-d&#039;) .&quot;&#039; and status = &#039;1&#039; order by rand()&quot;;<br />
$rs_frase&nbsp;&nbsp;&nbsp;&nbsp;= mysql_query($query_frase);<br />
<br />
$total_frases = mysql_num_rows($rs_frase);<br />
<br />
$campo_frase = mysql_fetch_array($rs_frase);<br />
<br />
if($total_frases &gt;= 1){<br />
<br />
echo &quot;&lt;b&gt;Frase do dia: &lt;/b&gt; &quot;. $campo_frase[&#039;frase&#039;];<br />
<br />
}else{<br />
<br />
echo &quot;Não existe frase cadastrada no dia de hoje.&quot;;<br />
<br />
}<br />
<br />
?&gt;<br />
<br />
</code></pre></p>
<p>As frases entrarão em formato randomico, isso é: Você poderá cadastrar quantas mensagens quiser para uma data específica.</p>
<p>Caso não haja nenhuma frase cadastrada para esta data, o sistema informará que não há nenhuma data para aquele dia.</p>
<h2>Exmplorando o Sistema &#8211; Página de Cadastro:</h2>
<p>A página de cadastro não tem mistério. Você terá apenas de digitar a frase do dia e a data que você quer que seja publicado o conteúdo.</p>
<p>Após isso, basta apenas clicar no botão &#8220;Enviar&#8221; (conforme script a seguir).</p>
<p><pre><code><br />
<br />
&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;title&gt;WebMaster.PT - Trabalhando com galeria de vídeos&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;&lt;center&gt;&lt;br&gt;&lt;h2&gt;WebMaster.PT&lt;/h2&gt;&lt;br&gt;Sorte do dia em PHP&lt;br&gt;&lt;Br&gt;&lt;/center&gt;<br />
&lt;div align=&quot;center&quot;&gt;<br />
&nbsp;&nbsp;&lt;form action=&quot;script_frases.php?acao=cadastrar&quot; method=&quot;post&quot; enctype=&quot;multipart/form-data&quot; name=&quot;form1&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;table width=&quot;500&quot; border=&quot;0&quot; cellspacing=&quot;5&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td width=&quot;56&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div align=&quot;left&quot;&gt;&lt;strong&gt;Frase:&lt;/strong&gt;&lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td width=&quot;128&quot;&gt;&lt;div align=&quot;left&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;label&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input name=&quot;frase&quot; type=&quot;text&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/label&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&lt;strong&gt;Data de Publica&amp;ccedil;&amp;atilde;o:&lt;/strong&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&lt;div align=&quot;left&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;label&gt;&lt;/label&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input name=&quot;data_publicacao&quot; type=&quot;text&quot; id=&quot;arquivo&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td colspan=&quot;2&quot;&gt;&lt;div align=&quot;center&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type=&quot;submit&quot; name=&quot;Submit&quot; value=&quot;Enviar&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/table&gt;<br />
&nbsp;&nbsp;&lt;/form&gt;<br />
&lt;/div&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
<br />
</code></pre> </p>
<p>Bem&#8230; não estaremos publicando neste as páginas de alterar ou a de listar, mas estaremos focando no script de tratamento.</p>
<h2>Explorando o Sistema &#8211; Script de Tratamento:</h2>
<p>No script abaixo, nós focamos em incluir os comandos de inserção, alteração e exclusão em um só local (justamente para facilitar futuros ajustes).</p>
<p><pre><code><br />
<br />
&lt;?<br />
include(&quot;conexao.php&quot;);<br />
<br />
$acao = $_GET[&#039;acao&#039;];<br />
<br />
switch ($acao) {<br />
<br />
case cadastrar:<br />
<br />
$frase&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= $_POST[&#039;frase&#039;];<br />
$data_publicacao&nbsp;&nbsp;=&nbsp;&nbsp;date(&#039;Y-d-m&#039;, strtotime($_POST[&#039;data_publicacao&#039;]));<br />
$status&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= &quot;1&quot;;<br />
<br />
$query_cadastrar = &quot;insert into tbl_frases(frase, data_publicacao, status) VALUES(&#039;$frase&#039;, &#039;$data_publicacao&#039;, &#039;$status&#039;)&quot;;<br />
$rs_cadastrar&nbsp;&nbsp;&nbsp;&nbsp;= mysql_query($query_cadastrar);<br />
<br />
if ($rs_cadastrar){<br />
?&gt;<br />
<br />
&lt;SCRIPT LANGUAGE=&quot;JavaScript&quot; TYPE=&quot;text/javascript&quot;&gt; alert (&quot;Cadastro de frase efetuado com sucesso&quot;)&lt;/SCRIPT&gt;<br />
&lt;SCRIPT language=&quot;JavaScript&quot;&gt;window.location.href=&quot;index.php&quot;;&lt;/SCRIPT&gt;<br />
<br />
&lt;? }else{ ?&gt;<br />
<br />
&lt;SCRIPT LANGUAGE=&quot;JavaScript&quot; TYPE=&quot;text/javascript&quot;&gt; alert (&quot;Erro ao cadastrar frase&quot;)&lt;/SCRIPT&gt;<br />
&lt;SCRIPT language=&quot;JavaScript&quot;&gt;window.location.href=&quot;index.php&quot;;&lt;/SCRIPT&gt;<br />
<br />
&lt;?<br />
}<br />
<br />
break;<br />
<br />
case alterar:<br />
<br />
$id_frase&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = $_POST[&#039;id_frase&#039;];<br />
$frase&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= $_POST[&#039;frase&#039;];<br />
$data_publicacao&nbsp;&nbsp;=&nbsp;&nbsp;date(&#039;Y-d-m&#039;, strtotime($_POST[&#039;data_publicacao&#039;]));<br />
$status&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= &quot;1&quot;;<br />
<br />
$query_alterar = &quot;UPDATE tbl_frases SET<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;frase&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = &#039;$frase&#039;,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data_publicacao = &#039;$data_publicacao&#039;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WHERE id_frase = &#039;$id_frase&#039;&quot;;<br />
$rs_alterar = mysql_query($query_alterar);<br />
<br />
if($rs_alterar){<br />
?&gt;<br />
&lt;SCRIPT LANGUAGE=&quot;JavaScript&quot; TYPE=&quot;text/javascript&quot;&gt; alert (&quot;Vídeo alterado com sucesso&quot;)&lt;/SCRIPT&gt;<br />
&lt;SCRIPT language=&quot;JavaScript&quot;&gt;window.location.href=&quot;index.php&quot;;&lt;/SCRIPT&gt;<br />
<br />
&lt;?<br />
}<br />
else{<br />
?&gt;<br />
&lt;SCRIPT LANGUAGE=&quot;JavaScript&quot; TYPE=&quot;text/javascript&quot;&gt; alert (&quot;Erro ao alterar Vídeo&quot;)&lt;/SCRIPT&gt;<br />
&lt;SCRIPT language=&quot;JavaScript&quot;&gt;window.location.href=&quot;index.php&quot;;&lt;/SCRIPT&gt;<br />
&lt;?<br />
}<br />
<br />
break;<br />
<br />
case excluir:<br />
<br />
$id_frase&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = $_GET[&#039;id_frase&#039;];<br />
<br />
$query_excluir = &quot;DELETE FROM tbl_frases WHERE id_frase = &#039;$id_frase&#039;&quot;;<br />
$rs_excluir&nbsp;&nbsp;&nbsp;&nbsp;= mysql_query ($query_excluir);<br />
<br />
if($rs_excluir){<br />
<br />
?&gt;<br />
&lt;SCRIPT LANGUAGE=&quot;JavaScript&quot; TYPE=&quot;text/javascript&quot;&gt; alert (&quot;Frase excluída com sucesso&quot;)&lt;/SCRIPT&gt;<br />
&lt;SCRIPT language=&quot;JavaScript&quot;&gt;window.location.href=&quot;frases_listar.php&quot;;&lt;/SCRIPT&gt;<br />
<br />
&lt;?<br />
}<br />
else<br />
{<br />
?&gt;<br />
&lt;SCRIPT LANGUAGE=&quot;JavaScript&quot; TYPE=&quot;text/javascript&quot;&gt; alert (&quot;Erro ao excluir Frase&quot;)&lt;/SCRIPT&gt;<br />
&lt;SCRIPT language=&quot;JavaScript&quot;&gt;window.location.href=&quot;frases_listar.php&quot;;&lt;/SCRIPT&gt;<br />
&lt;?<br />
}<br />
<br />
break;<br />
<br />
}<br />
<br />
?&gt;<br />
<br />
</code></pre></p>
<p>Obs.: Se você observar acima, verá que é muito mais fácil trabalhar desta maneira, não?</p>
<p>Como você pode ver, trata-se de um sistema simples. O que você acha de melhorá-lo?</p>
<p>Se você quiser, poderá inserir nele opções como:</p>
<p>- inserção de mensagens limitadas por dia;<br />
- envio das mensagens por email;<br />
- mensagens personalizadas para cada usuário, entre outros.</p>
<p>Espero que você goste deste sistema e que ele seja útil em seu dia a dia.</p>
<p>Download do código usado neste tutorial > <a href='http://www.webmaster.pt/wp-content/uploads/2010/12/ficheiros1.zip'>Sorte Do Dia Em PHP</a>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.webmaster.pt%2Fsorte-do-dia-php-11960.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.webmaster.pt%2Fsorte-do-dia-php-11960.html&amp;source=marketocracia&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.webmaster.pt/sorte-do-dia-php-11960.html">Sorte Do Dia Em PHP</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>
<p>Related posts:<ol>
<li><a href='http://www.webmaster.pt/como-usar-leitor-personalizado-youtube-11686.html' rel='bookmark' title='Como Usar O Leitor Personalizado Do Youtube No Seu Site'>Como Usar O Leitor Personalizado Do Youtube No Seu Site</a></li>
<li><a href='http://www.webmaster.pt/como-validar-formulario-8269.html' rel='bookmark' title='Como Validar Formulário'>Como Validar Formulário</a></li>
<li><a href='http://www.webmaster.pt/sistema-noticias-php-mysql-parte3-5249.html' rel='bookmark' title='Sistema De Notícias Em PHP E MySQL Parte3'>Sistema De Notícias Em PHP E MySQL Parte3</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.webmaster.pt/sorte-do-dia-php-11960.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como Usar O Leitor Personalizado Do Youtube No Seu Site</title>
		<link>http://www.webmaster.pt/como-usar-leitor-personalizado-youtube-11686.html</link>
		<comments>http://www.webmaster.pt/como-usar-leitor-personalizado-youtube-11686.html#comments</comments>
		<pubDate>Fri, 10 Dec 2010 09:46:09 +0000</pubDate>
		<dc:creator>Quemuel Aquino</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">http://www.webmaster.pt/?p=11686</guid>
		<description><![CDATA[Aprenda a implementar o leitor personalizado do Youtube no seu site.<p><a href="http://www.webmaster.pt/como-usar-leitor-personalizado-youtube-11686.html">Como Usar O Leitor Personalizado Do Youtube No Seu Site</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>

Related posts:<ol>
<li><a href='http://www.webmaster.pt/como-usar-crontab-php-11963.html' rel='bookmark' title='Como Usar O Crontab Com O PHP'>Como Usar O Crontab Com O PHP</a></li>
<li><a href='http://www.webmaster.pt/carrinho-compras-php-5462.html' rel='bookmark' title='Carrinho de Compras Personalizado Em PHP'>Carrinho de Compras Personalizado Em PHP</a></li>
<li><a href='http://www.webmaster.pt/como-criar-rss-feed-6376.html' rel='bookmark' title='Como Criar Um RSS Feed No Seu Site'>Como Criar Um RSS Feed No Seu Site</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Se você navega na internet, certamente já ouviu falar do YouTube.</p>
<p>Esta empresa lançou há algum tempo mais uma novidade para ganhar ainda mais visitante e agregar mais serviços aos seus usuários: <a href="http://www.youtube.com/custom_player" target="_blank">Um Leitor Personalizado dos Vídeos</a></p>
<p>Através dele é possível colocar em seus sites uma galeria com todos os vídeos que você tem cadastrado em seu usuário ou também os seus vídeos marcados como favoritos. </p>
<p>Além disso você pode personalizar o player com várias cores diferentes.</p>
<p>E aí, o que achou? Prefere fazer algo personalizado e fácil de gerenciar?</p>
<p>Acompanhe nossa matéria a seguir, pois com certeza você saberá como implementar essa ferramenta a seu site.</p>
<h2>Configurando A Base De Dados MySQL</h2>
<p>Antes de tudo, é necessário configurar a base de dados. </p>
<p>Com o BD já criado, acesse o ficheiro &#8220;config.php&#8221; e configure o ficheiro alterando as informações de acesso à base de dados (conforme script a seguir).</p>
<p><pre><code><br />
<br />
&lt;?php<br />
<br />
&lt;?<br />
<br />
$host&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= &quot;SERVIDOR&quot;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // SERVIDOR<br />
$database&nbsp;&nbsp;= &quot;DATABASE&quot;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// BASE DE DADOS<br />
$login_db&nbsp;&nbsp;= &quot;USUARIO&quot;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// USUARIO MYSQL<br />
$senha_db&nbsp;&nbsp;= &quot;SENHA&quot;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // SENHA MYSQL<br />
<br />
$conn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= mysql_connect($host, $login_db, $senha_db);<br />
<br />
mysql_select_db($database, $conn);<br />
<br />
?&gt;<br />
<br />
</code></pre></p>
<p>Após a configuração, vamos agora criar a tabela que será usada!</p>
<h2>Configurando A Tabela na Base de Dados MySQL</h2>
<p>Para configurar a base de dados através do script, abra o ficheiro script-sql.txt (disponível em anexo) e cole seu conteúdo no Programa utilizado para gerenciamento da base de dados.</p>
<p>Em nossas matérias utilizamos como padrão o MySQLFront. Caso tu também esteja utilizando este programa, clique em SQL Editor e cole o conteúdo do script (conforme disponibilizado a seguir).</p>
<p><pre><code><br />
<br />
----- INSTALANDO A TABELA -----<br />
<br />
CREATE TABLE `tbl_videos` (<br />
&nbsp;&nbsp;`id_video` int(11) NOT NULL auto_increment,<br />
&nbsp;&nbsp;`nome` varchar(200) NOT NULL default &#039;&#039;,<br />
&nbsp;&nbsp;`video` varchar(200) NOT NULL default &#039;&#039;,<br />
&nbsp;&nbsp;`data_cadastro` varchar(20) default NULL,<br />
&nbsp;&nbsp;`status` char(1) default NULL,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`id_video`)<br />
);<br />
<br />
INSERT INTO `tbl_videos` (`id_video`,`nome`,`video`,`data_cadastro`,`status`) VALUES (2,&#039;Casamento&#039;,&#039;http://www.youtube.com/watch?v=mkKo8bNL8pU&#039;,&#039;2010-11-29&#039;,&#039;1&#039;);<br />
INSERT INTO `tbl_videos` (`id_video`,`nome`,`video`,`data_cadastro`,`status`) VALUES (5,&#039;Dicas para uso de Laboratório de Informática&#039;,&#039;http://www.youtube.com/watch?v=DwrQJpn0IQw&#039;,&#039;2010-11-29&#039;,&#039;1&#039;);<br />
<br />
</code></pre></p>
<p>Após importar os dados, você já poderá fazer uso do sistema abaixo.</p>
<h2>Explorando o Sistema</h2>
<p>O uso deste ficheiro é bem prático e objetivo.</p>
<p>Através dele e com um pequeno conhecimento de PHP / MySQL você consegue adaptar o código fonte a seu web site.</p>
<p>Abaixo estaremos verificando como funciona a página index (responsável por apresentar em tela os vídeos &#8211; conforme o script e a imagem a seguir):</p>
<p><pre><code><br />
<br />
&lt;?php<br />
<br />
include(&quot;config.php&quot;);<br />
<br />
$sql = mysql_query(&quot;SELECT * FROM tbl_videos order by id_video DESC&quot;, $conn);<br />
$dados = mysql_fetch_assoc($sql);<br />
$rows = mysql_num_rows($sql);<br />
$contador = 0;<br />
<br />
?&gt;<br />
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=iso-8859-1&quot; /&gt;<br />
&lt;title&gt;WebMaster.PT - Trabalhando com galeria de vídeos&lt;/title&gt;<br />
&lt;style type=&quot;text/css&quot;&gt;<br />
&lt;!--<br />
body {<br />
&nbsp;&nbsp;margin-left: 5px;<br />
&nbsp;&nbsp;margin-top: 5px;<br />
&nbsp;&nbsp;margin-right: 0px;<br />
&nbsp;&nbsp;margin-bottom: 0px;<br />
}<br />
a:link {<br />
&nbsp;&nbsp;color: #000000;<br />
}<br />
a:visited {<br />
&nbsp;&nbsp;color: #000000;<br />
}<br />
a:hover {<br />
&nbsp;&nbsp;color: #000000;<br />
}<br />
a:active {<br />
&nbsp;&nbsp;color: #000000;<br />
}<br />
--&gt;<br />
&lt;/style&gt;<br />
&lt;script type=&quot;text/JavaScript&quot;&gt;<br />
&lt;!--<br />
function MM_openBrWindow(theURL,winName,features) { //v2.0<br />
&nbsp;&nbsp;window.open(theURL,winName,features);<br />
}<br />
//--&gt;<br />
&lt;/script&gt;<br />
&lt;/head&gt;<br />
<br />
&lt;body&gt;&lt;center&gt;&lt;br&gt;&lt;h2&gt;WebMaster.PT&lt;/h2&lt;br&gt;Trabalhando com galeria de vídeos&lt;br&gt;&lt;Br&gt;<br />
<br />
&lt;br&gt;&lt;a href=&#039;adicionar_videos.php&#039;&gt;adicionar vídeo&lt;/a&gt; - &lt;a href=&#039;gerenciar_videos.php&#039;&gt;gerenciar vídeos&lt;/a&gt;&lt;br&gt;&lt;br&gt;<br />
<br />
 &lt;table width=&quot;170&quot; align=&quot;center&quot;&gt;<br />
&nbsp;&nbsp; &lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;td width=&quot;228&quot;&gt;&lt;div align=&quot;center&quot;&gt;&lt;strong&gt;Galeria de Videos &lt;/strong&gt;&lt;/div&gt;&lt;/td&gt;<br />
&nbsp;&nbsp; &lt;/tr&gt;<br />
&nbsp;&nbsp; &lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;&lt;/td&gt;<br />
&nbsp;&nbsp; &lt;/tr&gt;<br />
 &lt;/table&gt;<br />
<br />
&nbsp;&nbsp; &lt;? do { $contador = $contador + 1;<br />
&nbsp;&nbsp;<br />
$url_video&nbsp;&nbsp;= $dados[&quot;video&quot;];<br />
$nome_video = $dados[&quot;nome&quot;];<br />
&nbsp;&nbsp; ?&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;table width=&quot;140&quot; border=&quot;0&quot; align=&quot;center&quot; cellspacing=&quot;5&quot; bordercolor=&quot;#000000&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt;&lt;td width=&quot;128&quot;&gt;&lt;div align=&quot;center&quot;&gt; &lt;a href=&#039;#&#039; onClick=&quot;MM_openBrWindow(&#039;ver_video.php?url_video=&lt;? echo $url_video; ?&gt;&#039;,&#039;vervideo&#039;,&#039;width=430,height=370&#039;)&quot; /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;?<br />
&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; $url = $url_video;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp; $img = &#039;&#039;;<br />
<br />
&nbsp;&nbsp; if(preg_match(&quot;#http://(.*)\.youtube\.com/watch\?v=(.*)(&amp;(.*))?#&quot;, $url, $matches)){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(isset($matches[2]) &amp;&amp; $matches[2]!=&#039;&#039;){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $img = &#039;http://img.youtube.com/vi/&#039;.$url_video.&#039;/default.jpg&#039;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp; }<br />
<br />
echo &quot;&lt;img src=&#039;http://img.youtube.com/vi/&quot;. $matches[2].&quot;/default.jpg&#039;&gt;&quot;;<br />
<br />
?&gt;&lt;/a&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;div align=&quot;center&quot;&gt;&lt;b&gt;&lt;?&nbsp;&nbsp;echo $nome_video; ?&gt;&lt;/b&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;<br />
&nbsp;&nbsp; &lt;? } while ($dados = mysql_fetch_assoc($sql)); ?&gt;&nbsp;&nbsp; <br />
<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
<br />
</code></pre></p>
<p>IMAGEM 01 (Apresentando em tela os vídeos cadastrados)</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/11/imagem014.jpg" alt="Apresentando em tela os vídeos cadastrados" title="Apresentando em tela os vídeos cadastrados" width="390" height="531" class="aligncenter size-full wp-image-11687" /></p>
<p>Como você pode verificar acima, o sistema é bem prático de mexer.</p>
<p>Nele não inseri contador de páginas, apresentação personalizada do código, até porque não era o foco, mas seu uso é bem prático.</p>
<h2>Inserindo Novo Vídeo:</h2>
<p>O processo de inserção funciona como se fosse em um formulário comum: Você preenche as informações e clica no botão para envio.</p>
<p>OBS.: Diferente de outras soluções, neste sistema você precisa inserir a URL. Feito isso, ele lhe dará a possibilidade de visualizar sempre que quiser seu vídeo preferido (conforme script e imagem a seguir).</p>
<p><pre><code><br />
<br />
&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;title&gt;WebMaster.PT - Trabalhando com galeria de vídeos&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;&lt;center&gt;&lt;br&gt;&lt;h2&gt;WebMaster.PT&lt;/h2&lt;br&gt;Trabalhando com galeria de vídeos&lt;br&gt;&lt;Br&gt;<br />
<br />
&lt;div align=&quot;center&quot;&gt;<br />
&nbsp;&nbsp;&lt;form action=&quot;script_youtube.php?acao=cadastrar&quot; method=&quot;post&quot; enctype=&quot;multipart/form-data&quot; name=&quot;form1&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;table width=&quot;500&quot; border=&quot;0&quot; cellspacing=&quot;5&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td width=&quot;56&quot;&gt;&lt;div align=&quot;left&quot;&gt;&lt;strong&gt;Nome do Vídeo:&lt;/strong&gt;&lt;/div&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td width=&quot;128&quot;&gt;&lt;div align=&quot;left&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;label&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input name=&quot;nome&quot; type=&quot;text&quot; id=&quot;empresa&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/label&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&lt;strong&gt;Url do Vídeo:&lt;/strong&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&lt;div align=&quot;left&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;label&gt;&lt;/label&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input name=&quot;arquivo&quot; type=&quot;text&quot; id=&quot;arquivo&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td colspan=&quot;2&quot;&gt;&lt;div align=&quot;center&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type=&quot;submit&quot; name=&quot;Submit&quot; value=&quot;Enviar&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/table&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;p&gt;OBS.: Você pode add Videos do Youtube - Google Videos e Outros&lt;/p&gt;<br />
&nbsp;&nbsp;&lt;/form&gt;<br />
&lt;/div&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
<br />
</code></pre></p>
<p>IMAGEM 02 (Cadastrando um novo vídeo)</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/11/imagem023.jpg" alt="Cadastrando um novo vídeo" title="Cadastrando um novo vídeo" width="514" height="309" class="aligncenter size-full wp-image-11688" /></p>
<p>OBS.: Após preencher os campos, o sistema lhe enviará para o script de inserção (que funciona em uma página separada &#8211; conforme script a seguir):</p>
<p>Página &#8220;script_youtube.php&#8221;</p>
<p><pre><code><br />
<br />
&lt;?<br />
include(&quot;config.php&quot;);<br />
<br />
$acao = $_GET[&#039;acao&#039;];<br />
<br />
switch ($acao) {<br />
<br />
case cadastrar:<br />
<br />
$nome&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= $_POST[&#039;nome&#039;];<br />
$video&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = $_POST[&#039;arquivo&#039;];<br />
$data_cadastro = date(&#039;Y-m-d&#039;);<br />
$status&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= &quot;1&quot;;<br />
<br />
$query_cadastrar = &quot;insert into tbl_videos(nome, video, data_cadastro, status) VALUES(&#039;$nome&#039;, &#039;$video&#039;, &#039;$data_cadastro&#039;, &#039;$status&#039;)&quot;;<br />
$rs_cadastrar&nbsp;&nbsp;&nbsp;&nbsp;= mysql_query($query_cadastrar);<br />
<br />
if ($rs_cadastrar){<br />
?&gt;<br />
<br />
&lt;SCRIPT LANGUAGE=&quot;JavaScript&quot; TYPE=&quot;text/javascript&quot;&gt; alert (&quot;Cadastro de vídeo efetuado com sucesso&quot;)&lt;/SCRIPT&gt;<br />
&lt;SCRIPT language=&quot;JavaScript&quot;&gt;window.location.href=&quot;index.php&quot;;&lt;/SCRIPT&gt;<br />
<br />
&lt;? }else{ ?&gt;<br />
<br />
&lt;SCRIPT LANGUAGE=&quot;JavaScript&quot; TYPE=&quot;text/javascript&quot;&gt; alert (&quot;Erro ao cadastrar vídeo&quot;)&lt;/SCRIPT&gt;<br />
&lt;SCRIPT language=&quot;JavaScript&quot;&gt;window.location.href=&quot;index.php&quot;;&lt;/SCRIPT&gt;<br />
<br />
&lt;?<br />
}<br />
<br />
break;<br />
<br />
case excluir:<br />
<br />
$id_video&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = $_GET[&#039;id_video&#039;];<br />
<br />
$query_excluir = &quot;DELETE FROM tbl_videos WHERE id_video = &#039;$id_video&#039;&quot;;<br />
$rs_excluir&nbsp;&nbsp;&nbsp;&nbsp;= mysql_query ($query_excluir);<br />
<br />
if($rs_excluir){<br />
<br />
?&gt;<br />
&lt;SCRIPT LANGUAGE=&quot;JavaScript&quot; TYPE=&quot;text/javascript&quot;&gt; alert (&quot;Vídeo excluído com sucesso&quot;)&lt;/SCRIPT&gt;<br />
&lt;SCRIPT language=&quot;JavaScript&quot;&gt;window.location.href=&quot;index.php&quot;;&lt;/SCRIPT&gt;<br />
<br />
&lt;?<br />
}<br />
else<br />
{<br />
?&gt;<br />
&lt;SCRIPT LANGUAGE=&quot;JavaScript&quot; TYPE=&quot;text/javascript&quot;&gt; alert (&quot;Erro ao excluir Vídeo&quot;)&lt;/SCRIPT&gt;<br />
&lt;SCRIPT language=&quot;JavaScript&quot;&gt;window.location.href=&quot;index.php&quot;;&lt;/SCRIPT&gt;<br />
&lt;?<br />
}<br />
<br />
break;<br />
<br />
}<br />
<br />
?&gt;<br />
<br />
</code></pre></p>
<h2>Características Do Leitor Personalizado Do Youtube</h2>
<p>Após clicar no vídeo cadastrado (disponível na página inicial), veja que o sistema lhe encaminhará para uma página onde será apresentado o vídeo (conforme script e imagem a seguir):</p>
<p><pre><code><br />
<br />
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;<br />
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=iso-8859-1&quot; /&gt;<br />
&lt;title&gt;WebMaster.PT - Trabalhando com galeria de vídeos&lt;/title&gt;<br />
&lt;style type=&quot;text/css&quot;&gt;<br />
&lt;!--<br />
body {<br />
&nbsp;&nbsp;margin-left: 0px;<br />
&nbsp;&nbsp;margin-top: 0px;<br />
&nbsp;&nbsp;margin-right: 0px;<br />
&nbsp;&nbsp;margin-bottom: 0px;<br />
}<br />
--&gt;<br />
&lt;/style&gt;&lt;/head&gt;<br />
<br />
&lt;body&gt;<br />
<br />
&lt;div id=&quot;player&quot;&gt;<br />
<br />
&lt;?<br />
<br />
$url = $_GET[&#039;url_video&#039;];<br />
function embedVideo($url,$width,$height){<br />
<br />
&nbsp;&nbsp; if(preg_match(&quot;#http://(.*)\.youtube\.com/watch\?v=(.*)(&amp;(.*))?#&quot;, $url, $matches)){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo &#039;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;object width=&quot;&#039;.$width.&#039;&quot; height=&quot;&#039;.$height.&#039;&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/&#039;.$matches[2].&#039;&amp;hl=pt-br&amp;fs=1&quot;&gt;&lt;/param&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;embed src=&quot;http://www.youtube.com/v/&#039;.$matches[2].&#039;&amp;hl=pt-br&amp;fs=1&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;&#039;.$width.&#039;&quot; height=&quot;&#039;.$height.&#039;&quot;&gt;&lt;/embed&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/object&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#039;;<br />
&nbsp;&nbsp; }elseif(preg_match(&quot;#http://www\.metacafe\.com/watch/(([^/].*)/([^/].*))/?#&quot;, $url, $matches)){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo &#039;&lt;embed flashVars=&quot;playerVars=showStats=no|autoPlay=no|videoTitle=&quot;&nbsp;&nbsp;src=&quot;http://www.metacafe.com/fplayer/&#039;.$matches[1].&#039;.swf&quot; width=&quot;&#039;.$width.&#039;&quot; height=&quot;&#039;.$height.&#039;&quot; wmode=&quot;transparent&quot; pluginspage=&quot;http://www.macromedia.com/go/getflashplayer&quot; type=&quot;application/x-shockwave-flash&quot;&gt;&lt;/embed&gt;&#039;;<br />
&nbsp;&nbsp; }<br />
}<br />
<br />
$youtubeVideo1 = $_GET[&#039;url_video&#039;];<br />
<br />
embedVideo($youtubeVideo1,425,344);<br />
<br />
?&gt;<br />
<br />
&lt;/div&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
<br />
</code></pre></p>
<p>IMAGEM 03 (Visualizando o vídeo)</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/11/imagem032.jpg" alt="Visualizando o vídeo" title="Visualizando o vídeo" width="436" height="442" class="aligncenter size-full wp-image-11689" /></p>
<p>Veja que o sistema não te dá apenas o recurso de visualizar o vídeo cadastrado. Através dele você poderá efetuar também busca personalizada através do próprio youtube (conforme imagem a seguir):</p>
<p>IMAGEM 04 (Buscando vídeo no Youtube)</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/11/imagem04.jpg" alt="Buscando vídeo no Youtube" title="Buscando vídeo no Youtube" width="427" height="444" class="aligncenter size-full wp-image-11690" /></p>
<p>OBS.: Como nosso foco é apenas a apresentação da solução, apenas inserimos as opções de inserção, visualização de vídeos cadastrados e exclusão.</p>
<p>Caso seja de seu interesse, este sistema poderá ser melhorado (tanto na aparência, quanto na inserção de novos recursos).</p>
<p>Espero que esta solução lhe ajude no dia a dia.</p>
<p><a href='http://www.webmaster.pt/wp-content/uploads/2010/11/ficheiros8.zip'>Como Usar O Leitor Personalizado Do Youtube No Seu Site</a>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.webmaster.pt%2Fcomo-usar-leitor-personalizado-youtube-11686.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.webmaster.pt%2Fcomo-usar-leitor-personalizado-youtube-11686.html&amp;source=marketocracia&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.webmaster.pt/como-usar-leitor-personalizado-youtube-11686.html">Como Usar O Leitor Personalizado Do Youtube No Seu Site</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>
<p>Related posts:<ol>
<li><a href='http://www.webmaster.pt/como-usar-crontab-php-11963.html' rel='bookmark' title='Como Usar O Crontab Com O PHP'>Como Usar O Crontab Com O PHP</a></li>
<li><a href='http://www.webmaster.pt/carrinho-compras-php-5462.html' rel='bookmark' title='Carrinho de Compras Personalizado Em PHP'>Carrinho de Compras Personalizado Em PHP</a></li>
<li><a href='http://www.webmaster.pt/como-criar-rss-feed-6376.html' rel='bookmark' title='Como Criar Um RSS Feed No Seu Site'>Como Criar Um RSS Feed No Seu Site</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.webmaster.pt/como-usar-leitor-personalizado-youtube-11686.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>reCAPTCHA, Um Captcha Social.</title>
		<link>http://www.webmaster.pt/recaptcha-captcha-social-11781.html</link>
		<comments>http://www.webmaster.pt/recaptcha-captcha-social-11781.html#comments</comments>
		<pubDate>Thu, 09 Dec 2010 10:39:32 +0000</pubDate>
		<dc:creator>Renato Gil</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">http://www.webmaster.pt/?p=11781</guid>
		<description><![CDATA[Aprenda a usar o reCAPTCHA, para combater SPAM nos formulários do seu site.<p><a href="http://www.webmaster.pt/recaptcha-captcha-social-11781.html">reCAPTCHA, Um Captcha Social.</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>

Related posts:<ol>
<li><a href='http://www.webmaster.pt/captcha-php-eliminar-spam-formularios-7705.html' rel='bookmark' title='CAPTCHA Em PHP &#8211; Eliminar SPAM Nos Formulários'>CAPTCHA Em PHP &#8211; Eliminar SPAM Nos Formulários</a></li>
<li><a href='http://www.webmaster.pt/combate-spam-formularios-7702.html' rel='bookmark' title='Combate A SPAM Em Formulários'>Combate A SPAM Em Formulários</a></li>
<li><a href='http://www.webmaster.pt/diferencas-php4-php5-10786.html' rel='bookmark' title='Algumas Diferenças Entre O PHP 4.x E O PHP 5.x'>Algumas Diferenças Entre O PHP 4.x E O PHP 5.x</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<h2 style="text-align: justify">Introdução: Captchas e Blá-blá-blá!</h2>
<p style="text-align: center"><img class="aligncenter size-full wp-image-11794" style="border: 0" src="http://www.webmaster.pt/wp-content/uploads/2010/12/are-you-human-captcha1.jpg" alt="" width="400" height="303" /><strong>Figura 1 &#8211; </strong>Você é um humano? Desculpe, tenho que perguntar.</p>
<p style="text-align: justify"><strong>Não</strong>. Isto não é mais um artigo de captcha aqui no portal &#8211; <strong>relax</strong>! O foco deste artigo é abordar os benefícios que esta solução oferece. Não vou entrar em detalhes no conceito geral, já que vocês podem encontrar excelentes artigos <a href="http://www.webmaster.pt/index.php?s=captcha" target="_blank">clicando aqui</a>.</p>
<p style="text-align: justify">Apesar disso, antes de apresentar o <a href="http://www.recaptcha.com" target="_blank"><strong>reCAPTCHA</strong></a>, é preciso que fique claro que <span style="text-decoration: underline">captchas são mecanismos que lutam <strong>contra</strong> a disseminação de Spam na web</span>. Método esse, de espalhar mensagens de propaganda, de forma ilícita, em sua maioria robôs que detectam falhas em sistemas e websites, inundando-os com conteúdo inútil. Uma das formas mais eficazes de se evitar esse desastre, é oferecer caixas de confirmação aos usuários, no intuito que se este visitante for um humano, não um script, consiga decifrar o enigma e enfim prosseguir com sua experiência. Ok? <strong>So let&#8217;s rock</strong>!</p>
<h2>Sobre o reCAPTCHA.</h2>
<p style="text-align: center"><img class="aligncenter size-full wp-image-11803" style="border: 0" src="http://www.webmaster.pt/wp-content/uploads/2010/12/recaptcha.gif" alt="" width="187" height="125" /><strong>Figura 2 &#8211; </strong>Slogan: &#8220;Stop Spam, Read Books&#8221;</p>
<p style="text-align: justify">O projeto surgiu na universidade Carnegie Mellon, Pittsburgh,  nos Estados Unidos. O slogan <strong><em>&#8220;Pare o Spam, Leia Livros&#8221;</em></strong>, deixa claro logo no início o objetivo do serviço: não oferecer <span style="text-decoration: underline">mais um</span> simples captcha, ir, além disso, que tal ler livros? É isso mesmo! Além de combater o spam no simples ato de decifrar o captcha, você está ajudando a digitalizar livros, como também artigos e jornais antigos. Mas como isso funciona?</p>
<p style="text-align: center"><img class="aligncenter" src="http://www.google.com/recaptcha/static/images/smallCaptchaSpaceWithRoughAlpha.png" alt="Funcionamento do reCAPTCHA" width="250" height="155" /><strong>Figura 3</strong> &#8211; Trechos de scans se tornam enigmas.</p>
<p style="text-align: justify">Tudo não passa de trechos de vários scans, exibidos aleatoriamente na caixa do captcha, e que no momento em que o usuário decifra-o, na verdade também acaba por digitalizar partes destes documentos antigos. Cerca de 200 milhões de captchas são resolvidos todos os dias pelos diversos usuários do serviço reCAPTCHA, tudo convertido em bytes de textos que irão beneficiar toda uma comunidade (?). O Google por sua vez já comprou o serviço. Natural que os arquivos digitalizados também sejam incorporados ao serviço <a href="http://books.google.com/" target="_blank">Google Books</a>. Estratégia nada ingênua dos googlers <a href="http://googledontbeevil.com" target="_blank">Don&#8217;t be evil</a>.</p>
<h2>Get started now!</h2>
<p>Pra começar a brincadeira será necessário que se cadastre no serviço. <a href="http://www.google.com/recaptcha/whyrecaptcha" target="_blank"><strong>Clique aqui</strong></a>!</p>
<p style="text-align: justify">Você precisará informar o domínio em questão que será utilizado para se comunicar com esta <a href="http://www.webmaster.pt/servicos-api-5203.html" target="_blank">API</a>. Será gerado duas chaves, uma pública e uma privada. Guarde estas informações, pois precisará delas para o pleno funcionamento do mashup, caso as perca, basta acessar novamente a url do serviço e gerar novas chaves. Importante é que você mantenha em segredo a chave privada, afinal, é uma senha de acesso ao serviço.</p>
<p style="text-align: center"><img class="aligncenter size-full wp-image-11915" src="http://www.webmaster.pt/wp-content/uploads/2010/12/captcha-labs-renatogil.png" alt="Informações de Cadastro no Serviço" width="559" height="378" /><strong>Figura 4</strong> &#8211; Resumo de um cadastro realizado no serviço.</p>
<p style="text-align: justify">Na <a href="http://code.google.com/apis/recaptcha/intro.html" target="_blank">documentação da API</a>,  existem diversos plugins, já desenvolvidos, para uma infinidade de  plataformas, inclusive CMSs tal como o <a href="http://code.google.com/apis/recaptcha/docs/wordpress.html" target="_blank">WordPress</a>. Já que temos muitos adeptos do PHP aqui no portal, vamos  codificar nessa linguagem com base no <a href="http://code.google.com/apis/recaptcha/docs/php.html" target="_blank">plugin</a> disponível, para um típico caso de uso comum em sites: <strong>formulários de contato</strong>!</p>
<h2>Mão na massa!</h2>
<p style="text-align: justify">Após realizar o <a href="http://code.google.com/p/recaptcha/downloads/list?q=label:phplib-Latest" target="_blank">download do plugin</a>, extraia o zip e verifique a estrutura de arquivos:</p>
<p style="text-align: center"><img class="aligncenter size-full wp-image-11927" src="http://www.webmaster.pt/wp-content/uploads/2010/12/estrutura-zip-recaptcha.png" alt="Estrutura ZIP - reCAPTCHA" width="544" height="121" /><strong>Figura 5</strong> &#8211; Plugin reCAPTCHA para PHP (versão 1.11).</p>
<p style="text-align: justify">Interessa-nos o <strong>recaptchalib.php</strong>, o restante são exemplos e instruções para uso.</p>
<p style="text-align: justify">Vamos criar uma estrutura de diretórios para um site: uma pasta para armazenamento de imagens, CSSs e Javascripts; outra para armazenar bibliotecas em PHP; na raiz uma index com um simples link para o formulário, e de fato, a página que iremos programar.</p>
<p style="text-align: center"><img class="aligncenter size-full wp-image-11936" src="http://www.webmaster.pt/wp-content/uploads/2010/12/estrutura-diretorios-website.png" alt="" width="400" height="199" /><strong>Figura 6</strong> &#8211; Estrutura de diretórios do nosso website de exemplo.</p>
<p style="text-align: justify">Começamos criando um formulário com <strong>três campos</strong>: nome, e-mail e mensagem. Ao final do mesmo, adicionamos os tradicionais botões de enviar e limpar dados. Confira:</p>
<p style="text-align: center"><a href="http://pastie.org/1345189" target="_blank"><img class="aligncenter size-full wp-image-11939" src="http://www.webmaster.pt/wp-content/uploads/2010/12/form-contato-1.png" alt="Formulário de Contato - Começando" width="620" /></a><strong>Figura 7</strong> &#8211; <a href="http://pastie.org/1345189" target="_blank">http://pastie.org/1345189</a></p>
<p style="text-align: justify">Vamos deixar a propriedade <strong>action </strong>da tag <strong>form </strong>em branco, isto pressupõe que o formulário será processado na mesma página de origem. Como está página possui uma extensão <strong>.php</strong>, podemos começar a programar nela bastando colocar o código a seguir entre a diretiva <span style="color: #ff0000"><strong>&lt;?php ?&gt;</strong></span>. Por uma questão de organização, coloque o seguinte trecho de código na primeira linha deste arquivo. Confira a seguir:</p>
<p style="text-align: center"><a href="http://pastie.org/1345240" target="_blank"><img class="aligncenter size-full wp-image-11948" src="http://www.webmaster.pt/wp-content/uploads/2010/12/form-contato-2.png" alt="Formulário de Contato - Chaves PHP" width="547" height="276" /></a><strong>Figura 8</strong> &#8211; <a href="http://pastie.org/1345240" target="_blank">http://pastie.org/1345240</a></p>
<p style="text-align: justify">Iniciamos nosso código PHP, vamos aos esclarecimentos. A função <strong>require_once</strong> solicita que a página só seja interpretada com sucesso, caso o arquivo em questão seja carregado. Ali colocamos o <span style="text-decoration: underline">caminho</span> da nossa biblioteca (plugin PHP disponível no site do projeto reCAPTCHA, já citado antes). Criamos duas variáveis que serão utilizadas para preencher as chaves no momento do cadastro do serviço, e logo em seguida, mais duas variáveis para controle de retorno da validação do script reCAPTCHA. Agora, vamos criar uma nova <strong>TR</strong> na tabela do formulário, <strong>entre</strong> o campo <span style="text-decoration: underline">mensagem</span> e os <span style="text-decoration: underline">botões de envio</span>:</p>
<p style="text-align: center"><a href="http://pastie.org/1345274" target="_blank"><img class="aligncenter size-full wp-image-11951" src="http://www.webmaster.pt/wp-content/uploads/2010/12/form-contato-3.png" alt="Formulário de Contato - Exibindo o reCAPTCHA" width="565" height="268" /></a><strong>Figura 9</strong> &#8211; <a href="http://pastie.org/1345274" target="_blank">http://pastie.org/1345274</a></p>
<p style="text-align: justify">Com tudo isso, você já conseguirá visualizar a seguinte interface:</p>
<p style="text-align: center"><img class="aligncenter size-full wp-image-11953" src="http://www.webmaster.pt/wp-content/uploads/2010/12/form-contato-4.png" alt="Formulário de Contato - Protótipo do reCAPTCHA" width="531" height="430" /><strong>Figura 10</strong> &#8211; Protótipo inicial do Captcha</p>
<p style="text-align: justify">Com tudo isso, resta-nos validar os dados e enviar a mensagem por e-mail! A regra é clara, validamos campo a campo, e em caso de erro retornamos a mensagem alertando o usuário. Existem dezenas maneiras de validar, seja por scripts JQuery, usando expressões regulares, mas enfim, vou adotar a forma mais básica, no intuito que este post seja bem prático a iniciantes. Confira a continuação do nosso trecho em PHP:</p>
<p style="text-align: center"><a href="http://pastie.org/1354395" target="_blank"><img class="aligncenter size-full wp-image-11967" src="http://www.webmaster.pt/wp-content/uploads/2010/12/formulario-5.png" alt="" width="625" /></a><strong>Figura 11</strong> &#8211; <a href="http://pastie.org/1354395" target="_blank">http://pastie.org/1354395</a></p>
<p style="text-align: justify">Uma dúvida muito comum de novos programadores, é quando utilizar o <strong>$_POST</strong> e/ou <strong>$_GET</strong>. Se o formulário está sendo processado via POST, ou seja, utilizando <strong>method=&#8221;post&#8221;</strong> na tag <span style="text-decoration: underline">form</span>, então no lado do servidor (server-side) a chamada deverá ser feita utilizando a diretiva $_POST. Caso seja via <strong>method=&#8221;get&#8221;</strong>, as variáveis ficaram visíveis na url da página no momento de submeter o formulário. Na dúvida, você pode usar ainda <strong>$_REQUEST</strong>, que aceita ambos os métodos.</p>
<p style="text-align: justify">O código está bem simples. Estamos utilizando uma série de IFs e ELSE IFs para capturar a seguinte expressão (<span style="text-decoration: underline">se-a-variável-foi-inicializada</span> <strong>E </strong><span style="text-decoration: underline">variável-está-em-branco</span>), então alerta com uma mensagem de erro. Fizemos uso das funções nativas do PHP: <strong>isset()</strong> para verificar se a variável foi inicializada, caso contrário, a todo momento que se carregasse a página, a validação seria feita, e aqui não, só realizamos ela realmente quando o usuário clica no botão submeter; e a função <strong>trim()</strong> que com um parâmetro, retira os espaços da variável em questão. Pra finalizar, verificamos se o captcha foi inicializado e então utilizamos uma função da biblioteca nativa do reCAPTCHA para validar o enigma no servidor principal (externo). A resposta fica armazenada na variável <strong>$resp</strong>.</p>
<p style="text-align: justify">Agora vamos finalizar com o envio de e-mail:</p>
<p style="text-align: center"><a href="http://pastie.org/1354443" target="_blank"><img class="aligncenter size-full wp-image-11973" src="http://www.webmaster.pt/wp-content/uploads/2010/12/formulario-6.png" alt="" width="630" /></a><strong>Figura 12</strong> &#8211; <a href="http://pastie.org/1354443" target="_blank">http://pastie.org/1354443</a></p>
<p style="text-align: justify">Prosseguindo, caso a variável <strong>$resp</strong> (retorno da validação do captcha junto ao servidor externo) tenha sido bem sucedida, criamos uma variável <strong>$texto</strong>, e em cima dela, vamos concatenando com as outras variáveis do formulário através do comando &#8220;<strong>.</strong>&#8221; (ponto). A instrução <strong>$texto .=</strong>, significa, <strong>$minha-variável = <span style="text-decoration: underline">$minha-variável</span> + <span style="text-decoration: underline">alguma-coisa-nova</span></strong>. Já o comando <strong>\n</strong> faz uma quebra de linha na visualização.</p>
<p style="text-align: justify">Por fim, usamos a função <strong>mail()</strong> para submeter a mensagem!</p>
<p style="text-align: justify">Você pode visualizar o projeto em funcionamento clicando no link abaixo:<br />
<a href="http://labs.renatogil.com.br/wmpt-recaptcha" target="_blank">http://labs.renatogil.com.br/wmpt-recaptcha</a></p>
<p style="text-align: justify">Caso deseje visualizar os códigos-fontes do aplicativo, faça o download!<br />
<a href="http://labs.renatogil.com.br/wmpt-recaptcha/sources.zip" target="_blank">http://labs.renatogil.com.br/wmpt-recaptcha/sources.zip</a></p>
<h2>Considerações Finais.</h2>
<p style="text-align: justify">O reCAPTCHA sem dúvida é um serviço muito promissor. Além da portabilidade e a capacidade de <a href="http://code.google.com/apis/recaptcha/docs/customization.html" target="_blank">customizar temas</a>, fora o projeto social como um todo envolvido, é importante ressaltar que ele vai de encontro com as boas práticas de acessibilidade. Caso seu visitante seja deficiente visual, ele pode acionar o botão para ouvir o áudio do captcha. A parte ruim? O áudio é inglês! Mas isso é questão de tempo, ainda mais agora que o pai Google está investindo massivamente no projeto!</p>
<p style="text-align: justify"><strong>Até o próximo artigo!</strong></p>
<p style="text-align: justify">
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.webmaster.pt%2Frecaptcha-captcha-social-11781.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.webmaster.pt%2Frecaptcha-captcha-social-11781.html&amp;source=marketocracia&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.webmaster.pt/recaptcha-captcha-social-11781.html">reCAPTCHA, Um Captcha Social.</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>
<p>Related posts:<ol>
<li><a href='http://www.webmaster.pt/captcha-php-eliminar-spam-formularios-7705.html' rel='bookmark' title='CAPTCHA Em PHP &#8211; Eliminar SPAM Nos Formulários'>CAPTCHA Em PHP &#8211; Eliminar SPAM Nos Formulários</a></li>
<li><a href='http://www.webmaster.pt/combate-spam-formularios-7702.html' rel='bookmark' title='Combate A SPAM Em Formulários'>Combate A SPAM Em Formulários</a></li>
<li><a href='http://www.webmaster.pt/diferencas-php4-php5-10786.html' rel='bookmark' title='Algumas Diferenças Entre O PHP 4.x E O PHP 5.x'>Algumas Diferenças Entre O PHP 4.x E O PHP 5.x</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.webmaster.pt/recaptcha-captcha-social-11781.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Como Usar O Crontab Com O PHP</title>
		<link>http://www.webmaster.pt/como-usar-crontab-php-11963.html</link>
		<comments>http://www.webmaster.pt/como-usar-crontab-php-11963.html#comments</comments>
		<pubDate>Tue, 07 Dec 2010 08:15:41 +0000</pubDate>
		<dc:creator>Quemuel Aquino</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">http://www.webmaster.pt/?p=11963</guid>
		<description><![CDATA[Aprenda a usar o PHP para executar comandos no Crontab, que ficam agendados para execução nos dias e horas que você determinar.<p><a href="http://www.webmaster.pt/como-usar-crontab-php-11963.html">Como Usar O Crontab Com O PHP</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>

Related posts:<ol>
<li><a href='http://www.webmaster.pt/como-usar-leitor-personalizado-youtube-11686.html' rel='bookmark' title='Como Usar O Leitor Personalizado Do Youtube No Seu Site'>Como Usar O Leitor Personalizado Do Youtube No Seu Site</a></li>
<li><a href='http://www.webmaster.pt/senhas-criptografadas-7141.html' rel='bookmark' title='Senhas Criptografadas &#8211; Como Gerar E Recuperar?'>Senhas Criptografadas &#8211; Como Gerar E Recuperar?</a></li>
<li><a href='http://www.webmaster.pt/google-font-api-como-usar-5598.html' rel='bookmark' title='Google Font API: Como Usar!'>Google Font API: Como Usar!</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Tu já percebeu como as coisas hoje em dia estão corridas?</p>
<p>São várias tarefas, vários eventos para desenvolver e se não prestarmos atenção, corremos o risco de deixarmos algo para trás.</p>
<p>Alguns profissionais que utilizam programas e ficheiros em desktop, utilizam o &#8220;Agendador de Tarefas&#8221; para não realizar suas atividades. E você que usa a Internet? Que recurso poderá usar?</p>
<p>Hoje estaremos falando um pouco sobre o &#8220;Crontab&#8221;, isto é: Um recurso disponível no Linux e também no CPanel, um dos mais conhecidos Paineis de Gerenciamento de Web Sites do mundo.</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/12/crontab.gif" alt="crontab" title="crontab" width="509" height="334" class="aligncenter size-full wp-image-11984" /></p>
<p>Não vamos entrar em detalhes quanto ao gerenciamento do Crontab no Linux, nem a seus recursos, mas daremos um exemplo básico de como você pode usar o PHP e melhorar suas atividades utilizando esta ferramenta.</p>
<h2>Conhecendo O Crontab</h2>
<p>Conforme falamos a pouco no início desta matéria, o Crontab do Linux segue o mesmo conceito do agendador de tarefas do Windows.</p>
<p>Se você desenvolve algum sistema, certamente precisa executar uma cobrança, avisos periódicos, entre outras funções.</p>
<p>Com o tempo, isso se torna cansativo fazer manualmente.</p>
<p>Por esse motivo, temos como usar o Crontab, pois essa ferramenta que é nativa do Linux e está disponível em nossos Painéis de Controle (CPanel), nos possibilita efetuar serviços programados na hora exata (hora, minuto, dia, semana ou mês).</p>
<h2>Modo De Uso Do Crontab</h2>
<p>A primeira vista, se você nunca usou o Crontab para executar tarefas, com certeza você vai estranhar o seu funcionamento, mas após se acostumar, não terá problemas.</p>
<p>O Crontab trabalha executando comandos agendados através de minutos, horas, dias, meses e dias da semana.</p>
<p>Vamos verificar um exemplo mais prático:</p>
<ul>
<li><strong>Para executar os Minutos:</strong> Você deverá informar no script números de 0 a 59 (para todo o minuto);</li>
<li><strong>Para executar as Horas: </strong> Você deverá informar no script números de 0 a 23 (para toda hora);</li>
<li><strong>Para executar dias do mês:</strong> Você deverá informar no script números de 0 a 31 (para todo dia);</li>
<li><strong>Para executar o Mês:</strong> Você deverá informar no script números de 1 a 12 (para todo mês);</li>
<li><strong>Caso seja de seu interesse executar os dias da Semana:</strong> Você deverá informar no script números de 0 a 7 (para todo dia da semana);</li>
</ul>
<p>Após isso, execute o Comando, isto é: a tarefa que deverá ser executada através do Crontab.</p>
<p>Entendo se você disser: Puxa, complicou tudo&#8230;</p>
<p>Vamos para alguns exemplos práticos?</p>
<h2>Executando Scripts De Hora Em Hora</h2>
<p>Digamos que você queira agendar uma tarefa disponível no ficheiro &#8220;usando_crontab.php&#8221; (disponível em &#8220;/var/www&#8221;). Basta apenas executar a tarefa conforme o código a seguir:</p>
<p><pre><code><br />
<br />
00 * * * * /var/www/usando_crontab.php<br />
<br />
</code></pre></p>
<p>OBS.: No evento acima, estamos programando o script &#8220;usando_crontab.php&#8221; para ser executado todos os dias, de hora em hora sempre que chegar ao minuto &#8220;00&#8243;.</p>
<h2>Executando Scripts Diáriamente</h2>
<p>Digamos que você queira executar o script diáriamente. Você precisará seguir esse formato:</p>
<p><pre><code><br />
<br />
02 4 * * * /var/www/usando_crontab.php<br />
<br />
</code></pre></p>
<h2>Executando Script Semanalmente</h2>
<p>Para executar o script semanalmente, você precisa mudar apenas alguns detalhes (conforme código a seguir).</p>
<p><pre><code><br />
<br />
22 4 * * 0 /var/www/usando_crontab.php<br />
<br />
</code></pre></p>
<p>Bem&#8230; é algo prático, mas&#8230; vamos matar todas as dúvidas analisando um gráfico?</p>
<p>Veja o código a seguir e pense em um horário para executar seu script.</p>
<p><pre><code><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;44 3 * 3-11 1-5 root /var/www/usando_crontab.php<br />
&nbsp;&nbsp;&nbsp;&nbsp; | | |&nbsp;&nbsp; |&nbsp;&nbsp; |&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp; |<br />
&nbsp;&nbsp;&nbsp;&nbsp; | | |&nbsp;&nbsp; |&nbsp;&nbsp; |&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp; +---- comando a ser executado (com a rota)<br />
&nbsp;&nbsp;&nbsp;&nbsp; | | |&nbsp;&nbsp; |&nbsp;&nbsp; |&nbsp;&nbsp; +---------- usuário que executará o comando<br />
&nbsp;&nbsp;&nbsp;&nbsp; | | |&nbsp;&nbsp; |&nbsp;&nbsp; +-------------- dia da semana<br />
&nbsp;&nbsp;&nbsp;&nbsp; | | |&nbsp;&nbsp; +------------------ mês do ano<br />
&nbsp;&nbsp;&nbsp;&nbsp; | | +---------------------- dia do mês<br />
&nbsp;&nbsp;&nbsp;&nbsp; | +------------------------ hora<br />
&nbsp;&nbsp;&nbsp;&nbsp; +-------------------------- minuto<br />
<br />
</code></pre></p>
<p>Mais prático, não?</p>
<h2>Como Usar O PHP?</h2>
<p>Bem&#8230; a integração ao PHP é muito mais fácil e pede apenas 1 detalhe:</p>
<p>Antes de executar seu script, é necessário disponibilizar o caminho a seguir na primeira linha, para que o Crontab execute o arquivo PHP corretamente (conforme o exemplo a seguir):</p>
<p><pre><code><br />
<br />
#!/usr/bin/php<br />
<br />
</code></pre></p>
<p>Bem&#8230; não precisa fazer muita coisa. Basta apenas você elaborar o seu script e agendar no Crontab.</p>
<p>No exemplo a seguir, o ficheiro disponibiliza no ficheiro &#8220;teste.txt&#8221; os horários em que executou tarefa no Crontab.</p>
<p><pre><code><br />
<br />
#!/usr/bin/php<br />
<br />
&lt;?php<br />
<br />
file_put_contents(&quot;teste.txt&quot;, &quot;Crontab rodou em: &quot;.date(‘d/m/Y H:i’));<br />
<br />
?&gt;<br />
<br />
</code></pre></p>
<p>Prático, não?</p>
<p>Execute suas atividades e faça os ajustes necessários!</p>
<p>Acredito que mesmo se você tiver pouco tempo de Programação web, não terá dificuldades para trabalhar com esta ferramenta.
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.webmaster.pt%2Fcomo-usar-crontab-php-11963.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.webmaster.pt%2Fcomo-usar-crontab-php-11963.html&amp;source=marketocracia&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.webmaster.pt/como-usar-crontab-php-11963.html">Como Usar O Crontab Com O PHP</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>
<p>Related posts:<ol>
<li><a href='http://www.webmaster.pt/como-usar-leitor-personalizado-youtube-11686.html' rel='bookmark' title='Como Usar O Leitor Personalizado Do Youtube No Seu Site'>Como Usar O Leitor Personalizado Do Youtube No Seu Site</a></li>
<li><a href='http://www.webmaster.pt/senhas-criptografadas-7141.html' rel='bookmark' title='Senhas Criptografadas &#8211; Como Gerar E Recuperar?'>Senhas Criptografadas &#8211; Como Gerar E Recuperar?</a></li>
<li><a href='http://www.webmaster.pt/google-font-api-como-usar-5598.html' rel='bookmark' title='Google Font API: Como Usar!'>Google Font API: Como Usar!</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.webmaster.pt/como-usar-crontab-php-11963.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Como Adicionar Campos Ao Formulário Pelo Visitante</title>
		<link>http://www.webmaster.pt/adicionar-campos-formulario-visitante-11681.html</link>
		<comments>http://www.webmaster.pt/adicionar-campos-formulario-visitante-11681.html#comments</comments>
		<pubDate>Mon, 29 Nov 2010 13:28:43 +0000</pubDate>
		<dc:creator>Quemuel Aquino</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">http://www.webmaster.pt/?p=11681</guid>
		<description><![CDATA[Ao preencher o seu formulário de contato, o visitante quer indicar 2 números de telefone, mas o formulário só permite 1. Saiba como disponibilizar ao visitante a opção de adicionar novos campos ao seu formulário de contato.<p><a href="http://www.webmaster.pt/adicionar-campos-formulario-visitante-11681.html">Como Adicionar Campos Ao Formulário Pelo Visitante</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>

Related posts:<ol>
<li><a href='http://www.webmaster.pt/text-hints-campos-formulario-coolinput-12175.html' rel='bookmark' title='Text Hints Em Campos De Formulário Com CoolInput'>Text Hints Em Campos De Formulário Com CoolInput</a></li>
<li><a href='http://www.webmaster.pt/como-criar-formulario-barra-progresso-jquery-9380.html' rel='bookmark' title='Como Criar Formulário Com Barra De Progresso Em jQuery'>Como Criar Formulário Com Barra De Progresso Em jQuery</a></li>
<li><a href='http://www.webmaster.pt/formulario-contacto-jquery-511.html' rel='bookmark' title='Formulário De Contacto Com jQuery'>Formulário De Contacto Com jQuery</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Não sei se isso já aconteceu contigo, mas&#8230; você já passou por uma situação onde teve de &#8220;gerar&#8221; os campos de seu formulário através da web?</p>
<p>Uma solução muito útil para quem precisa usar formulários é você poder adicionar campos dinâmicamente.</p>
<p>Ainda não precisei fazer isso, mas para prevenir, fiz uma brincadeira, montando esse pequeno projeto.</p>
<p>Acredito que ajudará a programadores que necessitam desta solução.</p>
<h2>Porque Inserir Campos Dinâmicos?</h2>
<p>Imagine o seguinte:</p>
<p>Você precisa que seu Cliente preencha TODOS os telefones dele, só que ele tem 5 números e em seu formulário existem apenas 2 campos.</p>
<p>Certamente você terá problemas, correto?</p>
<p>Então&#8230; que tal o próprio cliente gerar este formulário, isto e: Inserindo a quantidade de campos necessárias para te enviar a mensagem?</p>
<p>É, isso é possível e você verá através desta matéria como fazer.</p>
<h2>Analisando O Ficheiro</h2>
<p>Veja através do script abaixo como podemos criar os botões para inserção do conteúdo.</p>
<p>Página Index.php:</p>
<p><pre><code><br />
<br />
&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;script type=&quot;text/javascript&quot;&gt;<br />
var qtdeCampos = 0;<br />
<br />
function addCampos() {<br />
var objPai = document.getElementById(&quot;campoPai&quot;);<br />
//Criando o elemento DIV;<br />
var objFilho = document.createElement(&quot;div&quot;);<br />
//Definindo atributos ao objFilho:<br />
objFilho.setAttribute(&quot;id&quot;,&quot;filho&quot;+qtdeCampos);<br />
<br />
//Inserindo o elemento no pai:<br />
objPai.appendChild(objFilho);<br />
//Escrevendo algo no filho recém-criado:<br />
document.getElementById(&quot;filho&quot;+qtdeCampos).innerHTML = &quot;&lt;input type=&#039;text&#039; id=&#039;campo&quot;+qtdeCampos+&quot;&#039; name=&#039;campo[]&#039; value=&#039;Campo com id: &quot;+qtdeCampos+&quot;&#039;&gt; &lt;input type=&#039;button&#039; onclick=&#039;removerCampo(&quot;+qtdeCampos+&quot;)&#039; value=&#039;Apagar campo&#039;&gt;&quot;;<br />
qtdeCampos++;<br />
}<br />
<br />
function removerCampo(id) {<br />
var objPai = document.getElementById(&quot;campoPai&quot;);<br />
var objFilho = document.getElementById(&quot;filho&quot;+id);<br />
<br />
//Removendo o DIV com id específico do nó-pai:<br />
var removido = objPai.removeChild(objFilho);<br />
}<br />
&lt;/script&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;&lt;center&gt;&lt;br&gt;&lt;h2&gt;WebMaster.PT&lt;/h2&lt;br&gt;Inserindo Campos em Formulário Dinâmico&lt;br&gt;&lt;Br&gt;<br />
&lt;form name=&quot;form1&quot; action=&quot;formulario.php&quot; method=&quot;POST&quot;&gt;<br />
&lt;div id=&quot;campoPai&quot;&gt;&lt;/div&gt;<br />
&lt;input type=&quot;button&quot; value=&quot;Adicionar campos&quot; onclick=&quot;addCampos()&quot;&gt;<br />
&lt;br&gt;&lt;br&gt;&lt;input type=&quot;submit&quot; value=&quot;Enviar&quot;&gt;<br />
&lt;/form&gt;&lt;/center&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
<br />
</code></pre></p>
<p>Veja acima que montamos toda a estrutura usando Java Script, através de funções específicas podemos inserir o conteúdo com sucesso (conforme imagens a seguir).</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/11/imagem013.jpg" alt="" width="428" height="227" class="aligncenter size-full wp-image-11682" /></p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/11/imagem022.jpg" alt="" width="473" height="273" class="aligncenter size-full wp-image-11683" /></p>
<p>Após preencher os campos de seu interesse, você poderá fazer o envio para a próxima página, onde seu formulário será gerado de forma automática (conforme ficheiro e imagem a seguir):</p>
<p><pre><code><br />
<br />
&lt;center&gt;&lt;br&gt;&lt;h2&gt;WebMaster.PT&lt;/h2&lt;br&gt;Inserindo Campos em Formulário Dinâmico&lt;br&gt;&lt;Br&gt;&lt;/center&gt;<br />
&lt;?php<br />
if(isset($_POST[&quot;campo&quot;])) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;echo &quot;&lt;br&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;b&gt;Formulário:&lt;/b&gt;&lt;br&gt;&lt;br&gt;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;form name=&#039;form&#039; method=&#039;POST&#039; action=&#039;formulario_envia.php&#039;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;table width=&#039;100%&#039; border=&#039;0&#039; cellspacing=&#039;0&#039; cellpadding=&#039;5&#039;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&quot;;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;// Faz loop pelo array dos campos:<br />
&nbsp;&nbsp;&nbsp;&nbsp;foreach($_POST[&quot;campo&quot;] as $campo) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;$nome_arquivo = $campo;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;$nome_arquivo = str_replace(&#039;E&#039;,&#039;e&#039;,$nome_arquivo);<br />
&nbsp;&nbsp;&nbsp;&nbsp;$nome_arquivo = str_replace(&#039;í&#039;,&#039;i&#039;,$nome_arquivo);<br />
&nbsp;&nbsp;&nbsp;&nbsp;$nome_arquivo = str_replace(&#039;ç&#039;,&#039;c&#039;,$nome_arquivo);<br />
&nbsp;&nbsp;&nbsp;&nbsp;$nome_arquivo = str_replace(&#039;N&#039;,&#039;n&#039;,$nome_arquivo);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo &quot;&lt;tr&gt;&lt;td&gt;$campo&lt;/td&gt; &lt;td&gt;&lt;input type=&#039;text&#039; name=&#039;campo[$nome_arquivo]&#039; size=&#039;40&#039;&gt;&lt;/td&gt;&lt;/tr&gt;&quot;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo &quot;Você não adicionou dados em nenhum campo!&quot;;<br />
}<br />
<br />
echo &quot;&lt;tr&gt;&lt;td colspan=&#039;2&#039;&gt;&lt;center&gt;&lt;input type=&#039;submit&#039; name=&#039;submit&#039; value=&#039;enviar&#039;&gt;&lt;/center&gt;&lt;/td&gt;&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/table&gt;&lt;/form&gt;&quot;;<br />
<br />
?&gt;<br />
<br />
</code></pre></p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/11/imagem031.jpg" alt="" width="399" height="372" class="aligncenter size-full wp-image-11684" /></p>
<p>Vamos conferir como ficou o código fonte da página?</p>
<p><pre><code><br />
<br />
&lt;center&gt;&lt;br&gt;&lt;h2&gt;WebMaster.PT&lt;/h2&lt;br&gt;Inserindo Campos em Formulário Dinâmico&lt;br&gt;&lt;Br&gt;&lt;/center&gt;<br />
&lt;br&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;b&gt;Formulário:&lt;/b&gt;&lt;br&gt;&lt;br&gt;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;form name=&#039;form&#039; method=&#039;POST&#039; action=&#039;formulario_envia.php&#039;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;table width=&#039;100%&#039; border=&#039;0&#039; cellspacing=&#039;0&#039; cellpadding=&#039;5&#039;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;&lt;td&gt;Nome&lt;/td&gt; &lt;td&gt;&lt;input type=&#039;text&#039; name=&#039;campo[nome]&#039; size=&#039;40&#039;&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Endereço&lt;/td&gt; &lt;td&gt;&lt;input type=&#039;text&#039; name=&#039;campo[endereco]&#039; size=&#039;40&#039;&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Telefone&lt;/td&gt; &lt;td&gt;&lt;input type=&#039;text&#039; name=&#039;campo[Telefone]&#039; size=&#039;40&#039;&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&#039;2&#039;&gt;&lt;center&gt;&lt;input type=&#039;submit&#039; name=&#039;submit&#039; value=&#039;enviar&#039;&gt;&lt;/center&gt;&lt;/td&gt;&lt;/tr&gt;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/table&gt;&lt;/form&gt;<br />
<br />
</code></pre></p>
<p>OBS.: Veja que acima após recebermos o conteúdo do array através de um loop, &#8220;limpei&#8221; o código, de forma que ele não aceite algumas letras maiúsculas e o cedilha.</p>
<p>Bem&#8230; você poderá melhorar esse script página criando a página &#8220;formulario_envia.php&#8221; e customizá-lo de acordo com suas necessidades.</p>
<p>Para fazer isso, basta você entender um pouco de trabalhos com &#8220;array&#8221; e não terá qualquer problema.</p>
<p>Espero que este ficheiro lhe ajude em algo.</p>
<p>Download do código usado neste tutorial > <a href='http://www.webmaster.pt/wp-content/uploads/2010/11/ficheiros7.zip'>Adicionar Campos Ao Formulário Pelo Visitante</a>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.webmaster.pt%2Fadicionar-campos-formulario-visitante-11681.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.webmaster.pt%2Fadicionar-campos-formulario-visitante-11681.html&amp;source=marketocracia&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.webmaster.pt/adicionar-campos-formulario-visitante-11681.html">Como Adicionar Campos Ao Formulário Pelo Visitante</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>
<p>Related posts:<ol>
<li><a href='http://www.webmaster.pt/text-hints-campos-formulario-coolinput-12175.html' rel='bookmark' title='Text Hints Em Campos De Formulário Com CoolInput'>Text Hints Em Campos De Formulário Com CoolInput</a></li>
<li><a href='http://www.webmaster.pt/como-criar-formulario-barra-progresso-jquery-9380.html' rel='bookmark' title='Como Criar Formulário Com Barra De Progresso Em jQuery'>Como Criar Formulário Com Barra De Progresso Em jQuery</a></li>
<li><a href='http://www.webmaster.pt/formulario-contacto-jquery-511.html' rel='bookmark' title='Formulário De Contacto Com jQuery'>Formulário De Contacto Com jQuery</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.webmaster.pt/adicionar-campos-formulario-visitante-11681.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Como Monitorar Servidores E Estações De Usuários Em PHP</title>
		<link>http://www.webmaster.pt/como-monitorar-servidores-php-11263.html</link>
		<comments>http://www.webmaster.pt/como-monitorar-servidores-php-11263.html#comments</comments>
		<pubDate>Mon, 22 Nov 2010 09:49:09 +0000</pubDate>
		<dc:creator>Quemuel Aquino</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">http://www.webmaster.pt/?p=11263</guid>
		<description><![CDATA[Aprenda a criar um script para monitorar servidores e estações de trabalho.<p><a href="http://www.webmaster.pt/como-monitorar-servidores-php-11263.html">Como Monitorar Servidores E Estações De Usuários Em PHP</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>

Related posts:<ol>
<li><a href='http://www.webmaster.pt/como-validar-formulario-8269.html' rel='bookmark' title='Como Validar Formulário'>Como Validar Formulário</a></li>
<li><a href='http://www.webmaster.pt/como-criar-sistema-o-s-orcamentos-parte2-9287.html' rel='bookmark' title='Como Criar Sistema De O.S. / Orçamentos Parte2'>Como Criar Sistema De O.S. / Orçamentos Parte2</a></li>
<li><a href='http://www.webmaster.pt/como-criar-rss-feed-6376.html' rel='bookmark' title='Como Criar Um RSS Feed No Seu Site'>Como Criar Um RSS Feed No Seu Site</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>A primeira atitude que qualquer administrador de redes toma quando pretende analisar sua rede é verificar através de sistemas de monitoramento se seus Servidores e Estações de Usuários estão respondendo ok.</p>
<p>Uma das formas de se analisar é executando o comando ping que é um dos comandos DOS mais conhecidos. </p>
<p>Claro que existem vários métodos de se executar tais integridades, mas com certeza tudo se torna mais prático quando você tem um sistema que faz a varredura e lhe informa quando a estação não está online.</p>
<p>Na matéria de hoje estaremos mostrando como elaborar este tipo de sistema que pode gerenciar facilmente sua rede de computadores.</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/11/servidor.jpg" alt="servidor" title="servidor" width="462" height="260" class="aligncenter size-full wp-image-11498" /></p>
<h2>Criando A Lista De Servidores</h2>
<p>Antes de nos preocuparmos em monitorar a rede, precisamos levantar informações sobre os terminais, tais como:</p>
<ul>
<li>Nome do Operador;</li>
<li>Nome do Computador;</li>
<li>IP do computador;</li>
<li>Departamento que pertence;</li>
<li>Tipo de máquina (se Servidor ou Estação de Usuário).</li>
</ul>
<p>Após levantar tais informações, podemos elaborar uma lista que pode ser detalhada em .XLS ou algum outro documento que facilite nossos serviços, correto?</p>
<p>Para nossa solução, não muda muita coisa. Precisamos apenas organizar uma lista com o IP e NOME de cada computador.</p>
<p>Por esse motivo, estaremos criando um ficheiro com o nome &#8220;servidor.php&#8221; e organizando a lista com cada computador (conforme o ficheiro a seguir).</p>
<p><pre><code><br />
&lt;?<br />
<br />
# IP : nome do servidor<br />
<br />
# S -&gt; servidor<br />
# R -&gt; roteador<br />
# P -&gt; impressora<br />
<br />
$servidor[] = &quot;187.108.192.23:empresasnainternet.com.br:S&quot;; # servidor (S)<br />
$servidor[] = &quot;187.108.192.23:qsasolucoescorporativas.com.br:S&quot;; # servidor (S)<br />
$servidor[] = &quot;187.108.192.23:repupo.com.br:S&quot;; # servidor (S)<br />
$servidor[] = &quot;74.86.244.168:webmasterphp.org:S&quot;; # servidor (S)<br />
$servidor[] = &quot;67.228.213.188:webmaster.pt:S&quot;; # servidor (S)<br />
$servidor[] = &quot;192.168.0.2:samara:S&quot;; # servidor (S)<br />
$servidor[] = &quot;192.169.0.10:roteador:R&quot;; # roteador (R)<br />
$servidor[] = &quot;192.168.0.11:DNS2:P&quot;; # impressora (P)<br />
<br />
?&gt;<br />
</code></pre></p>
<p>OBS.: Acima montei um exemplo com alguns Servidores que monitoro. </p>
<p>É IMPORTANTE LEMBRAR QUE: Os Servidores só serão monitorados, caso a rede dê as permissões devidas.</p>
<p>Ex.: Em alguns Servidores Linux, você só consegue monitorar se um Servidor externo está funcionando, se houver a liberação devida.</p>
<p>Preenchido o conteúdo a ser monitorado, vamos agora criar a página onde as informações aparecerão.</p>
<h2>Criando A Página De Apresentação</h2>
<p>A página externa pode ser adaptada conforme suas necessidades.</p>
<p>Para esta matéria, usamos um conteúdo simples que pode facilitar suas atividades.</p>
<p><strong>1 &#8211; Atualização da página</strong></p>
<p>Para sua página manter uma atualização constante, disponibilizamos o código a seguir, que atualizará a cada 60 segundos.</p>
<p><pre><code><br />
<br />
&lt;META HTTP-EQUIV=&quot;Refresh&quot; CONTENT=&quot;60&quot;&gt;<br />
<br />
</code></pre></p>
<p><strong>2 &#8211; Email do Administrador</strong></p>
<p>Na linha a seguir, você poderá inserir o email que receberá as mensagens com logs das atividades executadas:</p>
<p><pre><code><br />
<br />
$email_admin = &quot;seu email&quot;;<br />
<br />
</code></pre></p>
<p>Bem&#8230; veja abaixo o código da página &#8220;index.php&#8221; como deverá ficar:</p>
<p><pre><code><br />
<br />
&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;<br />
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=ISO-8859-1&quot;&gt;<br />
&lt;META HTTP-EQUIV=&quot;Refresh&quot; CONTENT=&quot;60&quot;&gt;<br />
<br />
&lt;title&gt;.:: WEBMASTER.PT :: Redes de Computadores e o PHP ::.&lt;/title&gt;<br />
<br />
&lt;link rel=&quot;stylesheet&quot; href=&quot;3col_rightNav.css&quot; type=&quot;text/css&quot;&gt;<br />
&lt;/head&gt;&lt;body&gt;<br />
&lt;div id=&quot;masthead&quot;&gt;<br />
&nbsp;&nbsp;&lt;h1 id=&quot;siteName&quot;&gt;WEBMASTER.PT&lt;/h1&gt;<br />
&nbsp;&nbsp;&lt;h2 id=&quot;pageName&quot;&gt;Redes de Computadores e o PHP&lt;/h2&gt;<br />
&lt;/div&gt;<br />
&lt;div id=&quot;content&quot;&gt;<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;h2&gt;Monitoramento das estações / Servidores&lt;/h2&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=&quot;story&quot;&gt;<br />
&lt;?<br />
<br />
// altere a linha abaixo com seu email<br />
$email_admin = &quot;seu email&quot;;<br />
<br />
// inclui o ficheiro SERVIDOR.PHP<br />
include &quot;servidor.php&quot;;<br />
<br />
if(isset($servidor)){<br />
<br />
# inicio as variáveis<br />
$l = 0;<br />
$server_out = &quot;&quot;;<br />
$f = 0;<br />
$alerta = &quot;&quot;;<br />
<br />
for($i = 0; $i &lt; count($servidor); $i++){<br />
<br />
$linha = explode(&quot;:&quot;,$servidor[$i]);<br />
$l++;<br />
<br />
# executo o ping e verifico se retornou algum byte<br />
$stream = shell_exec(&quot;ping -c 1 -t 1 &quot;.$linha[0]);<br />
<br />
# se não retornou eu adiciono um contador, exibo na tela em vermelho os dados do servidor, impressoa ou roteador<br />
if(!ereg(&quot;bytes from&quot;,$stream)){<br />
$a = &quot;I&quot;;<br />
$f++;<br />
echo &quot;<br />
<br />
&lt;h2&gt;&quot;.$linha[1].&quot;&lt;/h2&gt;<br />
IP: &quot;.$linha[0].&quot;<br />
&quot;.&quot;Status:&quot;;<br />
<br />
$server_out .= &quot;Nome: &quot;.$linha[1].&quot;<br />
IP: &quot;.$linha[0].&quot;<br />
<br />
&quot;;<br />
<br />
# Adiciono mais uma tentativa ao meu contador, um arquivo texto desse servidor<br />
if(!file_exists(&quot;./&quot;.$linha[0].&quot;.txt&quot;)) shell_exec(&#039;touch &#039;.$linha[0].&quot;.txt&quot;);<br />
<br />
$fp = fopen(&quot;./&quot;.$linha[0].&quot;.txt&quot;, &quot;r+&quot;);<br />
$t = fread($fp,2);<br />
fclose($fp);<br />
<br />
# se já houve mais de 35 tentativas, envio um e-mail e zero o contador, lembrando que cada tentativa, tem um intervalo de 1 minuto<br />
if($t &gt;= 35){<br />
$t = 3;<br />
$alerta = &quot;ATENÇÃO, OUTROS ALERTAS JÁ FORAM EMITIDOS PARA ESSE(S) SERVIDOR(S):&quot;;<br />
}else<br />
$t++;<br />
<br />
# Caso seja o primeiro alerta (depois da 3ª tentativa ele envia um e-mail)<br />
if($t == 4 &amp;&amp; !$alerta)<br />
$alerta = &quot;PRIMEIRO ALERTA! (3ª tentativa)&quot;;<br />
<br />
$fp = fopen(&quot;./&quot;.$linha[0].&quot;.txt&quot;, &quot;w&quot;);<br />
fwrite($fp, $t);<br />
<br />
fclose($fp);<br />
<br />
# Gravar Log Erro<br />
$fp2 = fopen(&quot;./ERR_&quot;.date(&quot;d-m-Y&quot;).&quot;.txt&quot;, &quot;a+&quot;);<br />
$txt = &quot;\n&quot;.date(&quot;d/m/Y - H:i:s&quot;).&quot;&nbsp;&nbsp;\t\t&quot;.$linha[0].&quot; \t\t&quot;.$linha[1];<br />
fwrite($fp2, $txt);<br />
<br />
fclose($fp2);<br />
<br />
}<br />
<br />
# se não houve erro, ele exclui o arquivo de texto (contador) caso esteja criado pois o servidor voltou a responder, então exibo a tela com as informações normais como nome, ip, status e o desenho.<br />
else{<br />
echo &quot;<br />
<br />
&lt;h2&gt;&quot;.$linha[1].&quot;&lt;/h2&gt;<br />
IP: &quot;.$linha[0].&quot;<br />
&quot;.&quot;Status:&quot;;<br />
<br />
# Apaga o arquivo caso esteja pingando<br />
if(file_exists(&quot;./&quot;.$linha[0].&quot;.txt&quot;)) unlink(&quot;./&quot;.$linha[0].&quot;.txt&quot;);<br />
<br />
$a = &quot;A&quot;;<br />
<br />
# gravo o acerto - só para ter um log<br />
# Gravar Log Acerto<br />
$fp2 = fopen(&quot;./OK_&quot;.date(&quot;d-m-Y&quot;).&quot;.txt&quot;, &quot;a+&quot;);<br />
$txt = &quot;\n&quot;.date(&quot;d/m/Y - H:i:s&quot;).&quot;&nbsp;&nbsp;\t\t&quot;.$linha[0].&quot; \t\t&quot;.$linha[1];<br />
fwrite($fp2, $txt);<br />
<br />
fclose($fp2);<br />
}<br />
echo (ereg(&quot;bytes from&quot;,$stream))?&quot; Ativo&quot;:&quot; Não responde ao ping&quot;;<br />
<br />
echo &quot; &quot;;<br />
<br />
if($l == 4){<br />
echo &quot;<br />
<br />
&quot;;<br />
$l = 0;<br />
}<br />
<br />
}<br />
<br />
# Preparando para o envio de e-mail<br />
<br />
if(isset($server_out) &amp;&amp; $server_out &amp;&amp; isset($alerta) &amp;&amp; $alerta){<br />
if($f = 1) $server_out = &quot;&quot;.$alerta.&quot;<br />
<br />
Os Servidores abaixo encontram-se indisponível:<br />
<br />
&quot;.$server_out;<br />
if($f &gt; 1) $server_out = &quot;&quot;.$alerta.&quot;<br />
<br />
Os Servidores abaixo encontram-se indisponíveis:<br />
<br />
&quot;.$server_out;<br />
<br />
# formatando um e-mail, com uma tabela e as informações a serem enviadas<br />
$assunto = &quot;ALERTA - Monitoramento de Servidores&quot;;<br />
$msg = &quot;<br />
<br />
Alerta: &quot;.date(&quot;d/m/Y - H:i:s&quot;).&quot;<br />
<br />
&quot;.$server_out.&quot;<br />
<br />
Sistema de Monitoramento&lt;br&gt;QSA Soluções Corporativas<br />
<br />
Este é um e-mail automático, por favor não responda essa mensagem.<br />
<br />
&quot;;<br />
<br />
//adicionando o html no corpo do email<br />
echo &quot;<br />
&quot;;<br />
<br />
//enviando e retornando o status de envio<br />
if(mail($email_admin,$assunto,$msg))<br />
echo &quot;Alerta Enviado para (Seu email)&quot;;<br />
else<br />
echo &quot;Houve um erro ao&nbsp;&nbsp;enviar o email! &quot;.$mail-&gt;ErrorInfo;<br />
<br />
echo &quot; &quot;;<br />
<br />
}<br />
<br />
}<br />
?&gt;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;<br />
<br />
&lt;/div&gt;<br />
&lt;/body&gt;&lt;/html&gt;<br />
<br />
</code></pre></p>
<p>OBS.: O sistema deverá criar arquivos .txt que gravarão logs e informações das atividades executadas.</p>
<p>Caso você queira, poderá inserir novos recursos neste ficheiro. Só não se esqueça de efetuar liberações no Servidor para leitura das máquinas da Rede e o envio periódico das mensagens.</p>
<p><strong>Download Do Código Usado Neste Tutorial</strong>: <a href='http://www.webmaster.pt/wp-content/uploads/2010/11/ficheiros.zip'>Como Monitorar Servidores E Estações De Usuários</a>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.webmaster.pt%2Fcomo-monitorar-servidores-php-11263.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.webmaster.pt%2Fcomo-monitorar-servidores-php-11263.html&amp;source=marketocracia&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.webmaster.pt/como-monitorar-servidores-php-11263.html">Como Monitorar Servidores E Estações De Usuários Em PHP</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>
<p>Related posts:<ol>
<li><a href='http://www.webmaster.pt/como-validar-formulario-8269.html' rel='bookmark' title='Como Validar Formulário'>Como Validar Formulário</a></li>
<li><a href='http://www.webmaster.pt/como-criar-sistema-o-s-orcamentos-parte2-9287.html' rel='bookmark' title='Como Criar Sistema De O.S. / Orçamentos Parte2'>Como Criar Sistema De O.S. / Orçamentos Parte2</a></li>
<li><a href='http://www.webmaster.pt/como-criar-rss-feed-6376.html' rel='bookmark' title='Como Criar Um RSS Feed No Seu Site'>Como Criar Um RSS Feed No Seu Site</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.webmaster.pt/como-monitorar-servidores-php-11263.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Sistema de Gestão de Auto Escola &#8211; Parte 2</title>
		<link>http://www.webmaster.pt/sistema-gestao-auto-escola-parte2-11405.html</link>
		<comments>http://www.webmaster.pt/sistema-gestao-auto-escola-parte2-11405.html#comments</comments>
		<pubDate>Thu, 18 Nov 2010 16:22:05 +0000</pubDate>
		<dc:creator>Quemuel Aquino</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">http://www.webmaster.pt/?p=11405</guid>
		<description><![CDATA[Script para gestão duma auto escola. Inclui código para download. Parte2.<p><a href="http://www.webmaster.pt/sistema-gestao-auto-escola-parte2-11405.html">Sistema de Gestão de Auto Escola &#8211; Parte 2</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>

Related posts:<ol>
<li><a href='http://www.webmaster.pt/como-criar-sistema-o-s-orcamentos-parte1-9272.html' rel='bookmark' title='Como Criar Sistema De O.S. / Orçamentos Parte1'>Como Criar Sistema De O.S. / Orçamentos Parte1</a></li>
<li><a href='http://www.webmaster.pt/sistema-gestao-auto-escolas-parte1-10436.html' rel='bookmark' title='Sistema De Gestão De Auto Escolas &#8211; Parte1'>Sistema De Gestão De Auto Escolas &#8211; Parte1</a></li>
<li><a href='http://www.webmaster.pt/alterar-meta-tags-seo-php-12145.html' rel='bookmark' title='Como Alterar As Meta Tags Para SEO Com PHP'>Como Alterar As Meta Tags Para SEO Com PHP</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Na matéria anterior demos uma prévia de como funciona um Sistema para Gestão de Auto Escola:</p>
<ul>
<li><a href="http://www.webmaster.pt/sistema-gestao-auto-escolas-parte1-10436.html">Sistema De Gestão De Auto Escolas – Parte1</a></li>
</ul>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/11/auto_escola.jpg" alt="auto escola" title="auto escola" width="600" height="291" class="aligncenter size-full wp-image-11449" /></p>
<p>Hoje estaremos complementando esta matéria, falando um pouco sobre seu conteúdo e postando ao final os ficheiros para que tu possas testar.</p>
<h2>Configurando A Base de Dados</h2>
<p>Antes de tudo, é necessário configurar a base de dados. </p>
<p>Com o BD já criado, acesse o ficheiro &#8220;config.php&#8221; que está disponível dentro do diretório &#8220;config&#8221; e configure o ficheiro alterando as informações de acesso à base de dados (conforme script a seguir).</p>
<p><pre><code><br />
<br />
&lt;?<br />
header(&quot;Cache-Control: no-cache, must-revalidate&quot;);&nbsp;&nbsp;<br />
<br />
// Configurações de acesso ao banco de dados<br />
$host&nbsp;&nbsp; = &quot;SERVIDOR&quot;;&nbsp;&nbsp;&nbsp;&nbsp;#host do mysql<br />
$user&nbsp;&nbsp; = &quot;USUARIO&quot;;&nbsp;&nbsp;&nbsp;&nbsp; #usuário mysql<br />
$pass&nbsp;&nbsp; = &quot;SENHA&quot;;&nbsp;&nbsp;&nbsp;&nbsp;#senha mysql<br />
$banco&nbsp;&nbsp; = &quot;DATABASE&quot;;&nbsp;&nbsp;#nome do banco de dados<br />
<br />
# Configurações de Login<br />
$table&nbsp;&nbsp; = &quot;login&quot;;&nbsp;&nbsp;&nbsp;&nbsp; # Tabela onde que conteu os dados do usuario<br />
$pagina = &quot;home.php&quot;;&nbsp;&nbsp; #página principal da área restrita... para a qual o usuário será redirecionado ao se logar<br />
<br />
/*<br />
 Se foi instalado numa subpasta de um site informe o nome da pasta<br />
exemplos:<br />
$pasta = &quot;sistema/autoescola&quot;;<br />
$pasta = &quot;autoescola&quot;;<br />
*/<br />
$pasta = &quot;auto_escola&quot;;<br />
<br />
// Configuracoes do componente usado para gerar os relatorios em PDF<br />
define(&#039;FPDF_FONTPATH&#039;, $DOCUMENT_ROOT . $pasta . &#039;/componentes/fpdf/font/&#039;);<br />
<br />
// Arquivos de inclusão de componentes<br />
require &quot;componentes/funcoes.php&quot;;<br />
require &quot;componentes/db.php&quot;;<br />
<br />
?&gt;<br />
<br />
</code></pre></p>
<p>OBS.: No ficheiro acima, é necessário apenas configurar os dados de acesso à base de dados.</p>
<p>Caso seja de seu interesse alterar o nome do diretório principal (que está como &#8220;auto_escola&#8221;), efetue as alterações também neste ficheiro.</p>
<p>Após a configuração, vamos agora criar a tabela que será usada!</p>
<h2>Criando A Tabela Na Base De Dados</h2>
<p>Para configurar a base de dados através do script, abra o ficheiro script-sql.txt (disponível em anexo) e cole seu conteúdo no Programa utilizado para gerenciamento da base de dados.</p>
<p>Em nossas matérias utilizamos como padrão o MySQLFront. Caso tu também esteja utilizando este programa, clique em SQL Editor e cole o conteúdo do script (conforme disponibilizado a seguir).</p>
<p><pre><code><br />
<br />
----- CONFIGURANDO AS TABELAS -----<br />
<br />
CREATE TABLE `abastecimento` (<br />
&nbsp;&nbsp;`codigo` int(8) unsigned NOT NULL auto_increment,<br />
&nbsp;&nbsp;`data` date default NULL,<br />
&nbsp;&nbsp;`veiculo` int(8) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;`valorlitro` double default &#039;0&#039;,<br />
&nbsp;&nbsp;`total` double default &#039;0&#039;,<br />
&nbsp;&nbsp;`kmanterior` int(8) default &#039;0&#039;,<br />
&nbsp;&nbsp;`kmabastecimento` int(8) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;`usuario` int(8) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`codigo`)<br />
);<br />
<br />
CREATE TABLE `aulas` (<br />
&nbsp;&nbsp;`codigo` int(9) unsigned NOT NULL auto_increment,<br />
&nbsp;&nbsp;`matricula` int(9) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;`instrutor` int(9) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;`veiculo` int(9) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;`data` date default &#039;0000-00-00&#039;,<br />
&nbsp;&nbsp;`historico` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`horainicio` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`horatermino` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`kminicial` int(8) default &#039;0&#039;,<br />
&nbsp;&nbsp;`avaliacao` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`usuario` int(9) unsigned default NULL,<br />
&nbsp;&nbsp;`kmfinal` int(8) unsigned default NULL,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`codigo`)<br />
);<br />
<br />
INSERT INTO `aulas` (`codigo`,`matricula`,`instrutor`,`veiculo`,`data`,`historico`,`horainicio`,`horatermino`,`kminicial`,`avaliacao`,`usuario`,`kmfinal`) VALUES (3,7,0,1,&#039;2010-11-04&#039;,&#039;aaaa&#039;,&#039;08:00&#039;,&#039;10:00&#039;,100,&#039;Bom&#039;,1,200);<br />
INSERT INTO `aulas` (`codigo`,`matricula`,`instrutor`,`veiculo`,`data`,`historico`,`horainicio`,`horatermino`,`kminicial`,`avaliacao`,`usuario`,`kmfinal`) VALUES (4,5,0,1,&#039;2010-11-05&#039;,&#039;hist&#039;,&#039;08:00&#039;,&#039;10:00&#039;,100,&#039;Bom&#039;,1,200);<br />
INSERT INTO `aulas` (`codigo`,`matricula`,`instrutor`,`veiculo`,`data`,`historico`,`horainicio`,`horatermino`,`kminicial`,`avaliacao`,`usuario`,`kmfinal`) VALUES (5,5,0,1,&#039;2010-11-05&#039;,&#039;fnvnfi&#039;,&#039;08:00&#039;,&#039;10:00&#039;,100,&#039;Bom&#039;,1,220);<br />
INSERT INTO `aulas` (`codigo`,`matricula`,`instrutor`,`veiculo`,`data`,`historico`,`horainicio`,`horatermino`,`kminicial`,`avaliacao`,`usuario`,`kmfinal`) VALUES (6,5,0,1,&#039;2010-11-05&#039;,&#039;testeee3&#039;,&#039;08:00&#039;,&#039;10:00&#039;,100,&#039;Bom&#039;,1,200);<br />
<br />
CREATE TABLE `cargos` (<br />
&nbsp;&nbsp;`codigo` int(9) unsigned NOT NULL auto_increment,<br />
&nbsp;&nbsp;`cargo` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`codigo`)<br />
);<br />
<br />
INSERT INTO `cargos` (`codigo`,`cargo`) VALUES (1,&#039;Secretária&#039;);<br />
INSERT INTO `cargos` (`codigo`,`cargo`) VALUES (2,&#039;Motorista&#039;);<br />
INSERT INTO `cargos` (`codigo`,`cargo`) VALUES (3,&#039;Telefonista&#039;);<br />
<br />
CREATE TABLE `clientes` (<br />
&nbsp;&nbsp;`codigo` int(5) unsigned NOT NULL auto_increment,<br />
&nbsp;&nbsp;`nome` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`endereco` varchar(100) default &#039;0&#039;,<br />
&nbsp;&nbsp;`complemento` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`bairro` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`cep` int(10) default &#039;0&#039;,<br />
&nbsp;&nbsp;`cidade` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`estado` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`fone` varchar(10) default &#039;0&#039;,<br />
&nbsp;&nbsp;`celular` varchar(15) default &#039;0&#039;,<br />
&nbsp;&nbsp;`fonecomercial` varchar(15) default &#039;0&#039;,<br />
&nbsp;&nbsp;`fax` varchar(15) default &#039;0&#039;,<br />
&nbsp;&nbsp;`email` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`nascimento` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`rg` varchar(15) default &#039;0&#039;,<br />
&nbsp;&nbsp;`cpf` varchar(30) default &#039;0&#039;,<br />
&nbsp;&nbsp;`sexo` int(3) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;`estadocivil` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`pai` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`mae` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`nacionalidade` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`naturalidade` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`escolaridade` int(9) default &#039;0&#039;,<br />
&nbsp;&nbsp;`profissao` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`usuario` int(9) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`codigo`)<br />
);<br />
<br />
INSERT INTO `clientes` (`codigo`,`nome`,`endereco`,`complemento`,`bairro`,`cep`,`cidade`,`estado`,`fone`,`celular`,`fonecomercial`,`fax`,`email`,`nascimento`,`rg`,`cpf`,`sexo`,`estadocivil`,`pai`,`mae`,`nacionalidade`,`naturalidade`,`escolaridade`,`profissao`,`usuario`) VALUES (1,&#039;Cliente de Teste 1&#039;,&#039;Rua x&#039;,&#039;&#039;,&#039;Jd. Campos Elíseos&#039;,13060,&#039;Campinas&#039;,&#039;SP&#039;,&#039;19 3387-59&#039;,&#039;19 9117-9938&#039;,&#039;19 3037-1648&#039;,&#039;&#039;,&#039;comandosusa@gmail.com&#039;,&#039;04/07/1977&#039;,&#039;1655805&#039;,&#039;123.456.789-89&#039;,0,&#039;s&#039;,&#039;Carlos Eduardo Filho&#039;,&#039;mae&#039;,&#039;Brasileira&#039;,&#039;Rio de Janeiro&#039;,5,&#039;Web Master&#039;,1);<br />
<br />
CREATE TABLE `conta` (<br />
&nbsp;&nbsp;`codigo` int(3) unsigned NOT NULL auto_increment,<br />
&nbsp;&nbsp;`banco` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`numeroconta` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`numeroagencia` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`descricao` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`usuario` int(9) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`codigo`)<br />
);<br />
<br />
CREATE TABLE `exames` (<br />
&nbsp;&nbsp;`codigo` int(9) unsigned NOT NULL auto_increment,<br />
&nbsp;&nbsp;`exame` varchar(15) default &#039;0&#039;,<br />
&nbsp;&nbsp;`usuario` int(9) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`codigo`)<br />
);<br />
<br />
INSERT INTO `exames` (`codigo`,`exame`,`usuario`) VALUES (1,&#039;psico&#039;,7);<br />
<br />
CREATE TABLE `fechamentocaixa` (<br />
&nbsp;&nbsp;`codigo` int(9) unsigned NOT NULL auto_increment,<br />
&nbsp;&nbsp;`data` date default &#039;0000-00-00&#039;,<br />
&nbsp;&nbsp;`valor` double default &#039;0&#039;,<br />
&nbsp;&nbsp;`usuario` int(9) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`codigo`)<br />
);<br />
<br />
CREATE TABLE `funcionarios` (<br />
&nbsp;&nbsp;`codigo` int(9) unsigned NOT NULL auto_increment,<br />
&nbsp;&nbsp;`cod_veiculo` int(11) default NULL,<br />
&nbsp;&nbsp;`nome` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`endereco` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`bairro` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`cep` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`cidade` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`estado` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`cargo` int(9) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;`fone` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`nascimento` char(11) default NULL,<br />
&nbsp;&nbsp;`rg` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`cpf` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`estadocivil` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`sexo` int(9) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;`email` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`datadmissao` char(11) default &#039;0000-00-00&#039;,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`codigo`)<br />
);<br />
<br />
INSERT INTO `funcionarios` (`codigo`,`cod_veiculo`,`nome`,`endereco`,`bairro`,`cep`,`cidade`,`estado`,`cargo`,`fone`,`nascimento`,`rg`,`cpf`,`estadocivil`,`sexo`,`email`,`datadmissao`) VALUES (8,1,&#039;Marcelo Rezende&#039;,&#039;Rua X&#039;,&#039;Jd. Nogueira&#039;,&#039;12322-000&#039;,&#039;Campinas&#039;,&#039;PI&#039;,2,&#039;19 3387-5956&#039;,&#039;1977-07-04&#039;,&#039;123.123-89&#039;,&#039;123.456.789-89&#039;,&#039;c&#039;,1,&#039;comandosusa@ymail.com&#039;,&#039;2010-01-10&#039;);<br />
<br />
CREATE TABLE `login` (<br />
&nbsp;&nbsp;`codigo` int(9) unsigned NOT NULL auto_increment,<br />
&nbsp;&nbsp;`login` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`senha` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`nivel` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`funcionario` int(9) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;`usuario` int(9) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`codigo`)<br />
);<br />
<br />
INSERT INTO `login` (`codigo`,`login`,`senha`,`nivel`,`funcionario`,`usuario`) VALUES (16,&#039;admin&#039;,&#039;admin&#039;,&#039;0&#039;,1,0);<br />
<br />
CREATE TABLE `manutencoes` (<br />
&nbsp;&nbsp;`codigo` int(11) NOT NULL auto_increment,<br />
&nbsp;&nbsp;`instrutor` varchar(255) default NULL,<br />
&nbsp;&nbsp;`veiculo` varchar(255) default NULL,<br />
&nbsp;&nbsp;`data` char(10) default NULL,<br />
&nbsp;&nbsp;`servicos` varchar(255) default NULL,<br />
&nbsp;&nbsp;`executor` varchar(255) default NULL,<br />
&nbsp;&nbsp;`valor` varchar(255) default NULL,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`codigo`)<br />
);<br />
<br />
INSERT INTO `manutencoes` (`codigo`,`instrutor`,`veiculo`,`data`,`servicos`,`executor`,`valor`) VALUES (1,&#039;2&#039;,&#039;1&#039;,&#039;--&#039;,&#039;lavagem&#039;,&#039;leticia&#039;,&#039;1000&#039;);<br />
INSERT INTO `manutencoes` (`codigo`,`instrutor`,`veiculo`,`data`,`servicos`,`executor`,`valor`) VALUES (2,&#039;2&#039;,&#039;1&#039;,&#039;----//&#039;,&#039;bbbb&#039;,&#039;lele&#039;,&#039;100&#039;);<br />
INSERT INTO `manutencoes` (`codigo`,`instrutor`,`veiculo`,`data`,`servicos`,`executor`,`valor`) VALUES (3,&#039;2&#039;,&#039;1&#039;,&#039;2010-11-05&#039;,&#039;lavar&#039;,&#039;lets&#039;,&#039;25&#039;);<br />
INSERT INTO `manutencoes` (`codigo`,`instrutor`,`veiculo`,`data`,`servicos`,`executor`,`valor`) VALUES (4,&#039;2&#039;,&#039;1&#039;,&#039;2010-11-05&#039;,&#039;lavar&#039;,&#039;let&#039;,&#039;25&#039;);<br />
INSERT INTO `manutencoes` (`codigo`,`instrutor`,`veiculo`,`data`,`servicos`,`executor`,`valor`) VALUES (5,&#039;2&#039;,&#039;1&#039;,&#039;2010-11-04&#039;,&#039;bbbb&#039;,&#039;lele&#039;,&#039;100&#039;);<br />
<br />
CREATE TABLE `matriculacfc` (<br />
&nbsp;&nbsp;`codigo` int(9) unsigned NOT NULL auto_increment,<br />
&nbsp;&nbsp;`cliente` varchar(20) default &#039;0&#039;,<br />
&nbsp;&nbsp;`turma` int(9) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;`categoria` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`tipo` int(9) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;`data` date default &#039;0000-00-00&#039;,<br />
&nbsp;&nbsp;`plano` int(9) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;`taxa` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`entrada` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`parcelas` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`valorparcela` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`status` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`codigo`)<br />
);<br />
<br />
INSERT INTO `matriculacfc` (`codigo`,`cliente`,`turma`,`categoria`,`tipo`,`data`,`plano`,`taxa`,`entrada`,`parcelas`,`valorparcela`,`status`) VALUES (22,&#039;123.456.789-89&#039;,11,&#039;A&#039;,1,&#039;2010-10-07&#039;,0,&#039;0&#039;,&#039;100,00&#039;,&#039;5&#039;,&#039;200,00&#039;,&#039;0&#039;);<br />
<br />
CREATE TABLE `pagamentos` (<br />
&nbsp;&nbsp;`codigo` int(9) unsigned NOT NULL auto_increment,<br />
&nbsp;&nbsp;`aluno` int(9) default &#039;0&#039;,<br />
&nbsp;&nbsp;`data` date default &#039;0000-00-00&#039;,<br />
&nbsp;&nbsp;`tipo` int(9) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;`descricao` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`valor` double default &#039;0&#039;,<br />
&nbsp;&nbsp;`usuario` int(9) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`codigo`)<br />
);<br />
<br />
CREATE TABLE `parcelasplanos` (<br />
&nbsp;&nbsp;`codigo` int(9) unsigned NOT NULL auto_increment,<br />
&nbsp;&nbsp;`plano` int(9) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;`parcelas` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`valorsemtaxa` double default &#039;0&#039;,<br />
&nbsp;&nbsp;`valorcomtaxa` double default &#039;0&#039;,<br />
&nbsp;&nbsp;`usuario` int(9) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`codigo`)<br />
);<br />
<br />
CREATE TABLE `planos` (<br />
&nbsp;&nbsp;`codigo` int(9) unsigned NOT NULL auto_increment,<br />
&nbsp;&nbsp;`plano` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`descricao` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`servico` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`aulascarro` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`aulasmoto` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`aulasonibus` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`usuario` int(9) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`codigo`)<br />
);<br />
<br />
CREATE TABLE `provas` (<br />
&nbsp;&nbsp;`codigo` int(9) unsigned NOT NULL auto_increment,<br />
&nbsp;&nbsp;`prova` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`data` date default &#039;0000-00-00&#039;,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`codigo`)<br />
);<br />
<br />
INSERT INTO `provas` (`codigo`,`prova`,`data`) VALUES (5,&#039;Teste 1&#039;,&#039;2010-10-31&#039;);<br />
INSERT INTO `provas` (`codigo`,`prova`,`data`) VALUES (7,&#039;Prova de PHP&#039;,&#039;2010-11-12&#039;);<br />
<br />
CREATE TABLE `questoes` (<br />
&nbsp;&nbsp;`codigo` int(9) unsigned NOT NULL auto_increment,<br />
&nbsp;&nbsp;`id_prova` int(11) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;`numero` int(3) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;`questao` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`valor` varchar(9) default &#039;0&#039;,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`codigo`)<br />
);<br />
<br />
INSERT INTO `questoes` (`codigo`,`id_prova`,`numero`,`questao`,`valor`) VALUES (5,5,2,&#039;Teste questão 2&#039;,&#039;2&#039;);<br />
INSERT INTO `questoes` (`codigo`,`id_prova`,`numero`,`questao`,`valor`) VALUES (6,5,3,&#039;teste questão 3&#039;,&#039;2&#039;);<br />
INSERT INTO `questoes` (`codigo`,`id_prova`,`numero`,`questao`,`valor`) VALUES (7,7,1,&#039;Qual a melhor Plataforma pra usar o PHP?&#039;,&#039;2&#039;);<br />
<br />
CREATE TABLE `respostas` (<br />
&nbsp;&nbsp;`codigo` int(9) unsigned NOT NULL auto_increment,<br />
&nbsp;&nbsp;`id_questao` int(8) default &#039;0&#039;,<br />
&nbsp;&nbsp;`letra` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`resposta` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`usuario` int(9) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`codigo`)<br />
);<br />
<br />
INSERT INTO `respostas` (`codigo`,`id_questao`,`letra`,`resposta`,`usuario`) VALUES (1,1,&#039;a&#039;,&#039;Sim&#039;,0);<br />
INSERT INTO `respostas` (`codigo`,`id_questao`,`letra`,`resposta`,`usuario`) VALUES (2,1,&#039;b&#039;,&#039;Não&#039;,0);<br />
INSERT INTO `respostas` (`codigo`,`id_questao`,`letra`,`resposta`,`usuario`) VALUES (3,1,&#039;c&#039;,&#039;Talvêz&#039;,0);<br />
INSERT INTO `respostas` (`codigo`,`id_questao`,`letra`,`resposta`,`usuario`) VALUES (4,1,&#039;d&#039;,&#039;NRA&#039;,0);<br />
INSERT INTO `respostas` (`codigo`,`id_questao`,`letra`,`resposta`,`usuario`) VALUES (5,2,&#039;a&#039;,&#039;Homem&#039;,0);<br />
INSERT INTO `respostas` (`codigo`,`id_questao`,`letra`,`resposta`,`usuario`) VALUES (6,2,&#039;b&#039;,&#039;Mulher&#039;,0);<br />
INSERT INTO `respostas` (`codigo`,`id_questao`,`letra`,`resposta`,`usuario`) VALUES (11,5,&#039;A&#039;,&#039;Março&#039;,0);<br />
INSERT INTO `respostas` (`codigo`,`id_questao`,`letra`,`resposta`,`usuario`) VALUES (12,5,&#039;B&#039;,&#039;Abril&#039;,0);<br />
INSERT INTO `respostas` (`codigo`,`id_questao`,`letra`,`resposta`,`usuario`) VALUES (13,7,&#039;a&#039;,&#039;Linux&#039;,0);<br />
INSERT INTO `respostas` (`codigo`,`id_questao`,`letra`,`resposta`,`usuario`) VALUES (14,7,&#039;2&#039;,&#039;Windows&#039;,0);<br />
<br />
CREATE TABLE `resultexames` (<br />
&nbsp;&nbsp;`codigo` int(9) unsigned NOT NULL auto_increment,<br />
&nbsp;&nbsp;`matricula` int(9) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;`exame` int(9) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;`tipo` int(9) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;`data` date default &#039;0000-00-00&#039;,<br />
&nbsp;&nbsp;`hora` varchar(20) default &#039;0&#039;,<br />
&nbsp;&nbsp;`resultado` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`codigo`)<br />
);<br />
<br />
CREATE TABLE `resultplanos` (<br />
&nbsp;&nbsp;`codigo` int(9) unsigned NOT NULL auto_increment,<br />
&nbsp;&nbsp;`matricula` int(9) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;`exame` int(9) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;`tipo` int(9) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;`data` date default &#039;0000-00-00&#039;,<br />
&nbsp;&nbsp;`hora` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`resultado` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`usuario` int(9) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`codigo`)<br />
);<br />
<br />
CREATE TABLE `saida` (<br />
&nbsp;&nbsp;`codigo` int(9) unsigned NOT NULL auto_increment,<br />
&nbsp;&nbsp;`conta` int(9) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;`tiposaida` int(9) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;`data` date default &#039;0000-00-00&#039;,<br />
&nbsp;&nbsp;`descricao` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`valor` double default &#039;0&#039;,<br />
&nbsp;&nbsp;`usuario` tinyint(3) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`codigo`)<br />
);<br />
<br />
CREATE TABLE `tipoexames` (<br />
&nbsp;&nbsp;`codigo` int(9) unsigned NOT NULL auto_increment,<br />
&nbsp;&nbsp;`tipo` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`usuario` int(9) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`codigo`)<br />
);<br />
<br />
INSERT INTO `tipoexames` (`codigo`,`tipo`,`usuario`) VALUES (1,&#039;psico&#039;,7);<br />
INSERT INTO `tipoexames` (`codigo`,`tipo`,`usuario`) VALUES (2,&#039;pratico&#039;,8);<br />
<br />
CREATE TABLE `tipopagamento` (<br />
&nbsp;&nbsp;`codigo` int(9) unsigned NOT NULL auto_increment,<br />
&nbsp;&nbsp;`tipo` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`usuario` int(9) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`codigo`)<br />
);<br />
<br />
CREATE TABLE `tiposaida` (<br />
&nbsp;&nbsp;`codigo` tinyint(3) unsigned NOT NULL auto_increment,<br />
&nbsp;&nbsp;`tipo` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`usuario` int(9) unsigned default NULL,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`codigo`)<br />
);<br />
<br />
CREATE TABLE `tiposervico` (<br />
&nbsp;&nbsp;`codigo` int(9) unsigned NOT NULL auto_increment,<br />
&nbsp;&nbsp;`tipo` varchar(50) default NULL,<br />
&nbsp;&nbsp;`usuario` int(9) unsigned default NULL,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`codigo`)<br />
);<br />
<br />
INSERT INTO `tiposervico` (`codigo`,`tipo`,`usuario`) VALUES (1,&#039;a&#039;,NULL);<br />
<br />
CREATE TABLE `turmas` (<br />
&nbsp;&nbsp;`codigo` int(9) unsigned NOT NULL auto_increment,<br />
&nbsp;&nbsp;`turma` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`turno` varchar(15) default &#039;0&#039;,<br />
&nbsp;&nbsp;`horario` char(20) default &#039;0&#039;,<br />
&nbsp;&nbsp;`datainicio` date default &#039;0000-00-00&#039;,<br />
&nbsp;&nbsp;`datatermino` date default &#039;0000-00-00&#039;,<br />
&nbsp;&nbsp;`status` tinyint(3) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`codigo`)<br />
);<br />
<br />
INSERT INTO `turmas` (`codigo`,`turma`,`turno`,`horario`,`datainicio`,`datatermino`,`status`) VALUES (6,&#039;A&#039;,&#039;1&#039;,&#039;8:00 às 12:00 hs&#039;,&#039;2010-12-12&#039;,&#039;1970-01-01&#039;,1);<br />
INSERT INTO `turmas` (`codigo`,`turma`,`turno`,`horario`,`datainicio`,`datatermino`,`status`) VALUES (11,&#039;Motocicleta Tarde&#039;,&#039;2&#039;,&#039;15:00 hs às 17:00 hs&#039;,&#039;2010-10-07&#039;,&#039;0000-00-00&#039;,0);<br />
<br />
CREATE TABLE `veiculos` (<br />
&nbsp;&nbsp;`codigo` int(9) unsigned NOT NULL auto_increment,<br />
&nbsp;&nbsp;`placa` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`modelo` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`ano` int(5) default &#039;0&#039;,<br />
&nbsp;&nbsp;`renavam` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`chassi` varchar(50) default &#039;0&#039;,<br />
&nbsp;&nbsp;`usuario` int(9) unsigned default &#039;0&#039;,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`codigo`)<br />
);<br />
<br />
INSERT INTO `veiculos` (`codigo`,`placa`,`modelo`,`ano`,`renavam`,`chassi`,`usuario`) VALUES (1,&#039;LVH-6075&#039;,&#039;GOL&#039;,1994,&#039;&#039;,&#039;&#039;,2);<br />
INSERT INTO `veiculos` (`codigo`,`placa`,`modelo`,`ano`,`renavam`,`chassi`,`usuario`) VALUES (2,&#039;AAA-111&#039;,&#039;Ford KA&#039;,1977,&#039;123343434343&#039;,&#039;21321343432&#039;,0);<br />
<br />
</code></pre></p>
<p>Após configurar as tabelas e o ficheiro de configuração, você já poderá fazer uso do sistema.</p>
<h2>Falando Sobre Os Ficheiros</h2>
<p>Diferente do ficheiro original, efetuamos algumas alterações nos ficheiros que estão em anexo, montando uma padronização para que tu possas melhorar esta estrutura e dar o suporte devido.</p>
<p>Exemplo:</p>
<p>Caso tu queira alterar algo em Cliente, criamos a padronização abaixo:</p>
<ul>
<li>clientes_cadastrar.php (para cadastrar cliente);</li>
<li>clientes_alterar.php (para alterar os dados dos clientes);</li>
<li>clientes_opcoes.php (para opções avançadas);</li>
<li>clientes_visualizar.php (para visualizar as informações do cliente escolhido);</li>
<li>script_clientes.php (onde cadastramos, atualizamos e excluimos os clientes).</li>
</ul>
<p>Bem&#8230; poderíamos publicar todo o seu conteúdo aqui, mas o ideal é baixar e estudar com calma!</p>
<p>Bem&#8230; quem programa, certamente terá uma facilidade maior em trabalhar com este ficheiro partindo deste conteúdo.</p>
<p>OBS.: Verificando este conteúdo, você verá que ele não está completo, isto é: Pode-se melhorar.</p>
<p>Até para facilitar, publicamos as principais telas, onde você (ou seu cliente) poderão gerenciar os seus alunos de auto escola.</p>
<p>Te incentivo a melhorar esta solução e espero que este conteúdo seja prático para você.</p>
<p><strong>Download do código usado neste tutorial</strong> > <a href='http://www.webmaster.pt/wp-content/uploads/2010/11/ficheiros5.zip'>Sistema de Gestão de Auto Escola &#8211; Parte II</a>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.webmaster.pt%2Fsistema-gestao-auto-escola-parte2-11405.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.webmaster.pt%2Fsistema-gestao-auto-escola-parte2-11405.html&amp;source=marketocracia&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.webmaster.pt/sistema-gestao-auto-escola-parte2-11405.html">Sistema de Gestão de Auto Escola &#8211; Parte 2</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>
<p>Related posts:<ol>
<li><a href='http://www.webmaster.pt/como-criar-sistema-o-s-orcamentos-parte1-9272.html' rel='bookmark' title='Como Criar Sistema De O.S. / Orçamentos Parte1'>Como Criar Sistema De O.S. / Orçamentos Parte1</a></li>
<li><a href='http://www.webmaster.pt/sistema-gestao-auto-escolas-parte1-10436.html' rel='bookmark' title='Sistema De Gestão De Auto Escolas &#8211; Parte1'>Sistema De Gestão De Auto Escolas &#8211; Parte1</a></li>
<li><a href='http://www.webmaster.pt/alterar-meta-tags-seo-php-12145.html' rel='bookmark' title='Como Alterar As Meta Tags Para SEO Com PHP'>Como Alterar As Meta Tags Para SEO Com PHP</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.webmaster.pt/sistema-gestao-auto-escola-parte2-11405.html/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
	</channel>
</rss>

