<?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; código</title>
	<atom:link href="http://www.silviodelgado.com.br/tag/codigo/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>
	</channel>
</rss>

