<?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>Silvio Delgado  &#187; PHP</title>
	<atom:link href="http://www.silviodelgado.com.br/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.silviodelgado.com.br</link>
	<description>ASP.NET, MVC, C#, Design Patterns, jQuery, CSS, Webstandards, SEO et cetera</description>
	<lastBuildDate>Thu, 15 Dec 2011 04:37:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Sistema de Login em PHP</title>
		<link>http://www.silviodelgado.com.br/sistema-de-login-em-php/</link>
		<comments>http://www.silviodelgado.com.br/sistema-de-login-em-php/#comments</comments>
		<pubDate>Fri, 09 Nov 2007 00:02:47 +0000</pubDate>
		<dc:creator>Silvio Delgado</dc:creator>
				<category><![CDATA[Assuntos Diversos]]></category>
		<category><![CDATA[código]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[técnicas]]></category>

		<guid isPermaLink="false">http://www.silviodelgado.com.br/post.php?id=53</guid>
		<description><![CDATA[Dia desses um colega de trabalho me pediu um help para criar um sistema de login em PHP. Como eu estava meio sem tempo para explicar muita coisa, fiz um sistema básico, com alguns comentários, e resolvi postar aqui para ajudar a mais alguém. Siga os passos: Crie uma página que irá conter o formulário [...]]]></description>
			<content:encoded><![CDATA[<p>Dia desses um colega de trabalho me pediu um <em>help</em> para criar um sistema de login em PHP.<br />
Como eu estava meio sem tempo para explicar muita coisa, fiz um sistema básico, com alguns comentários, e resolvi postar aqui para ajudar a mais alguém.</p>
<p>Siga os passos: Crie uma página que irá conter o formulário de acesso do usuário:</p>
<p><strong>index.php</strong></p>
<p><code>&lt;form action="login.php" method="post"&gt;<br />
Usuário &lt;input type="text" name="TxtLogin" id="TxtLogin" size="15" /&gt;&lt;br /&gt;<br />
Senha &lt;input type="password" name="TxtSenha" id="TxtSenha" size="15" /&gt;&lt;br /&gt;<br />
&lt;input type="submit" name="BtnLogin" id="BtnLogin" value="Login" /&gt;<br />
&lt;/form&gt;</code></p>
<p>Segue abaixo a página que receberá as informações:</p>
<p><strong>login.php</strong></p>
<p><code>&lt;?php<br />
session_start();<br />
if (isset($_POST['BtnLogin']))<br />
{</code><code>// testa se a página foi chamada pelo form de login<br />
    $login = $_POST['TxtLogin'];<br />
    $senha = $_POST['TxtSenha'];<br />
    // se quiser, criptografe para comparar com o banco<br />
    $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die(&#8217;Erro&#8217;);<br />
    mysql_select_db($dbname, $conn);<br />
    $sql = &#8220;SELECT id, nome, email FROM usuarios &#8221;<br />
        .&#8221; WHERE login = &#8216;$login&#8217; AND senha = &#8216;$senha&#8217;&#8221;;<br />
    $result = mysql_query($sql, $conn);<br />
    if (mysql_num_rows($result) &gt; 0) // usuario existe<br />
    {<br />
        // pega o array de resultados<br />
        $dados = mysql_result($result, 0);<br />
        // grava a sessão<br />
        $_SESSION['usuario']['id_user'] = $dados['id'];<br />
        $_SESSION['usuario']['nome'] = $dados['nome'];<br />
        $_SESSION['usuario']['email'] = $dados['email'];<br />
        header(&#8217;Location: logado.php&#8217;);<br />
    }<br />
    else<br />
    {<br />
        header(&#8217;Location: index.php&#8217;);<br />
        // falha na autenticação<br />
    }<br />
    mysql_close();<br />
}<br />
else<br />
{<br />
    header(&#8217;Location: index.php&#8217;);<br />
    // caso negativo, volta para index.php<br />
}<br />
?&gt;</code></p>
<p>Em todas as páginas que o usuário deva estar logado para acessar, insira o seguinte código:</p>
<p><strong>logado.php</strong><br />
<code>&lt;?php<br />
session_start();<br />
if (!isset($_SESSION['usuario']))<br />
{<br />
    header(&#8217;Location: index.php&#8217;); // vai para a página de login<br />
    exit; // é importante para não executar o restante da página<br />
}<br />
// restante do código da página<br />
echo &#8220;Olá, &#8220;.$_SESSION['usuario']['nome'].&#8221;! Seja bem-vindo de volta!&#8221;;<br />
echo &#8220;&lt;br /&gt;&lt;br /&gt;n&#8221;<br />
    .&#8221;&lt;a href=&#8221;logout.php&#8221;&gt;Sair&lt;/a&gt;&#8221;;<br />
?&gt;</code></p>
<p>Para o usuário efetuar o logout, escreva uma página como a seguir:</p>
<p><strong>logout.php</strong></p>
<p><code>&lt;?php<br />
session_start();<br />
session_destroy(); // "mata" TODAS as sessões criadas<br />
// ou<br />
unset($_SESSION['usuario']);<br />
// &#8220;mata&#8221; somente a sessão criada para o usuário<br />
header(&#8217;Location: index.php&#8217;);<br />
?&gt;</code></p>
<p>Espero que seja útil.<br />
Caso queira, poderá utilizar orientação a objetos para isso, inclusive com serialização de dados antes de passar à sessão. Mas isso é assunto para outro post! <img src='http://www.silviodelgado.com.br/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.silviodelgado.com.br/sistema-de-login-em-php/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>VCL4PHP &#8211; Update</title>
		<link>http://www.silviodelgado.com.br/vcl4php-update/</link>
		<comments>http://www.silviodelgado.com.br/vcl4php-update/#comments</comments>
		<pubDate>Thu, 12 Apr 2007 22:55:04 +0000</pubDate>
		<dc:creator>Silvio Delgado</dc:creator>
				<category><![CDATA[Assuntos Diversos]]></category>
		<category><![CDATA[código]]></category>
		<category><![CDATA[Delphi for PHP]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.silviodelgado.com.br/post.php?id=30</guid>
		<description><![CDATA[Só fazendo um update no post anterior: esqueci de informar a URL. http://sourceforge.net/projects/vcl4php/ Tá aí&#8230; mas, do jeito que a coisa anda, acho que vai demorar um pouco até o D4PHP &#8220;pegar&#8221; entre os desenvolvedores.]]></description>
			<content:encoded><![CDATA[<p>Só fazendo um update no post anterior: esqueci de informar a URL.</p>
<p><a href="http://sourceforge.net/projects/vcl4php/" target="_blank">http://sourceforge.net/projects/vcl4php/</a></p>
<p>Tá aí&#8230; mas, do jeito que a coisa anda, acho que vai demorar um pouco até o D4PHP &#8220;pegar&#8221; entre os desenvolvedores.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.silviodelgado.com.br/vcl4php-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VCL for PHP</title>
		<link>http://www.silviodelgado.com.br/vcl-for-php/</link>
		<comments>http://www.silviodelgado.com.br/vcl-for-php/#comments</comments>
		<pubDate>Tue, 03 Apr 2007 20:30:27 +0000</pubDate>
		<dc:creator>Silvio Delgado</dc:creator>
				<category><![CDATA[Assuntos Diversos]]></category>
		<category><![CDATA[código]]></category>
		<category><![CDATA[Delphi for PHP]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.silviodelgado.com.br/post.php?id=29</guid>
		<description><![CDATA[Hoje foi disponibilizada, no Sourceforge.net, a primeira versão pública da VCL4PHP. Acredito que, com isso, o Delphi4PHP esteja bem próximo do lançamento oficial (início das entregas às pré-vendas). Ainda não tive a oportunidade de analisar com cuidado o conjunto de classes, mas acredito que isso marca profundamente o desenvolvimento de sistemas em PHP. Aproximadamente 13 [...]]]></description>
			<content:encoded><![CDATA[<p>Hoje foi disponibilizada, no Sourceforge.net, a primeira versão pública da VCL4PHP.</p>
<p>Acredito que, com isso, o Delphi4PHP esteja bem próximo do lançamento oficial (início das entregas às pré-vendas).</p>
<p>Ainda não tive a oportunidade de analisar com cuidado o conjunto de classes, mas acredito que isso marca profundamente o desenvolvimento de sistemas em PHP.</p>
<p>Aproximadamente 13 anos após o surgimento da linguagem, finalmente os desenvolvedores ganham uma ferramenta realmente RAD, component-oriented, que visa agilizar a criação de aplicações mais simples e disponibilizar ao programador mais tempo para as tarefas complexas.</p>
<p>Sem dúvida, é um divisor de águas na programação em geral, pois irá refletir em diversas linguagens, inclusive com migração de muitos desenvolvedores para o PHP.</p>
<p>Espero que todas as promessas se cumpram&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.silviodelgado.com.br/vcl-for-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Delphi for PHP</title>
		<link>http://www.silviodelgado.com.br/delphi-for-php/</link>
		<comments>http://www.silviodelgado.com.br/delphi-for-php/#comments</comments>
		<pubDate>Fri, 23 Mar 2007 19:57:07 +0000</pubDate>
		<dc:creator>Silvio Delgado</dc:creator>
				<category><![CDATA[Assuntos Diversos]]></category>
		<category><![CDATA[Delphi for PHP]]></category>
		<category><![CDATA[ferramentas]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.silviodelgado.com.br/post.php?id=27</guid>
		<description><![CDATA[Eu estive no Delphi Tour 2007, no Rio de Janeiro, na última quarta-feita (21/03) e pude acompanhar a apresentação do Andreano Lanusse dos dois próximos lançamentos da CodeGear (divisão &#8220;developers tools&#8221; da Borland): Delphi 2007 for Win32 e Delphi for PHP. Como eu não tenho feito quase nada em Delphi, não prestei muita atenção nos [...]]]></description>
			<content:encoded><![CDATA[<p>Eu estive no Delphi Tour 2007, no Rio de Janeiro, na última quarta-feita (21/03) e pude acompanhar a apresentação do Andreano Lanusse dos dois próximos lançamentos da CodeGear (divisão &#8220;developers tools&#8221; da Borland): Delphi 2007 for Win32 e Delphi for PHP.</p>
<p><span id="more-69"></span><br />
Como eu não tenho feito quase nada em Delphi, não prestei muita atenção nos detalhes da ferramenta. Uma coisa que eu achei bem interessante é que a CodeGear voltou atrás quanto à integração Win32 + .NET na mesma ferramenta e criou produtos separados, &#8220;segundo pedidos da própria comunidade&#8221;.</p>
<p>Eu achei uma decisão acertada. Além disso, penso ainda que seria melhor se a CG lançasse uma versão beeem básica do Delphi e os módulos em separado. Com certeza iria ser mais vantajoso para o desenvolvedor.</p>
<p>Desta maneira, você compraria a versão básica e o módulos Intraweb e o Together, por exemplo. E só pagaria pelo que realmente iria utilizar (já que a suíte, versão full, chega a quase R$ 10 mil!).</p>
<p>Quanto ao Delphi for PHP, se for tudo o que promete, vai dar o empurrão que faltava para que o PHP se torne A linguagem!</p>
<p>O acesso a banco de dados foi extremamente facilitado (o grid, em ajax, é um espetáculo!), o editor WYSIWYG não é um mero Dreamweaver e a ferramenta gera todo o código javascript chato, que tanto estamos acostumados a escrever, escrever, escrever&#8230;</p>
<p>Uma coisa, no entanto, me chamou bastante a atenção: Ao incluir uma feature em ajax na página, o D4PHP gera todo o código javascript. Só que, se você quiser alterar alguma coisa de uma página e que esteja também em outras (um menu, por exemplo), a menos que você tenha tudo concentrado em um único arquivo (chamando por um include), você terá que alterar CADA página do sistema.</p>
<p>Este é um problema que o programador vai ter que ter muito cuidado, ou vai tornar a tarefa de manutenção do sistema um pesadelo!</p>
<p>Outra característica interessante no D4PHP é a o componente análogo ao MainMenu, no Delphi. Com a mesma facilidade que você cria um menu para as suas aplicações em Delphi, agora você o fará em PHP (insere o componente no formulário, abre, inclui as opções e&#8230; voilá!).</p>
<p>Isso realmente facilita bastante nossa vida, a vida dos &#8220;notepadders&#8221;.</p>
<p>Essas e outras muitas features importantes estão na nova ferramenta. E estou ansioso pelo lançamento. Espero que seja realmente tudo o que promete!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.silviodelgado.com.br/delphi-for-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

