<?xml version="1.0" encoding="ISO-8859-1"?>    <rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
        <channel>
        <title>CelulaWeb</title>
        <link>http://www.celulaweb.net</link>
        <description>Tecnología, Diseño, Desarrollo Web y más</description>
        <pubDate>Thu, 23 May 2013 22:15:06 -0500</pubDate>
        <generator>http://www.celulaweb.net</generator>
        <language>es</language>
                		<item>
					<title><![CDATA[Mostrar tus followers de Twitter con PHP]]></title>
					<link>http://www.celulaweb.net/2010/08/24/mostrar-followers-twitter-php/</link>
					<comments>http://www.celulaweb.net/2010/08/24/mostrar-followers-twitter-php#comentarios</comments>
					<pubDate>Tue, 24 Aug 2010 14:35:45 -0500</pubDate>
                    <dc:creator>MijT</dc:creator>
					<category><![CDATA[PHP y MySQL]]></category>
					<guid isPermaLink="false">http://www.celulaweb.net/2010/08/24/mostrar-followers-twitter-php#comentarios</guid>
					<description><![CDATA[Para aquellos que tienen una web o blog con una cuenta en Twitter y desean mostrar en dicha web su lista de seguidores en Twitter, mostrando su avatar, con este pequeño script en PHP podrán realizarlo.
]]></description>
                    <content:encoded><![CDATA[<div align="center"><img src="http://www.celulaweb.net/imgart/twitter_followers.jpg" alt="" /></div><div style="margin: 10px 0;"><a href="http://api.tweetmeme.com/share?url=http://www.celulaweb.net/2010/08/24/mostrar-followers-twitter-php/"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://www.celulaweb.net/2010/08/24/mostrar-followers-twitter-php/" style="float: left; margin-right: 7px; border: 0; height: 61px; width: 51px;" alt="" /></a>Para aquellos que tienen una web o blog con una cuenta en <a target="_blank" href="http://twitter.com">Twitter</a> y desean mostrar en dicha web su lista de seguidores en Twitter, mostrando su avatar, con este pequeño script en PHP podrán realizarlo.<br />
<br />
<div class="php"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;$twitter_user&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;tu&nbsp;usuario&nbsp;de&nbsp;twitter<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$xml_followers_user&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">simplexml_load_file</span><span style="color: #007700">(</span><span style="color: #DD0000">"http://twitter.com/statuses/followers/"</span><span style="color: #007700">.</span><span style="color: #0000BB">$twitter_user</span><span style="color: #007700">.</span><span style="color: #DD0000">".xml"</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;cargamos&nbsp;el&nbsp;archivo&nbsp;XML&nbsp;que&nbsp;contiene&nbsp;la&nbsp;información&nbsp;de&nbsp;nuestros&nbsp;seguidores<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$followers&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">count</span><span style="color: #007700">(</span><span style="color: #0000BB">$xml_followers_user</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;contamos&nbsp;cuántos&nbsp;seguidores&nbsp;tenemos<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if(</span><span style="color: #0000BB">$followers&nbsp;</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #FF8000">//&nbsp;si&nbsp;tenemos&nbsp;más&nbsp;de&nbsp;un&nbsp;seguidor&nbsp;mostramos&nbsp;la&nbsp;cantidad&nbsp;y&nbsp;una&nbsp;lista&nbsp;con&nbsp;todos&nbsp;ellos&nbsp;(se&nbsp;imprime&nbsp;el&nbsp;avatar),&nbsp;cada&nbsp;uno&nbsp;enlazado&nbsp;a&nbsp;su&nbsp;respectivo&nbsp;perfil&nbsp;de&nbsp;Twitter<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"&lt;h3&gt;"</span><span style="color: #007700">.</span><span style="color: #0000BB">$twitter_user</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">"&nbsp;("</span><span style="color: #007700">.</span><span style="color: #0000BB">$followers</span><span style="color: #007700">.</span><span style="color: #DD0000">"&nbsp;seguidores)&lt;/h3&gt;"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach(</span><span style="color: #0000BB">$xml_followers_user</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">user&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">$twitter_datos</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"&lt;a&nbsp;href='http://twitter.com/"</span><span style="color: #007700">.</span><span style="color: #0000BB">$twitter_datos</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">screen_name</span><span style="color: #007700">.</span><span style="color: #DD0000">"'&nbsp;target='_blank'&gt;&lt;img&nbsp;src='"</span><span style="color: #007700">.</span><span style="color: #0000BB">$twitter_datos</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">profile_image_url</span><span style="color: #007700">.</span><span style="color: #DD0000">"'&nbsp;title='"</span><span style="color: #007700">.</span><span style="color: #0000BB">$twitter_datos</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">name</span><span style="color: #007700">.</span><span style="color: #DD0000">"'&nbsp;alt=''&nbsp;/&gt;&lt;/a&gt;n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Nadie&nbsp;me&nbsp;sigue&nbsp;:("</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div><br />
Como repito, el script es simple, para aquellos que tienen pocos followers es más que suficiente, pero hay quienes tienen cientos de followers y mostrarlos todos haría pesada la carga de la página, por lo que tendríamos que mostrar un número determinado, por ejemplo, 20, para ello añadiremos unas cuantas líneas de código a nuestros script y nos quedará así:<br />
<br />
<div class="php"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;$twitter_user&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;tu&nbsp;usuario&nbsp;de&nbsp;twitter<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$xml_followers_user&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">simplexml_load_file</span><span style="color: #007700">(</span><span style="color: #DD0000">"http://twitter.com/statuses/followers/"</span><span style="color: #007700">.</span><span style="color: #0000BB">$twitter_user</span><span style="color: #007700">.</span><span style="color: #DD0000">".xml"</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;cargamos&nbsp;el&nbsp;archivo&nbsp;XML&nbsp;que&nbsp;contiene&nbsp;la&nbsp;información&nbsp;de&nbsp;nuestros&nbsp;seguidores<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$followers&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">count</span><span style="color: #007700">(</span><span style="color: #0000BB">$xml_followers_user</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;contamos&nbsp;cuántos&nbsp;tenemos<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if(</span><span style="color: #0000BB">$followers&nbsp;</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #FF8000">//&nbsp;si&nbsp;tenemos&nbsp;más&nbsp;de&nbsp;un&nbsp;seguidor&nbsp;mostramos&nbsp;la&nbsp;cantidad&nbsp;y&nbsp;una&nbsp;lista&nbsp;con&nbsp;todos&nbsp;ellos&nbsp;(se&nbsp;imprime&nbsp;el&nbsp;avatar),&nbsp;cada&nbsp;uno&nbsp;enlazado&nbsp;a&nbsp;su&nbsp;respectivo&nbsp;perfil&nbsp;de&nbsp;Twitter<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"&lt;h3&gt;"</span><span style="color: #007700">.</span><span style="color: #0000BB">$twitter_user</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">"&nbsp;("</span><span style="color: #007700">.</span><span style="color: #0000BB">$followers</span><span style="color: #007700">.</span><span style="color: #DD0000">"&nbsp;seguidores)&lt;/h3&gt;"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$itemlimit&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;ponemos&nbsp;nuestro&nbsp;delimitador&nbsp;a&nbsp;0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">foreach(</span><span style="color: #0000BB">$xml_followers_user</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">user&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">$twitter_datos</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">$itemlimit&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">20</span><span style="color: #007700">)&nbsp;{&nbsp;break;&nbsp;}&nbsp;</span><span style="color: #FF8000">//&nbsp;agregamos&nbsp;la&nbsp;cantidad&nbsp;de&nbsp;seguidores&nbsp;que&nbsp;deseamos&nbsp;mostrar&nbsp;y&nbsp;los&nbsp;imprimimos<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"&lt;a&nbsp;href='http://twitter.com/"</span><span style="color: #007700">.</span><span style="color: #0000BB">$twitter_datos</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">screen_name</span><span style="color: #007700">.</span><span style="color: #DD0000">"'&nbsp;target='_blank'&gt;&lt;img&nbsp;src='"</span><span style="color: #007700">.</span><span style="color: #0000BB">$twitter_datos</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">profile_image_url</span><span style="color: #007700">.</span><span style="color: #DD0000">"'&nbsp;title='"</span><span style="color: #007700">.</span><span style="color: #0000BB">$twitter_datos</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">name</span><span style="color: #007700">.</span><span style="color: #DD0000">"'&nbsp;alt=''&nbsp;/&gt;&lt;/a&gt;n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$itemlimit&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$itemlimit&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Nadie&nbsp;me&nbsp;sigue&nbsp;:("</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div><br />
Y eso sería todo, ya podremos mostrar nuestros seguidores de Twitter en cualquier sección de nuestra web o blog.<br />
</div><hr /><p style="height: 65px;"><img src="http://www.celulaweb.net/img/cesar.jpg" alt="" style="float: left; border: 0; margin-right: 10px;" /><strong>César Aquino</strong> para <a href="http://www.celulaweb.net">CelulaWeb</a><br />Publicado el: 24 de Ago. del 2010 a las 14:35<br /><a href="http://www.celulaweb.net/2010/08/24/mostrar-followers-twitter-php#comentar">Comenta este post</a> | <a href="http://www.celulaweb.net/2010/08/24/mostrar-followers-twitter-php/">Enlace permamente al post</a></p><hr style="clear: both;" /><p><a href="http://twitter.com/CelulaWeb"><img src="http://www.celulaweb.net/img/twitterbutton.png" style="border: 0;" alt="" /></a> <a href="http://www.facebook.com/celulaweb"><img src="http://www.celulaweb.net/img/facebook_button.png" alt="" style="border: 0;" /></a></p>]]></content:encoded>
				</item>
		        		<item>
					<title><![CDATA[[Tutorial] Sistema de Usuarios con PHP y MySQL]]></title>
					<link>http://www.celulaweb.net/2010/07/07/tutorial-sistema-de-usuarios-con-php-y-mysql/</link>
					<comments>http://www.celulaweb.net/2010/07/07/tutorial-sistema-de-usuarios-con-php-y-mysql#comentarios</comments>
					<pubDate>Wed, 07 Jul 2010 16:50:48 -0500</pubDate>
                    <dc:creator>MijT</dc:creator>
					<category><![CDATA[PHP y MySQL]]></category>
					<guid isPermaLink="false">http://www.celulaweb.net/2010/07/07/tutorial-sistema-de-usuarios-con-php-y-mysql#comentarios</guid>
					<description><![CDATA[En esta oportunidad les voy a dejar un tutorial básico para desarrollar un sistema de usuarios con PHP y MySQL, en el cual haremos uso de sesiones, trataré de ser lo más entendible posible, pero si tienen alguna duda, pueden decirla comentando en esta entrada.
]]></description>
                    <content:encoded><![CDATA[<div align="center"><img src="http://www.celulaweb.net/" alt="" /></div><div style="margin: 10px 0;"><a href="http://api.tweetmeme.com/share?url=http://www.celulaweb.net/2010/07/07/tutorial-sistema-de-usuarios-con-php-y-mysql/"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://www.celulaweb.net/2010/07/07/tutorial-sistema-de-usuarios-con-php-y-mysql/" style="float: left; margin-right: 7px; border: 0; height: 61px; width: 51px;" alt="" /></a>En esta oportunidad les voy a dejar un tutorial básico para desarrollar un sistema de usuarios con <a target="_blank" href="http://php.net">PHP</a> y <a target="_blank" href="http://www.mysql.com">MySQL</a>, en el cual haremos uso de sesiones, trataré de ser lo más entendible posible, pero si tienen alguna duda, pueden decirla comentando en esta entrada.<br />
<br />
Para empezar, crearemos nuestra tabla de usuarios con los siguientes campos:<br />
<br />
<div class="php"><code><span style="color: #000000">
CREATE&nbsp;TABLE&nbsp;`usuarios`&nbsp;(<br />&nbsp;&nbsp;&nbsp;&nbsp;`usuario_id`&nbsp;int(4)&nbsp;NOT&nbsp;NULL&nbsp;AUTO_INCREMENT,<br />&nbsp;&nbsp;&nbsp;&nbsp;`usuario_nombre`&nbsp;varchar(15)&nbsp;NOT&nbsp;NULL&nbsp;DEFAULT&nbsp;'',<br />&nbsp;&nbsp;&nbsp;&nbsp;`usuario_clave`&nbsp;varchar(32)&nbsp;NOT&nbsp;NULL&nbsp;DEFAULT&nbsp;'',<br />&nbsp;&nbsp;&nbsp;&nbsp;`usuario_email`&nbsp;varchar(50)&nbsp;NOT&nbsp;NULL&nbsp;DEFAULT&nbsp;'',<br />&nbsp;&nbsp;&nbsp;&nbsp;`usuario_freg`&nbsp;datetime&nbsp;NOT&nbsp;NULL&nbsp;DEFAULT&nbsp;'0000-00-00&nbsp;00:00:00',<br />&nbsp;&nbsp;&nbsp;&nbsp;PRIMARY&nbsp;KEY&nbsp;(`usuario_id`)<br />)</span>
</code></div><br />
Como podrán notar, el campo <strong>usuario_clave</strong> tiene una longitud de 32 caracteres, ya que la contraseña de los usuarios registrados las encriptaremos en <a target="_blank" href="http://php.net/md5">md5()</a>. Ahora pasamos a crear nuestro scripts PHP.<br />
<br />
<strong>Creación de archivo de configuración de acceso a MySQL:</strong><br />
A este archivo lo llamaremos <strong>acceso_db.php</strong> y va a contener los datos de acceso a nuestra Base de Datos.<br />
<br />
<div class="php"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;$host_db&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Host&nbsp;de&nbsp;la&nbsp;BD<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$usuario_db&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Usuario&nbsp;de&nbsp;la&nbsp;BD<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$clave_db&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Contraseña&nbsp;de&nbsp;la&nbsp;BD<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$nombre_db&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Nombre&nbsp;de&nbsp;la&nbsp;BD<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//conectamos&nbsp;y&nbsp;seleccionamos&nbsp;db<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mysql_connect</span><span style="color: #007700">(</span><span style="color: #0000BB">$host_db</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$usuario_db</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$clave_db</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mysql_select_db</span><span style="color: #007700">(</span><span style="color: #0000BB">$nombre_db</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div><br />
<br />
<strong>Formulario de Registro:</strong><br />
Ahora procederemos a crear nuestro formulario de registro, al cual llamaremos <strong>registro.php</strong><br />
<br />
<div class="php"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">include(</span><span style="color: #DD0000">'acceso_db.php'</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;incluimos&nbsp;el&nbsp;archivo&nbsp;de&nbsp;conexión&nbsp;a&nbsp;la&nbsp;Base&nbsp;de&nbsp;Datos<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if(isset(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'enviar'</span><span style="color: #007700">]))&nbsp;{&nbsp;</span><span style="color: #FF8000">//&nbsp;comprobamos&nbsp;que&nbsp;se&nbsp;han&nbsp;enviado&nbsp;los&nbsp;datos&nbsp;desde&nbsp;el&nbsp;formulario<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;creamos&nbsp;una&nbsp;función&nbsp;que&nbsp;nos&nbsp;parmita&nbsp;validar&nbsp;el&nbsp;email<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">function&nbsp;</span><span style="color: #0000BB">valida_email</span><span style="color: #007700">(</span><span style="color: #0000BB">$correo</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">eregi</span><span style="color: #007700">(</span><span style="color: #DD0000">"^[_.0-9a-z-]+@[0-9a-z._-]+.[a-z]{2,4}$"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$correo</span><span style="color: #007700">))&nbsp;return&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;return&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Procedemos&nbsp;a&nbsp;comprobar&nbsp;que&nbsp;los&nbsp;campos&nbsp;del&nbsp;formulario&nbsp;no&nbsp;estén&nbsp;vacíos<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$sin_espacios&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">count_chars</span><span style="color: #007700">(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'usuario_nombre'</span><span style="color: #007700">],&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!empty(</span><span style="color: #0000BB">$sin_espacios</span><span style="color: #007700">[</span><span style="color: #0000BB">32</span><span style="color: #007700">]))&nbsp;{&nbsp;</span><span style="color: #FF8000">//&nbsp;comprobamos&nbsp;que&nbsp;el&nbsp;campo&nbsp;usuario_nombre&nbsp;no&nbsp;tenga&nbsp;espacios&nbsp;en&nbsp;blanco<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"El&nbsp;campo&nbsp;&lt;em&gt;usuario_nombre&lt;/em&gt;&nbsp;no&nbsp;debe&nbsp;contener&nbsp;espacios&nbsp;en&nbsp;blanco.&nbsp;&lt;a&nbsp;href='javascript:history.back();'&gt;Reintentar&lt;/a&gt;"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}elseif(empty(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'usuario_nombre'</span><span style="color: #007700">]))&nbsp;{&nbsp;</span><span style="color: #FF8000">//&nbsp;comprobamos&nbsp;que&nbsp;el&nbsp;campo&nbsp;usuario_nombre&nbsp;no&nbsp;esté&nbsp;vacío<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"No&nbsp;haz&nbsp;ingresado&nbsp;tu&nbsp;usuario.&nbsp;&lt;a&nbsp;href='javascript:history.back();'&gt;Reintentar&lt;/a&gt;"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}elseif(empty(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'usuario_clave'</span><span style="color: #007700">]))&nbsp;{&nbsp;</span><span style="color: #FF8000">//&nbsp;comprobamos&nbsp;que&nbsp;el&nbsp;campo&nbsp;usuario_clave&nbsp;no&nbsp;esté&nbsp;vacío<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"No&nbsp;haz&nbsp;ingresado&nbsp;contraseña.&nbsp;&lt;a&nbsp;href='javascript:history.back();'&gt;Reintentar&lt;/a&gt;"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}elseif(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'usuario_clave'</span><span style="color: #007700">]&nbsp;!=&nbsp;</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'usuario_clave_conf'</span><span style="color: #007700">])&nbsp;{&nbsp;</span><span style="color: #FF8000">//&nbsp;comprobamos&nbsp;que&nbsp;las&nbsp;contraseñas&nbsp;ingresadas&nbsp;coincidan<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"Las&nbsp;contraseñas&nbsp;ingresadas&nbsp;no&nbsp;coinciden.&nbsp;&lt;a&nbsp;href='javascript:history.back();'&gt;Reintentar&lt;/a&gt;"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}elseif(!</span><span style="color: #0000BB">valida_email</span><span style="color: #007700">(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'usuario_email'</span><span style="color: #007700">]))&nbsp;{&nbsp;</span><span style="color: #FF8000">//&nbsp;validamos&nbsp;que&nbsp;el&nbsp;email&nbsp;ingresado&nbsp;sea&nbsp;correcto<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"El&nbsp;email&nbsp;ingresado&nbsp;no&nbsp;es&nbsp;válido.&nbsp;&lt;a&nbsp;href='javascript:history.back();'&gt;Reintentar&lt;/a&gt;"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;"limpiamos"&nbsp;los&nbsp;campos&nbsp;del&nbsp;formulario&nbsp;de&nbsp;posibles&nbsp;códigos&nbsp;maliciosos<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$usuario_nombre&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_real_escape_string</span><span style="color: #007700">(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'usuario_nombre'</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$usuario_clave&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_real_escape_string</span><span style="color: #007700">(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'usuario_clave'</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$usuario_email&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_real_escape_string</span><span style="color: #007700">(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'usuario_email'</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;comprobamos&nbsp;que&nbsp;el&nbsp;usuario&nbsp;ingresado&nbsp;no&nbsp;haya&nbsp;sido&nbsp;registrado&nbsp;antes<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$sql&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #DD0000">"SELECT&nbsp;usuario_nombre&nbsp;FROM&nbsp;usuarios&nbsp;WHERE&nbsp;usuario_nombre='"</span><span style="color: #007700">.</span><span style="color: #0000BB">$usuario_nombre</span><span style="color: #007700">.</span><span style="color: #DD0000">"'"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">mysql_num_rows</span><span style="color: #007700">(</span><span style="color: #0000BB">$sql</span><span style="color: #007700">)&nbsp;&gt;&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"El&nbsp;nombre&nbsp;usuario&nbsp;elegido&nbsp;ya&nbsp;ha&nbsp;sido&nbsp;registrado&nbsp;anteriormente.&nbsp;&lt;a&nbsp;href='javascript:history.back();'&gt;Reintentar&lt;/a&gt;"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$usuario_clave&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">md5</span><span style="color: #007700">(</span><span style="color: #0000BB">$usuario_clave</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;encriptamos&nbsp;la&nbsp;contraseña&nbsp;ingresada&nbsp;con&nbsp;md5<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;ingresamos&nbsp;los&nbsp;datos&nbsp;a&nbsp;la&nbsp;BD<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$reg&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #DD0000">"INSERT&nbsp;INTO&nbsp;usuarios&nbsp;(usuario_nombre,&nbsp;usuario_clave,&nbsp;usuario_email,&nbsp;usuario_freg)&nbsp;VALUES&nbsp;('"</span><span style="color: #007700">.</span><span style="color: #0000BB">$usuario_nombre</span><span style="color: #007700">.</span><span style="color: #DD0000">"',&nbsp;'"</span><span style="color: #007700">.</span><span style="color: #0000BB">$usuario_clave</span><span style="color: #007700">.</span><span style="color: #DD0000">"',&nbsp;'"</span><span style="color: #007700">.</span><span style="color: #0000BB">$usuario_email</span><span style="color: #007700">.</span><span style="color: #DD0000">"',&nbsp;NOW())"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">$reg</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Datos&nbsp;ingresados&nbsp;correctamente."</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"ha&nbsp;ocurrido&nbsp;un&nbsp;error&nbsp;y&nbsp;no&nbsp;se&nbsp;registraron&nbsp;los&nbsp;datos."</span><span style="color: #007700">;<br />&nbsp;&nbsp;&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;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;{<br /></span><span style="color: #0000BB">?&gt;<br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;form&nbsp;action="<span style="color: #0000BB">&lt;?=$_SERVER</span><span style="color: #007700">[</span><span style="color: #DD0000">'PHP_SELF'</span><span style="color: #007700">]</span><span style="color: #0000BB">?&gt;</span>"&nbsp;method="post"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;label&gt;Usuario:&lt;/label&gt;&lt;br&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;type="text"&nbsp;name="usuario_nombre"&nbsp;maxlength="15"&nbsp;/&gt;&lt;br&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;label&gt;Contraseña:&lt;/label&gt;&lt;br&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;type="password"&nbsp;name="usuario_clave"&nbsp;maxlength="15"&nbsp;/&gt;&lt;br&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;label&gt;Confirmar&nbsp;Contraseña:&lt;/label&gt;&lt;br&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;type="password"&nbsp;name="usuario_clave_conf"&nbsp;maxlength="15"&nbsp;/&gt;&lt;br&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;label&gt;Email:&lt;/label&gt;&lt;br&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;type="text"&nbsp;name="usuario_email"&nbsp;maxlength="50"&nbsp;/&gt;&lt;br&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;type="submit"&nbsp;name="enviar"&nbsp;value="Registrar"&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;type="reset"&nbsp;value="Borrar"&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;/form&gt;<br /><span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div><br />
<strong>Formulario de acceso:</strong><br />
Ahora pasaremos a crear nuestro formulario de acceso o Login, a este archivo lo llamaremos <strong>acceso.php</strong><br />
<br />
<div class="php"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;session_start</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;include(</span><span style="color: #DD0000">'acceso_db.php'</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;if(empty(</span><span style="color: #0000BB">$_SESSION</span><span style="color: #007700">[</span><span style="color: #DD0000">'usuario_nombre'</span><span style="color: #007700">]))&nbsp;{&nbsp;</span><span style="color: #FF8000">//&nbsp;comprobamos&nbsp;que&nbsp;las&nbsp;variables&nbsp;de&nbsp;sesión&nbsp;estén&nbsp;vacías&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #0000BB">?&gt;<br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;form&nbsp;action="comprobar.php"&nbsp;method="post"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;label&gt;Usuario:&lt;/label&gt;&lt;br&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;type="text"&nbsp;name="usuario_nombre"&nbsp;/&gt;&lt;br&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;label&gt;Contraseña:&lt;/label&gt;&lt;br&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;type="password"&nbsp;name="usuario_clave"&nbsp;/&gt;&lt;br&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;type="submit"&nbsp;name="enviar"&nbsp;value="Ingresar"&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/form&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}else&nbsp;{<br /></span><span style="color: #0000BB">?&gt;<br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;p&gt;Hola&nbsp;&lt;strong&gt;<span style="color: #0000BB">&lt;?=$_SESSION</span><span style="color: #007700">[</span><span style="color: #DD0000">'usuario_nombre'</span><span style="color: #007700">]</span><span style="color: #0000BB">?&gt;</span>&lt;/strong&gt;&nbsp;|&nbsp;&lt;a&nbsp;href="logout.php"&gt;Salir&lt;/a&gt;&lt;/p&gt;<br /><span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div><br />
Este es el archivo que comprueba los datos ingresados en el formulario de login, lo llamaremos <strong>comprobar.php</strong><br />
<br />
<div class="php"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;session_start</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;include(</span><span style="color: #DD0000">'acceso_db.php'</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;if(isset(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'enviar'</span><span style="color: #007700">]))&nbsp;{&nbsp;</span><span style="color: #FF8000">//&nbsp;comprobamos&nbsp;que&nbsp;se&nbsp;hayan&nbsp;enviado&nbsp;los&nbsp;datos&nbsp;del&nbsp;formulario<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;comprobamos&nbsp;que&nbsp;los&nbsp;campos&nbsp;usuarios_nombre&nbsp;y&nbsp;usuario_clave&nbsp;no&nbsp;estén&nbsp;vacíos<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if(empty(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'usuario_nombre'</span><span style="color: #007700">])&nbsp;||&nbsp;empty(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'usuario_clave'</span><span style="color: #007700">]))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"El&nbsp;usuario&nbsp;o&nbsp;la&nbsp;contraseña&nbsp;no&nbsp;han&nbsp;sido&nbsp;ingresados.&nbsp;&lt;a&nbsp;href='javascript:history.back();'&gt;Reintentar&lt;/a&gt;"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;"limpiamos"&nbsp;los&nbsp;campos&nbsp;del&nbsp;formulario&nbsp;de&nbsp;posibles&nbsp;códigos&nbsp;maliciosos<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$usuario_nombre&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_real_escape_string</span><span style="color: #007700">(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'usuario_nombre'</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$usuario_clave&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_real_escape_string</span><span style="color: #007700">(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'usuario_clave'</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$usuario_clave&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">md5</span><span style="color: #007700">(</span><span style="color: #0000BB">$usuario_clave</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;comprobamos&nbsp;que&nbsp;los&nbsp;datos&nbsp;ingresados&nbsp;en&nbsp;el&nbsp;formulario&nbsp;coincidan&nbsp;con&nbsp;los&nbsp;de&nbsp;la&nbsp;BD<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$sql&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #DD0000">"SELECT&nbsp;usuario_id,&nbsp;usuario_nombre,&nbsp;usuario_clave&nbsp;FROM&nbsp;usuarios&nbsp;WHERE&nbsp;usuario_nombre='"</span><span style="color: #007700">.</span><span style="color: #0000BB">$usuario_nombre</span><span style="color: #007700">.</span><span style="color: #DD0000">"'&nbsp;AND&nbsp;usuario_clave='"</span><span style="color: #007700">.</span><span style="color: #0000BB">$usuario_clave</span><span style="color: #007700">.</span><span style="color: #DD0000">"'"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">$row&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_fetch_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$sql</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$_SESSION</span><span style="color: #007700">[</span><span style="color: #DD0000">'usuario_id'</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">$row</span><span style="color: #007700">[</span><span style="color: #DD0000">'usuario_id'</span><span style="color: #007700">];&nbsp;</span><span style="color: #FF8000">//&nbsp;creamos&nbsp;la&nbsp;sesion&nbsp;"usuario_id"&nbsp;y&nbsp;le&nbsp;asignamos&nbsp;como&nbsp;valor&nbsp;el&nbsp;campo&nbsp;usuario_id<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$_SESSION</span><span style="color: #007700">[</span><span style="color: #DD0000">'usuario_nombre'</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">$row</span><span style="color: #007700">[</span><span style="color: #DD0000">"usuario_nombre"</span><span style="color: #007700">];&nbsp;</span><span style="color: #FF8000">//&nbsp;creamos&nbsp;la&nbsp;sesion&nbsp;"usuario_nombre"&nbsp;y&nbsp;le&nbsp;asignamos&nbsp;como&nbsp;valor&nbsp;el&nbsp;campo&nbsp;usuario_nombre<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">header</span><span style="color: #007700">(</span><span style="color: #DD0000">"Location:&nbsp;acceso.php"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;{<br /></span><span style="color: #0000BB">?&gt;<br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Error,&nbsp;&lt;a&nbsp;href="acceso.php"&gt;Reintentar&lt;/a&gt;<br /><span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">header</span><span style="color: #007700">(</span><span style="color: #DD0000">"Location:&nbsp;acceso.php"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div><br />
<strong>Agregando mensaje de bienvenida con enlace hacia el perfil personal y un enlace para cerrar sesión, en cualquier página:</strong><br />
Ahora lo que haremos será agregar un mensaje de bienvenida al usuario logueado, además de un enlace para que éste mismo cierre su sesión:<br />
<br />
Al inicio de todo el documento HTML de nuestras páginas agregamos lo siguiente:<br />
<br />
<div class="php"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;session_start</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;include(</span><span style="color: #DD0000">'acceso_db.php'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div><br />
Y en cualquier zona de nuestras páginas insertamos el siguiente código:<br />
<br />
<div class="php"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if(isset(</span><span style="color: #0000BB">$_SESSION</span><span style="color: #007700">[</span><span style="color: #DD0000">'usuario_nombre'</span><span style="color: #007700">]))&nbsp;{<br /></span><span style="color: #0000BB">?&gt;<br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bienvenido:&nbsp;&lt;a&nbsp;href="perfil.php?id=<span style="color: #0000BB">&lt;?=$_SESSION</span><span style="color: #007700">[</span><span style="color: #DD0000">'usuario_id'</span><span style="color: #007700">]</span><span style="color: #0000BB">?&gt;</span>"&gt;&lt;strong&gt;<span style="color: #0000BB">&lt;?=$_SESSION</span><span style="color: #007700">[</span><span style="color: #DD0000">'usuario_nombre'</span><span style="color: #007700">]</span><span style="color: #0000BB">?&gt;</span>&lt;/strong&gt;&lt;/a&gt;&lt;br&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;a&nbsp;href="logout.php"&gt;Cerrar&nbsp;Sesión&lt;/a&gt;<br /><span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div><br />
<strong>Cerrando la sesión del usuario:</strong><br />
Con este pequeño script cerramos la sesión del usuario, a este archivo lo llamamos <strong>logout.php</strong><br />
<br />
<div class="php"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;session_start</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;include(</span><span style="color: #DD0000">'acceso_db.php'</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;incluímos&nbsp;los&nbsp;datos&nbsp;de&nbsp;acceso&nbsp;a&nbsp;la&nbsp;BD<br />&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;comprobamos&nbsp;que&nbsp;se&nbsp;haya&nbsp;iniciado&nbsp;la&nbsp;sesión<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if(isset(</span><span style="color: #0000BB">$_SESSION</span><span style="color: #007700">[</span><span style="color: #DD0000">'usuario_nombre'</span><span style="color: #007700">]))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">session_destroy</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">header</span><span style="color: #007700">(</span><span style="color: #DD0000">"Location:&nbsp;index.php"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Operación&nbsp;incorrecta."</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div><br />
<strong>Página Personal de Usuarios:</strong><br />
Ahora pasaremos a crear una página personal para cada usuario registrado en el sistema, para ello, mostraremos el perfil de usuario, según su ID. Creamos un archivo llamado <strong>perfil.php</strong><br />
<br />
<div class="php"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;session_start</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;include(</span><span style="color: #DD0000">'acceso_db.php'</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$perfil&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #DD0000">"SELECT&nbsp;*&nbsp;FROM&nbsp;usuarios&nbsp;WHERE&nbsp;usuario_id='"</span><span style="color: #007700">.</span><span style="color: #0000BB">$_GET</span><span style="color: #007700">[</span><span style="color: #DD0000">'id'</span><span style="color: #007700">].</span><span style="color: #DD0000">"'"</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #0000BB">mysql_error</span><span style="color: #007700">());<br />&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">mysql_num_rows</span><span style="color: #007700">(</span><span style="color: #0000BB">$perfil</span><span style="color: #007700">))&nbsp;{&nbsp;</span><span style="color: #FF8000">//&nbsp;Comprobamos&nbsp;que&nbsp;exista&nbsp;el&nbsp;registro&nbsp;con&nbsp;la&nbsp;ID&nbsp;ingresada<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$row&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_fetch_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$perfil</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$id&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$row</span><span style="color: #007700">[</span><span style="color: #DD0000">"usuario_id"</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$nick&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$row</span><span style="color: #007700">[</span><span style="color: #DD0000">"usuario_nombre"</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$email&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$row</span><span style="color: #007700">[</span><span style="color: #DD0000">"usuario_email"</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$freg&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$row</span><span style="color: #007700">[</span><span style="color: #DD0000">"usuario_freg"</span><span style="color: #007700">];<br /></span><span style="color: #0000BB">?&gt;<br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;strong&gt;Nick:&lt;/strong&gt;&nbsp;<span style="color: #0000BB">&lt;?=$nick?&gt;</span>&lt;br&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;strong&gt;Email:&lt;/strong&gt;&nbsp;<span style="color: #0000BB">&lt;?=$email?&gt;</span>&lt;br&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;strong&gt;Registrado&nbsp;el:&lt;/strong&gt;&nbsp;<span style="color: #0000BB">&lt;?=$freg?&gt;</span>&lt;br&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;strong&gt;URL&nbsp;del&nbsp;perfil:&lt;/strong&gt;&nbsp;&lt;a&nbsp;href="perfil.php?id=<span style="color: #0000BB">&lt;?=$id?&gt;</span>"&gt;Click&nbsp;aquí&lt;/a&gt;<br /><span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}else&nbsp;{<br /></span><span style="color: #0000BB">?&gt;<br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;p&gt;El&nbsp;perfil&nbsp;seleccionado&nbsp;no&nbsp;existe&nbsp;o&nbsp;ha&nbsp;sido&nbsp;eliminado.&lt;/p&gt;<br /><span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div><br />
<br />
<strong>Páginas restringidas:</strong><br />
Como en toda web con sistema de usuarios, siempre habrán zonas restringidas a las que sólo podrán acceder usuarios registrados, entonces para ello partimos del siguiente código:<br />
<br />
<div class="php"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;session_start</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;include(</span><span style="color: #DD0000">'acceso_db.php'</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;incluímos&nbsp;los&nbsp;datos&nbsp;de&nbsp;acceso&nbsp;a&nbsp;la&nbsp;BD<br />&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;comprobamos&nbsp;que&nbsp;se&nbsp;haya&nbsp;iniciado&nbsp;la&nbsp;sesión<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if(isset(</span><span style="color: #0000BB">$_SESSION</span><span style="color: #007700">[</span><span style="color: #DD0000">'usuario_nombre'</span><span style="color: #007700">]))&nbsp;{<br /></span><span style="color: #0000BB">?&gt;<br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--&nbsp;Aquí&nbsp;ponemos&nbsp;todo&nbsp;el&nbsp;código&nbsp;HTML&nbsp;de&nbsp;nuestra&nbsp;página&nbsp;restringida,&nbsp;desde&nbsp;&lt;html&gt;&nbsp;a&nbsp;&lt;/html&gt;--&gt;<br /><span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Estás&nbsp;accediendo&nbsp;a&nbsp;una&nbsp;página&nbsp;restringida,&nbsp;para&nbsp;ver&nbsp;su&nbsp;contenido&nbsp;debes&nbsp;estar&nbsp;registrado.&lt;br&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;a&nbsp;href='acceso.php'&gt;Ingresar&lt;/a&gt;&nbsp;/&nbsp;&lt;a&nbsp;href='registro.php'&gt;Regitrarme&lt;/a&gt;"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div><br />
<br />
<strong>Recuperación de la contraseña:</strong><br />
Si el usuario ha olvidado su contraseña, habrá que facilitársela, para ello generaremos una nueva contraseña de forma aleatoria y se la enviaremos a su correo, a este archivo lo llamaremos <strong>recuperar_contrasena.php</strong><br />
<br />
<div class="php"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">include(</span><span style="color: #DD0000">'acceso_db.php'</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;incluímos&nbsp;los&nbsp;datos&nbsp;de&nbsp;acceso&nbsp;a&nbsp;la&nbsp;BD<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if(isset(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'enviar'</span><span style="color: #007700">]))&nbsp;{&nbsp;</span><span style="color: #FF8000">//&nbsp;comprobamos&nbsp;que&nbsp;se&nbsp;han&nbsp;enviado&nbsp;los&nbsp;datos&nbsp;del&nbsp;formulario<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if(empty(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'usuario_nombre'</span><span style="color: #007700">]))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"No&nbsp;ha&nbsp;ingresado&nbsp;el&nbsp;usuario.&nbsp;&lt;a&nbsp;href='javascript:history.back();'&gt;Reintentar&lt;/a&gt;"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$usuario_nombre&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_real_escape_string</span><span style="color: #007700">(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'usuario_nombre'</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$usuario_nombre&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">trim</span><span style="color: #007700">(</span><span style="color: #0000BB">$usuario_nombre</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$sql&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #DD0000">"SELECT&nbsp;usuario_nombre,&nbsp;usuario_clave,&nbsp;usuario_email&nbsp;FROM&nbsp;usuarios&nbsp;WHERE&nbsp;usuario_nombre='"</span><span style="color: #007700">.</span><span style="color: #0000BB">$usuario_nombre</span><span style="color: #007700">.</span><span style="color: #DD0000">"'"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">mysql_num_rows</span><span style="color: #007700">(</span><span style="color: #0000BB">$sql</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$row&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_fetch_assoc</span><span style="color: #007700">(</span><span style="color: #0000BB">$sql</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$num_caracteres&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"10"</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;asignamos&nbsp;el&nbsp;número&nbsp;de&nbsp;caracteres&nbsp;que&nbsp;va&nbsp;a&nbsp;tener&nbsp;la&nbsp;nueva&nbsp;contraseña<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$nueva_clave&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">substr</span><span style="color: #007700">(</span><span style="color: #0000BB">md5</span><span style="color: #007700">(</span><span style="color: #0000BB">rand</span><span style="color: #007700">()),</span><span style="color: #0000BB">0</span><span style="color: #007700">,</span><span style="color: #0000BB">$num_caracteres</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;generamos&nbsp;una&nbsp;nueva&nbsp;contraseña&nbsp;de&nbsp;forma&nbsp;aleatoria<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$usuario_nombre&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$row</span><span style="color: #007700">[</span><span style="color: #DD0000">'usuario_nombre'</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$usuario_clave&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$nueva_clave</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;la&nbsp;nueva&nbsp;contraseña&nbsp;que&nbsp;se&nbsp;enviará&nbsp;por&nbsp;correo&nbsp;al&nbsp;usuario<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$usuario_clave2&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">md5</span><span style="color: #007700">(</span><span style="color: #0000BB">$usuario_clave</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;encriptamos&nbsp;la&nbsp;nueva&nbsp;contraseña&nbsp;para&nbsp;guardarla&nbsp;en&nbsp;la&nbsp;BD<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$usuario_email&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$row</span><span style="color: #007700">[</span><span style="color: #DD0000">'usuario_email'</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;actualizamos&nbsp;los&nbsp;datos&nbsp;(contraseña)&nbsp;del&nbsp;usuario&nbsp;que&nbsp;solicitó&nbsp;su&nbsp;contraseña<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #DD0000">"UPDATE&nbsp;usuarios&nbsp;SET&nbsp;usuario_clave='"</span><span style="color: #007700">.</span><span style="color: #0000BB">$usuario_clave2</span><span style="color: #007700">.</span><span style="color: #DD0000">"'&nbsp;WHERE&nbsp;usuario_nombre='"</span><span style="color: #007700">.</span><span style="color: #0000BB">$usuario_nombre</span><span style="color: #007700">.</span><span style="color: #DD0000">"'"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Enviamos&nbsp;por&nbsp;email&nbsp;la&nbsp;nueva&nbsp;contraseña<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$remite_nombre&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Tu&nbsp;nombre&nbsp;o&nbsp;el&nbsp;de&nbsp;tu&nbsp;página<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$remite_email&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;tu&nbsp;correo<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$asunto&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"Recuperación&nbsp;de&nbsp;contraseña"</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Asunto&nbsp;(se&nbsp;puede&nbsp;cambiar)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$mensaje&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"Se&nbsp;ha&nbsp;generado&nbsp;una&nbsp;nueva&nbsp;contraseña&nbsp;para&nbsp;el&nbsp;usuario&nbsp;&lt;strong&gt;"</span><span style="color: #007700">.</span><span style="color: #0000BB">$usuario_nombre</span><span style="color: #007700">.</span><span style="color: #DD0000">"&lt;/strong&gt;.&nbsp;La&nbsp;nueva&nbsp;contraseña&nbsp;es:&nbsp;&lt;strong&gt;"</span><span style="color: #007700">.</span><span style="color: #0000BB">$usuario_clave</span><span style="color: #007700">.</span><span style="color: #DD0000">"&lt;/strong&gt;."</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$cabeceras&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"From:&nbsp;"</span><span style="color: #007700">.</span><span style="color: #0000BB">$remite_nombre</span><span style="color: #007700">.</span><span style="color: #DD0000">"&nbsp;&lt;"</span><span style="color: #007700">.</span><span style="color: #0000BB">$remite_correo</span><span style="color: #007700">.</span><span style="color: #DD0000">"&gt;rn"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$cabeceras&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$cabeceras</span><span style="color: #007700">.</span><span style="color: #DD0000">"Mime-Version:&nbsp;1.0n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$cabeceras&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$cabeceras</span><span style="color: #007700">.</span><span style="color: #DD0000">"Content-Type:&nbsp;text/html"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$enviar_email&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mail</span><span style="color: #007700">(</span><span style="color: #0000BB">$usuario_email</span><span style="color: #007700">,</span><span style="color: #0000BB">$asunto</span><span style="color: #007700">,</span><span style="color: #0000BB">$mensaje</span><span style="color: #007700">,</span><span style="color: #0000BB">$cabeceras</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">$enviar_email</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"La&nbsp;nueva&nbsp;contraseña&nbsp;ha&nbsp;sido&nbsp;enviada&nbsp;al&nbsp;email&nbsp;asociado&nbsp;al&nbsp;usuario&nbsp;"</span><span style="color: #007700">.</span><span style="color: #0000BB">$usuario_nombre</span><span style="color: #007700">.</span><span style="color: #DD0000">"."</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"No&nbsp;se&nbsp;ha&nbsp;podido&nbsp;enviar&nbsp;el&nbsp;email.&nbsp;&lt;a&nbsp;href='javascript:history.back();'&gt;Reintentar&lt;/a&gt;"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&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;}else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"El&nbsp;usuario&nbsp;&lt;strong&gt;"</span><span style="color: #007700">.</span><span style="color: #0000BB">$usuario_nombre</span><span style="color: #007700">.</span><span style="color: #DD0000">"&lt;/strong&gt;&nbsp;no&nbsp;está&nbsp;registrado.&nbsp;&lt;a&nbsp;href='javascript:history.back();'&gt;Reintentar&lt;/a&gt;"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;{<br /></span><span style="color: #0000BB">?&gt;<br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;form&nbsp;action="<span style="color: #0000BB">&lt;?=$_SERVER</span><span style="color: #007700">[</span><span style="color: #DD0000">'PHP_SELF'</span><span style="color: #007700">]</span><span style="color: #0000BB">?&gt;</span>"&nbsp;method="post"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;label&gt;Usuario:&lt;/label&gt;&lt;br&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;type="text"&nbsp;name="usuario_nombre"&nbsp;/&gt;&lt;br&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;type="submit"&nbsp;name="enviar"&nbsp;value="Enviar"&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;/form&gt;<br /><span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div><br />
<strong>Cambiando la contraseña:</strong><br />
Con este script, los usuarios podrán cambiar su contraseña, a este archivo lo llamaremos <strong>cambiar_contrasena.php</strong><br />
<br />
<div class="php"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;session_start</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;include(</span><span style="color: #DD0000">'acceso_db.php'</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;incluímos&nbsp;los&nbsp;datos&nbsp;de&nbsp;conexión&nbsp;a&nbsp;la&nbsp;BD<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if(isset(</span><span style="color: #0000BB">$_SESSION</span><span style="color: #007700">[</span><span style="color: #DD0000">'usuario_nombre'</span><span style="color: #007700">]))&nbsp;{&nbsp;</span><span style="color: #FF8000">//&nbsp;comprobamos&nbsp;que&nbsp;la&nbsp;sesión&nbsp;esté&nbsp;iniciada<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if(isset(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'enviar'</span><span style="color: #007700">]))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'usuario_clave'</span><span style="color: #007700">]&nbsp;!=&nbsp;</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'usuario_clave_conf'</span><span style="color: #007700">])&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Las&nbsp;contraseñas&nbsp;ingresadas&nbsp;no&nbsp;coinciden.&nbsp;&lt;a&nbsp;href='javascript:history.back();'&gt;Reintentar&lt;/a&gt;"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$usuario_nombre&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$_SESSION</span><span style="color: #007700">[</span><span style="color: #DD0000">'usuario_nombre'</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$usuario_clave&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_real_escape_string</span><span style="color: #007700">(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">"usuario_clave"</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$usuario_clave&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">md5</span><span style="color: #007700">(</span><span style="color: #0000BB">$usuario_clave</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;encriptamos&nbsp;la&nbsp;nueva&nbsp;contraseña&nbsp;con&nbsp;md5<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$sql&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #DD0000">"UPDATE&nbsp;usuarios&nbsp;SET&nbsp;usuario_clave='"</span><span style="color: #007700">.</span><span style="color: #0000BB">$usuario_clave</span><span style="color: #007700">.</span><span style="color: #DD0000">"'&nbsp;WHERE&nbsp;usuario_nombre='"</span><span style="color: #007700">.</span><span style="color: #0000BB">$usuario_nombre</span><span style="color: #007700">.</span><span style="color: #DD0000">"'"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">$sql</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Contraseña&nbsp;cambiada&nbsp;correctamente."</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Error:&nbsp;No&nbsp;se&nbsp;pudo&nbsp;cambiar&nbsp;la&nbsp;contraseña.&nbsp;&lt;a&nbsp;href='javascript:history.back();'&gt;Reintentar&lt;/a&gt;"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&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;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;{<br /></span><span style="color: #0000BB">?&gt;<br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;form&nbsp;action="<span style="color: #0000BB">&lt;?=$_SERVER</span><span style="color: #007700">[</span><span style="color: #DD0000">'PHP_SELF'</span><span style="color: #007700">]</span><span style="color: #0000BB">?&gt;</span>"&nbsp;method="post"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;label&gt;Nueva&nbsp;contraseña:&lt;/label&gt;&lt;br&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;type="password"&nbsp;name="usuario_clave"&nbsp;maxlength="15"&nbsp;/&gt;&lt;br&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;label&gt;Confirmar:&lt;/label&gt;&lt;br&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;type="password"&nbsp;name="usuario_clave_conf"&nbsp;maxlength="15"&nbsp;/&gt;&lt;br&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;type="submit"&nbsp;name="enviar"&nbsp;value="Enviar"&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/form&gt;<br /><span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Acceso&nbsp;denegado."</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div><br />
Eso sería todo, naturalmente, se puede mejorar añadiéndole más cosas, pero para comenzar, puede ser útil.</div><hr /><p style="height: 65px;"><img src="http://www.celulaweb.net/img/cesar.jpg" alt="" style="float: left; border: 0; margin-right: 10px;" /><strong>César Aquino</strong> para <a href="http://www.celulaweb.net">CelulaWeb</a><br />Publicado el: 7 de Jul. del 2010 a las 16:50<br /><a href="http://www.celulaweb.net/2010/07/07/tutorial-sistema-de-usuarios-con-php-y-mysql#comentar">Comenta este post</a> | <a href="http://www.celulaweb.net/2010/07/07/tutorial-sistema-de-usuarios-con-php-y-mysql/">Enlace permamente al post</a></p><hr style="clear: both;" /><p><a href="http://twitter.com/CelulaWeb"><img src="http://www.celulaweb.net/img/twitterbutton.png" style="border: 0;" alt="" /></a> <a href="http://www.facebook.com/celulaweb"><img src="http://www.celulaweb.net/img/facebook_button.png" alt="" style="border: 0;" /></a></p>]]></content:encoded>
				</item>
		        		<item>
					<title><![CDATA[Twitter y Plurk en tu Web o Blog con PHP y SimplePie]]></title>
					<link>http://www.celulaweb.net/2008/06/10/twitter-y-plurk-en-tu-web-o-blog-con-php-y-simplepie/</link>
					<comments>http://www.celulaweb.net/2008/06/10/twitter-y-plurk-en-tu-web-o-blog-con-php-y-simplepie#comentarios</comments>
					<pubDate>Tue, 10 Jun 2008 10:59:12 -0500</pubDate>
                    <dc:creator>MijT</dc:creator>
					<category><![CDATA[PHP y MySQL]]></category>
					<guid isPermaLink="false">http://www.celulaweb.net/2008/06/10/twitter-y-plurk-en-tu-web-o-blog-con-php-y-simplepie#comentarios</guid>
					<description><![CDATA[El día de ayer me puse a usar estos dos servicios de microblogging, Twitter y Plurk, aunque para ser sincero, ya estaba registrado en Twitter desde hace 1 año pero tenía la cuenta sin usarla, y bueno hace unos 4 días venía probando algunas cosas con la librería SimplePie para recoger datos de archivos RSS y entonces se me ocurrió agregar en mis blogs CelulaWeb y Cinespectaculo bloques con mis últimos post en Twitter y Plurk haciendo uso de esta librería y un poco de PHP.
]]></description>
                    <content:encoded><![CDATA[<div align="center"><img src="http://www.celulaweb.net/" alt="" /></div><div style="margin: 10px 0;"><a href="http://api.tweetmeme.com/share?url=http://www.celulaweb.net/2008/06/10/twitter-y-plurk-en-tu-web-o-blog-con-php-y-simplepie/"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://www.celulaweb.net/2008/06/10/twitter-y-plurk-en-tu-web-o-blog-con-php-y-simplepie/" style="float: left; margin-right: 7px; border: 0; height: 61px; width: 51px;" alt="" /></a>El día de ayer me puse a usar estos dos servicios de microblogging, <a target="_blank" href="http://www.twitter.com">Twitter</a> y <a target="_blank" href="http://www.plurk.com">Plurk</a>, aunque para ser sincero, ya estaba registrado en Twitter desde hace 1 año pero tenía la cuenta sin usarla, y bueno hace unos 4 días venía probando algunas cosas con la librería <a target="_blank" href="http://simplepie.org/">SimplePie</a> para recoger datos de archivos <a target="_blank" href="http://es.wikipedia.org/wiki/RSS">RSS</a> y entonces se me ocurrió agregar en mis blogs <a target="_blank" href="http://www.celulaweb.net">CelulaWeb</a> y <a target="_blank" href="http://www.cinespectaculo.com">Cinespectaculo</a> bloques con mis últimos post en <a target="_blank" href="http://www.twitter.com">Twitter</a> y <a target="_blank" href="http://www.plurk.com">Plurk</a> haciendo uso de esta librería y un poco de <a target="_blank" href="http://php.net">PHP</a>.<br />
<br />
El resultado obtenido lo pueden ver en el menú lateral de este blog donde titula <strong>&quot;Sígueme en <a target="_blank" href="http://www.twitter.com">Twitter</a>&quot;</strong> y el código fuente para ambos casos no es nada complicado, hasta se puede mejorar con un poco de ingenio, lo único que necesitamos es la dirección de nuestro archivo <a target="_blank" href="http://es.wikipedia.org/wiki/RSS">RSS</a> tanto de <a target="_blank" href="http://www.twitter.com">Twitter</a> como de <a target="_blank" href="http://www.plurk.com">Plurk</a>, la librería <a target="_blank" href="http://simplepie.org/">SimplePie</a> que deberán descargar y subir a tu hosting, además de crear una carpeta llamada <strong>cache</strong>, y el código fuente vendría a ser el siguiente:<br />
<br />
<strong>Para Twitter o Plurk(10 últimos post)</strong><br />
<div class="php"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;a&nbsp;este&nbsp;archivo&nbsp;lo&nbsp;pueden&nbsp;llamar&nbsp;mitwitter.php&nbsp;o&nbsp;miplurk.php&nbsp;según&nbsp;sea&nbsp;el&nbsp;caso<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">include(</span><span style="color: #DD0000">'simplepie.inc'</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;incluímos&nbsp;la&nbsp;librería&nbsp;SimplePie<br />&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;cambiamos&nbsp;el&nbsp;formato&nbsp;de&nbsp;la&nbsp;fecha&nbsp;del&nbsp;archivo&nbsp;RSS&nbsp;al&nbsp;modo&nbsp;"días&nbsp;transcurridos,&nbsp;horas&nbsp;transcurridas,&nbsp;minutos&nbsp;transcurridos"<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">define</span><span style="color: #007700">(</span><span style="color: #DD0000">'SIMPLEPIE_RELATIVE_DATE'</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'YmdHis'</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;</span><span style="color: #0000BB">doRelativeDate</span><span style="color: #007700">(</span><span style="color: #0000BB">$posted_date</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$in_seconds&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">strtotime</span><span style="color: #007700">(</span><span style="color: #0000BB">substr</span><span style="color: #007700">(</span><span style="color: #0000BB">$posted_date</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">,</span><span style="color: #0000BB">8</span><span style="color: #007700">).</span><span style="color: #DD0000">'&nbsp;'</span><span style="color: #007700">.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">substr</span><span style="color: #007700">(</span><span style="color: #0000BB">$posted_date</span><span style="color: #007700">,</span><span style="color: #0000BB">8</span><span style="color: #007700">,</span><span style="color: #0000BB">2</span><span style="color: #007700">).</span><span style="color: #DD0000">':'</span><span style="color: #007700">.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">substr</span><span style="color: #007700">(</span><span style="color: #0000BB">$posted_date</span><span style="color: #007700">,</span><span style="color: #0000BB">10</span><span style="color: #007700">,</span><span style="color: #0000BB">2</span><span style="color: #007700">).</span><span style="color: #DD0000">':'</span><span style="color: #007700">.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">substr</span><span style="color: #007700">(</span><span style="color: #0000BB">$posted_date</span><span style="color: #007700">,</span><span style="color: #0000BB">12</span><span style="color: #007700">,</span><span style="color: #0000BB">2</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$diff&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">time</span><span style="color: #007700">()-</span><span style="color: #0000BB">$in_seconds</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$months&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">floor</span><span style="color: #007700">(</span><span style="color: #0000BB">$diff</span><span style="color: #007700">/</span><span style="color: #0000BB">2592000</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$diff&nbsp;</span><span style="color: #007700">-=&nbsp;</span><span style="color: #0000BB">$months</span><span style="color: #007700">*</span><span style="color: #0000BB">2419200</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$weeks&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">floor</span><span style="color: #007700">(</span><span style="color: #0000BB">$diff</span><span style="color: #007700">/</span><span style="color: #0000BB">604800</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$diff&nbsp;</span><span style="color: #007700">-=&nbsp;</span><span style="color: #0000BB">$weeks</span><span style="color: #007700">*</span><span style="color: #0000BB">604800</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$days&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">floor</span><span style="color: #007700">(</span><span style="color: #0000BB">$diff</span><span style="color: #007700">/</span><span style="color: #0000BB">86400</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$diff&nbsp;</span><span style="color: #007700">-=&nbsp;</span><span style="color: #0000BB">$days</span><span style="color: #007700">*</span><span style="color: #0000BB">86400</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$hours&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">floor</span><span style="color: #007700">(</span><span style="color: #0000BB">$diff</span><span style="color: #007700">/</span><span style="color: #0000BB">3600</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$diff&nbsp;</span><span style="color: #007700">-=&nbsp;</span><span style="color: #0000BB">$hours</span><span style="color: #007700">*</span><span style="color: #0000BB">3600</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$minutes&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">floor</span><span style="color: #007700">(</span><span style="color: #0000BB">$diff</span><span style="color: #007700">/</span><span style="color: #0000BB">60</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$diff&nbsp;</span><span style="color: #007700">-=&nbsp;</span><span style="color: #0000BB">$minutes</span><span style="color: #007700">*</span><span style="color: #0000BB">60</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$seconds&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$diff</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">$months</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;fecha&nbsp;de&nbsp;publicación&nbsp;en&nbsp;el&nbsp;formato&nbsp;dd/mm/YYYY<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">return&nbsp;</span><span style="color: #0000BB">substr</span><span style="color: #007700">(</span><span style="color: #0000BB">$posted_date</span><span style="color: #007700">,</span><span style="color: #0000BB">4</span><span style="color: #007700">,</span><span style="color: #0000BB">2</span><span style="color: #007700">).</span><span style="color: #DD0000">'/'</span><span style="color: #007700">.</span><span style="color: #0000BB">substr</span><span style="color: #007700">(</span><span style="color: #0000BB">$posted_date</span><span style="color: #007700">,</span><span style="color: #0000BB">6</span><span style="color: #007700">,</span><span style="color: #0000BB">2</span><span style="color: #007700">).</span><span style="color: #DD0000">'/'</span><span style="color: #007700">.</span><span style="color: #0000BB">substr</span><span style="color: #007700">(</span><span style="color: #0000BB">$posted_date</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">,</span><span style="color: #0000BB">4</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">$weeks</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;semanas&nbsp;y&nbsp;días&nbsp;transcurridos<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$relative_date&nbsp;</span><span style="color: #007700">.=&nbsp;(</span><span style="color: #0000BB">$relative_date</span><span style="color: #007700">?</span><span style="color: #DD0000">',&nbsp;'</span><span style="color: #007700">:</span><span style="color: #DD0000">''</span><span style="color: #007700">).</span><span style="color: #0000BB">$weeks</span><span style="color: #007700">.</span><span style="color: #DD0000">'&nbsp;semana'</span><span style="color: #007700">.(</span><span style="color: #0000BB">$weeks</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">1</span><span style="color: #007700">?</span><span style="color: #DD0000">'s'</span><span style="color: #007700">:</span><span style="color: #DD0000">''</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$relative_date&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #0000BB">$days</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">0</span><span style="color: #007700">?(</span><span style="color: #0000BB">$relative_date</span><span style="color: #007700">?</span><span style="color: #DD0000">',&nbsp;'</span><span style="color: #007700">:</span><span style="color: #DD0000">''</span><span style="color: #007700">).</span><span style="color: #0000BB">$days</span><span style="color: #007700">.</span><span style="color: #DD0000">'&nbsp;día'</span><span style="color: #007700">.(</span><span style="color: #0000BB">$days</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">1</span><span style="color: #007700">?</span><span style="color: #DD0000">'s'</span><span style="color: #007700">:</span><span style="color: #DD0000">''</span><span style="color: #007700">):</span><span style="color: #DD0000">''</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}elseif&nbsp;(</span><span style="color: #0000BB">$days</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;días&nbsp;y&nbsp;horas&nbsp;transcurridas<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$relative_date&nbsp;</span><span style="color: #007700">.=&nbsp;(</span><span style="color: #0000BB">$relative_date</span><span style="color: #007700">?</span><span style="color: #DD0000">',&nbsp;'</span><span style="color: #007700">:</span><span style="color: #DD0000">''</span><span style="color: #007700">).</span><span style="color: #0000BB">$days</span><span style="color: #007700">.</span><span style="color: #DD0000">'&nbsp;día'</span><span style="color: #007700">.(</span><span style="color: #0000BB">$days</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">1</span><span style="color: #007700">?</span><span style="color: #DD0000">'s'</span><span style="color: #007700">:</span><span style="color: #DD0000">''</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$relative_date&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #0000BB">$hours</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">0</span><span style="color: #007700">?(</span><span style="color: #0000BB">$relative_date</span><span style="color: #007700">?</span><span style="color: #DD0000">',&nbsp;'</span><span style="color: #007700">:</span><span style="color: #DD0000">''</span><span style="color: #007700">).</span><span style="color: #0000BB">$hours</span><span style="color: #007700">.</span><span style="color: #DD0000">'h'</span><span style="color: #007700">.(</span><span style="color: #0000BB">$hours</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">1</span><span style="color: #007700">?</span><span style="color: #DD0000">''</span><span style="color: #007700">:</span><span style="color: #DD0000">''</span><span style="color: #007700">):</span><span style="color: #DD0000">''</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}elseif&nbsp;(</span><span style="color: #0000BB">$hours</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;horas&nbsp;y&nbsp;minutos&nbsp;transcurridos<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$relative_date&nbsp;</span><span style="color: #007700">.=&nbsp;(</span><span style="color: #0000BB">$relative_date</span><span style="color: #007700">?</span><span style="color: #DD0000">',&nbsp;'</span><span style="color: #007700">:</span><span style="color: #DD0000">''</span><span style="color: #007700">).</span><span style="color: #0000BB">$hours</span><span style="color: #007700">.</span><span style="color: #DD0000">'h'</span><span style="color: #007700">.(</span><span style="color: #0000BB">$hours</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">1</span><span style="color: #007700">?</span><span style="color: #DD0000">''</span><span style="color: #007700">:</span><span style="color: #DD0000">''</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$relative_date&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #0000BB">$minutes</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">0</span><span style="color: #007700">?(</span><span style="color: #0000BB">$relative_date</span><span style="color: #007700">?</span><span style="color: #DD0000">',&nbsp;'</span><span style="color: #007700">:</span><span style="color: #DD0000">''</span><span style="color: #007700">).</span><span style="color: #0000BB">$minutes</span><span style="color: #007700">.</span><span style="color: #DD0000">'min'</span><span style="color: #007700">.(</span><span style="color: #0000BB">$minutes</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">1</span><span style="color: #007700">?</span><span style="color: #DD0000">''</span><span style="color: #007700">:</span><span style="color: #DD0000">''</span><span style="color: #007700">):</span><span style="color: #DD0000">''</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}elseif&nbsp;(</span><span style="color: #0000BB">$minutes</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;sólo&nbsp;minutos&nbsp;transcurridos<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$relative_date&nbsp;</span><span style="color: #007700">.=&nbsp;(</span><span style="color: #0000BB">$relative_date</span><span style="color: #007700">?</span><span style="color: #DD0000">',&nbsp;'</span><span style="color: #007700">:</span><span style="color: #DD0000">''</span><span style="color: #007700">).</span><span style="color: #0000BB">$minutes</span><span style="color: #007700">.</span><span style="color: #DD0000">'min'</span><span style="color: #007700">.(</span><span style="color: #0000BB">$minutes</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">1</span><span style="color: #007700">?</span><span style="color: #DD0000">''</span><span style="color: #007700">:</span><span style="color: #DD0000">''</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;sólo&nbsp;segundos&nbsp;transcurridos<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$relative_date&nbsp;</span><span style="color: #007700">.=&nbsp;(</span><span style="color: #0000BB">$relative_date</span><span style="color: #007700">?</span><span style="color: #DD0000">',&nbsp;'</span><span style="color: #007700">:</span><span style="color: #DD0000">''</span><span style="color: #007700">).</span><span style="color: #0000BB">$seconds</span><span style="color: #007700">.</span><span style="color: #DD0000">'seg'</span><span style="color: #007700">.(</span><span style="color: #0000BB">$seconds</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">1</span><span style="color: #007700">?</span><span style="color: #DD0000">'s'</span><span style="color: #007700">:</span><span style="color: #DD0000">''</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$relative_date</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$feed&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">SimplePie</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$feed</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">set_feed_url</span><span style="color: #007700">(</span><span style="color: #DD0000">'URL&nbsp;DE&nbsp;TU&nbsp;ARCHIVO&nbsp;RSS&nbsp;DE&nbsp;TWITTER&nbsp;O&nbsp;PLURK'</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$feed</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">init</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$new&nbsp;</span><span style="color: #007700">=&nbsp;array();<br />&nbsp;&nbsp;&nbsp;&nbsp;foreach(</span><span style="color: #0000BB">$feed</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">get_items</span><span style="color: #007700">()&nbsp;as&nbsp;</span><span style="color: #0000BB">$item</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$new</span><span style="color: #007700">[]&nbsp;=&nbsp;</span><span style="color: #0000BB">$item</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$itemlimit&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;foreach(</span><span style="color: #0000BB">$new&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">$item</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #FF8000">//&nbsp;hacemos&nbsp;un&nbsp;bucle&nbsp;que&nbsp;nos&nbsp;devolverá&nbsp;los&nbsp;posts<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if(</span><span style="color: #0000BB">$itemlimit</span><span style="color: #007700">==</span><span style="color: #0000BB">10</span><span style="color: #007700">)&nbsp;{&nbsp;break;&nbsp;}&nbsp;</span><span style="color: #FF8000">//&nbsp;con&nbsp;esto&nbsp;limitamos&nbsp;a&nbsp;que&nbsp;sólo&nbsp;se&nbsp;muestren&nbsp;10&nbsp;posts&nbsp;puedes&nbsp;editarlo&nbsp;y&nbsp;mostrar&nbsp;los&nbsp;que&nbsp;desees<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$link&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$item</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">get_permalink</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$fecha&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">doRelativeDate</span><span style="color: #007700">(</span><span style="color: #0000BB">$item</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">get_date</span><span style="color: #007700">(</span><span style="color: #0000BB">SIMPLEPIE_RELATIVE_DATE</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$title&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">utf8_decode</span><span style="color: #007700">(</span><span style="color: #0000BB">$item</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">get_title</span><span style="color: #007700">());<br /></span><span style="color: #0000BB">?&gt;<br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;a&nbsp;href="<span style="color: #0000BB">&lt;?=$link?&gt;</span>"&nbsp;target="_blank"&gt;&lt;strong&gt;<span style="color: #0000BB">&lt;?=$fecha?&gt;</span>:&lt;/strong&gt;&lt;/a&gt;&lt;br&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000BB">&lt;?=$contenido?&gt;<br />&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$itemlimit&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$itemlimit&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;aumentamos&nbsp;un&nbsp;post&nbsp;en&nbsp;cada&nbsp;pasada&nbsp;del&nbsp;bucle<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div><br />
<br />
Ahí lo tienen, como repito, no es muy complicado el script es el mismo para ambos casos, sólo varía la URL del archivo RSS y listo, en la web de <a target="_blank" href="http://simplepie.org">SimplePie</a> tienen más ejemplos sobre cómo aplicar esta librería, espero que les pueda ser útil.</div><hr /><p style="height: 65px;"><img src="http://www.celulaweb.net/img/cesar.jpg" alt="" style="float: left; border: 0; margin-right: 10px;" /><strong>César Aquino</strong> para <a href="http://www.celulaweb.net">CelulaWeb</a><br />Publicado el: 10 de Jun. del 2008 a las 10:59<br /><a href="http://www.celulaweb.net/2008/06/10/twitter-y-plurk-en-tu-web-o-blog-con-php-y-simplepie#comentar">Comenta este post</a> | <a href="http://www.celulaweb.net/2008/06/10/twitter-y-plurk-en-tu-web-o-blog-con-php-y-simplepie/">Enlace permamente al post</a></p><hr style="clear: both;" /><p><a href="http://twitter.com/CelulaWeb"><img src="http://www.celulaweb.net/img/twitterbutton.png" style="border: 0;" alt="" /></a> <a href="http://www.facebook.com/celulaweb"><img src="http://www.celulaweb.net/img/facebook_button.png" alt="" style="border: 0;" /></a></p>]]></content:encoded>
				</item>
		        		<item>
					<title><![CDATA[Sistema de encuestas con restricción de IP]]></title>
					<link>http://www.celulaweb.net/2007/11/27/sistema-de-encuestas-con-restriccion-de-ip/</link>
					<comments>http://www.celulaweb.net/2007/11/27/sistema-de-encuestas-con-restriccion-de-ip#comentarios</comments>
					<pubDate>Tue, 27 Nov 2007 17:01:41 -0600</pubDate>
                    <dc:creator>MijT</dc:creator>
					<category><![CDATA[PHP y MySQL]]></category>
					<guid isPermaLink="false">http://www.celulaweb.net/2007/11/27/sistema-de-encuestas-con-restriccion-de-ip#comentarios</guid>
					<description><![CDATA[He hecho este script basándome en uno que vi en PHP-Hispano, la diferencia con aquel script es que aquí he cambiado algunas cosas como por ejemplo, permitir que el administrador del site pueda añadir las opciones que se desee(el script original sólo permite 4 por encuesta), y también he modificado el script para que se pueda hacer restricciones de IP y el usuario pueda votar una sola vez sin necesidad de estar registrado(el original sólo permite votar a usuarios registrados).
]]></description>
                    <content:encoded><![CDATA[<div align="center"><img src="http://www.celulaweb.net/" alt="" /></div><div style="margin: 10px 0;"><a href="http://api.tweetmeme.com/share?url=http://www.celulaweb.net/2007/11/27/sistema-de-encuestas-con-restriccion-de-ip/"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://www.celulaweb.net/2007/11/27/sistema-de-encuestas-con-restriccion-de-ip/" style="float: left; margin-right: 7px; border: 0; height: 61px; width: 51px;" alt="" /></a>He hecho este script basándome en uno <a target="_blank" href="http://www.php-hispano.net/archivos/Scripts/81/1">que vi en PHP-Hispano</a>, la diferencia con aquel script es que aquí he cambiado algunas cosas como por ejemplo, permitir que el administrador del site pueda añadir las opciones que se desee(el script original sólo permite 4 por encuesta), y también he modificado el script para que se pueda hacer restricciones de IP y el usuario pueda votar una sola vez sin necesidad de estar registrado(el original sólo permite votar a usuarios registrados).<br />
<br />
Bueno, ahora vamos a la acción, lo primero que tenemos que hacer es crear las tablas en las que guardaremos los datos(Título de la encuesta, Opciones de las encuestas y la IP de los votantes), comov erán son en total 3 tablas, pues bien, si nuestro Hosting dispone de phpMyadmin, ingresamos en él con nuestro usuario y contraseña y nos vamos a la parte de SQL para empezar a crear nuestras tablas, que son las siguientes:<br />
<br />
<div class="php"><code><span style="color: #000000">
#&nbsp;Esta&nbsp;tabla&nbsp;contendrá&nbsp;los&nbsp;títulos&nbsp;de&nbsp;la&nbsp;encuesta<br /><br />CREATE&nbsp;TABLE&nbsp;`encuestas`&nbsp;(<br />&nbsp;&nbsp;`id_enc`&nbsp;int(5)&nbsp;NOT&nbsp;NULL&nbsp;auto_increment,<br />&nbsp;&nbsp;`pregunta`&nbsp;varchar(250)&nbsp;NOT&nbsp;NULL&nbsp;default&nbsp;'',<br />&nbsp;&nbsp;PRIMARY&nbsp;KEY&nbsp;&nbsp;(`id_enc`)<br />);<br /><br />#&nbsp;Esta&nbsp;tabla&nbsp;contendrá&nbsp;las&nbsp;opciones&nbsp;de&nbsp;cada&nbsp;encuesta&nbsp;creada<br /><br />CREATE&nbsp;TABLE&nbsp;`encuestas_opt`&nbsp;(<br />&nbsp;&nbsp;`id_opt`&nbsp;int(10)&nbsp;NOT&nbsp;NULL&nbsp;auto_increment,<br />&nbsp;&nbsp;`opciones`&nbsp;varchar(100)&nbsp;NOT&nbsp;NULL&nbsp;default&nbsp;'',<br />&nbsp;&nbsp;`num_votos`&nbsp;int(10)&nbsp;NOT&nbsp;NULL&nbsp;default&nbsp;'0',<br />&nbsp;&nbsp;`id_enc`&nbsp;int(6)&nbsp;NOT&nbsp;NULL&nbsp;default&nbsp;'0',<br />&nbsp;&nbsp;PRIMARY&nbsp;KEY&nbsp;&nbsp;(`id_opt`)<br />);<br /><br />#&nbsp;Esta&nbsp;tabla&nbsp;contendrá&nbsp;la&nbsp;IP&nbsp;de&nbsp;los&nbsp;votantes<br /><br />CREATE&nbsp;TABLE&nbsp;`encuestas_ip`&nbsp;(<br />&nbsp;&nbsp;`id_ip`&nbsp;int(10)&nbsp;NOT&nbsp;NULL&nbsp;auto_increment,<br />&nbsp;&nbsp;`ip_voto`&nbsp;varchar(15)&nbsp;NOT&nbsp;NULL&nbsp;default&nbsp;'',<br />&nbsp;&nbsp;PRIMARY&nbsp;KEY&nbsp;&nbsp;(`id_ip`)<br />)<br /></span>
</code></div><br />
<br />
Una vez creadas nuestras tablas en MySQL, pasamos a crear los scripts de nuestro sistema de encuestas.<br />
<br />
Lo primero será crear el archivo con el que nos conectaremos a MySQL, lo llamaremos acceso_DB.php<br />
<div class="php"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;$dbhost&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"localhost"</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//Host&nbsp;del&nbsp;mysql<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$dbuser&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"tu_usuario_de_mysql"</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//Usuario&nbsp;del&nbsp;mysql<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$dbpass&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"la_clave"</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//Password&nbsp;del&nbsp;mysql<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$db&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"base_de_datos"</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//db&nbsp;donde&nbsp;se&nbsp;creará&nbsp;la&nbsp;tabla&nbsp;users<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//conectamos&nbsp;y&nbsp;seleccionamos&nbsp;db<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mysql_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">"$dbhost"</span><span style="color: #007700">,</span><span style="color: #DD0000">"$dbuser"</span><span style="color: #007700">,</span><span style="color: #DD0000">"$dbpass"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mysql_select_db</span><span style="color: #007700">(</span><span style="color: #DD0000">"$db"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">session_start</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div><br />
<br />
Nuestro siguiente archivo será crear el script que con el que crearemos encuestas con sus respectivas opciones, a este archivo lo llamamos <strong>addencuesta.php</strong><br />
<div class="php"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">include(</span><span style="color: #DD0000">'acceso_DB.php'</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Este&nbsp;archivo&nbsp;contendrá&nbsp;nuestros&nbsp;datos&nbsp;de&nbsp;conexión&nbsp;a&nbsp;MySQL<br /></span><span style="color: #0000BB">?&gt;<br /></span>&lt;!DOCTYPE&nbsp;html&nbsp;PUBLIC&nbsp;"-//W3C//DTD&nbsp;XHTML&nbsp;1.0&nbsp;Transitional//EN"&nbsp;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;<br />&lt;html&nbsp;xmlns="http://www.w3.org/1999/xhtml"&nbsp;xml:lang="es"&nbsp;lang="es"&gt;<br />&lt;head&gt;<br />&lt;title&gt;Encuestas&lt;/title&gt;<br />&lt;meta&nbsp;name="distribution"&nbsp;content="global"&nbsp;/&gt;<br />&lt;meta&nbsp;name="robots"&nbsp;content="all"&nbsp;/&gt;<br />&lt;style&nbsp;type="text/css"&gt;<br />body&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;font-family:&nbsp;'Trebuchet&nbsp;MS',&nbsp;Verdana,&nbsp;Arial,&nbsp;Helvetica,&nbsp;sans-serif;&nbsp;/*&nbsp;Tahoma,Verdana,&nbsp;sans-serif*/<br />&nbsp;&nbsp;&nbsp;&nbsp;Font-size:&nbsp;10pt;<br />&nbsp;&nbsp;&nbsp;&nbsp;background:&nbsp;#fff;<br />&nbsp;&nbsp;&nbsp;&nbsp;padding:&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;margin:&nbsp;20px;<br />}<br />a.link&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;color:&nbsp;#0066cc;<br />&nbsp;&nbsp;&nbsp;&nbsp;text-decoration:&nbsp;none;<br />}<br />a.link:hover&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;text-decoration:&nbsp;underline;<br />}<br />.file&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;display:&nbsp;block;<br />}<br />label&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;display:&nbsp;block;<br />&nbsp;&nbsp;&nbsp;&nbsp;font-weight:&nbsp;bold;<br />}<br />span&nbsp;a&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;margin-left:&nbsp;1em;<br />}<br />&lt;/style&gt;<br />&lt;!--&nbsp;Este&nbsp;javascirpt&nbsp;nos&nbsp;permitirá&nbsp;tener&nbsp;la&nbsp;opción&nbsp;de&nbsp;agregar&nbsp;las&nbsp;opciones&nbsp;que&nbsp;deseemos&nbsp;agregar&nbsp;a&nbsp;cada&nbsp;encuesta&nbsp;--&gt;<br />&lt;script&nbsp;type="text/javascript"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;numero&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Funciones&nbsp;comunes<br />&nbsp;&nbsp;&nbsp;&nbsp;c&nbsp;=&nbsp;function&nbsp;(tag)&nbsp;{&nbsp;//&nbsp;Crea&nbsp;un&nbsp;elemento<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;document.createElement(tag);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;d&nbsp;=&nbsp;function&nbsp;(id)&nbsp;{&nbsp;//&nbsp;Retorna&nbsp;un&nbsp;elemento&nbsp;en&nbsp;base&nbsp;al&nbsp;id<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;document.getElementById(id);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;e&nbsp;=&nbsp;function&nbsp;(evt)&nbsp;{&nbsp;//&nbsp;Retorna&nbsp;el&nbsp;evento<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;(!evt)&nbsp;?&nbsp;event&nbsp;:&nbsp;evt;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;f&nbsp;=&nbsp;function&nbsp;(evt)&nbsp;{&nbsp;//&nbsp;Retorna&nbsp;el&nbsp;objeto&nbsp;que&nbsp;genera&nbsp;el&nbsp;evento<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;evt.srcElement&nbsp;?&nbsp;&nbsp;evt.srcElement&nbsp;:&nbsp;evt.target;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;addField&nbsp;=&nbsp;function&nbsp;()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;container&nbsp;=&nbsp;d('files');<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;span&nbsp;=&nbsp;c('SPAN');<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;span.className&nbsp;=&nbsp;'file';<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;span.id&nbsp;=&nbsp;'file'&nbsp;+&nbsp;(++numero);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;field&nbsp;=&nbsp;c('INPUT');<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;field.name&nbsp;=&nbsp;'opciones[]';<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;field.type&nbsp;=&nbsp;'text';<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a&nbsp;=&nbsp;c('A');<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.name&nbsp;=&nbsp;span.id;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.href&nbsp;=&nbsp;'#';<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.onclick&nbsp;=&nbsp;removeField;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.innerHTML&nbsp;=&nbsp;'Quitar';<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;span.appendChild(field);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;span.appendChild(a);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;container.appendChild(span);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;removeField&nbsp;=&nbsp;function&nbsp;(evt)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lnk&nbsp;=&nbsp;f(e(evt));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;span&nbsp;=&nbsp;d(lnk.name);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;span.parentNode.removeChild(span);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&lt;/script&gt;<br />&lt;/head&gt;<br />&lt;body&gt;<br /><span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if(isset(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'enviar'</span><span style="color: #007700">]))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'pregunta'</span><span style="color: #007700">]&nbsp;==&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"No&nbsp;has&nbsp;ingresado&nbsp;la&nbsp;pregunta&nbsp;de&nbsp;la&nbsp;encuesta.&nbsp;&lt;a&nbsp;class='link'&nbsp;href='javascript:history.back()'&gt;Regresar&lt;/a&gt;"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$pregunta&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">strip_tags</span><span style="color: #007700">(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'pregunta'</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #DD0000">"INSERT&nbsp;INTO&nbsp;encuestas&nbsp;(pregunta)&nbsp;VALUES('"</span><span style="color: #007700">.</span><span style="color: #0000BB">$pregunta</span><span style="color: #007700">.</span><span style="color: #DD0000">"')"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$id_enc&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_insert_id</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$cont&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'0'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$cant&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">count</span><span style="color: #007700">(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'opciones'</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(</span><span style="color: #0000BB">$cont&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">$cant</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$opciones&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'opciones'</span><span style="color: #007700">][</span><span style="color: #DD0000">"$cont"</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$sql&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #DD0000">"INSERT&nbsp;INTO&nbsp;encuestas_opt&nbsp;(opciones,&nbsp;id_enc)&nbsp;VALUES&nbsp;('"</span><span style="color: #007700">.</span><span style="color: #0000BB">$opciones</span><span style="color: #007700">.</span><span style="color: #DD0000">"',&nbsp;'"</span><span style="color: #007700">.</span><span style="color: #0000BB">$id_enc</span><span style="color: #007700">.</span><span style="color: #DD0000">"')"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$cont</span><span style="color: #007700">++;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #0000BB">?&gt;<br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div&nbsp;style="border:&nbsp;1px&nbsp;solid&nbsp;#e0e0e0;&nbsp;background:&nbsp;#f7f7f7;&nbsp;padding:&nbsp;5px;&nbsp;text-align:&nbsp;center;&nbsp;margin-top:&nbsp;100px;"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;strong&gt;Encuesta&nbsp;creada&nbsp;correctamente&lt;/strong&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;<br /><span style="color: #0000BB">&lt;?php&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;mysql_query</span><span style="color: #007700">(</span><span style="color: #DD0000">"DELETE&nbsp;FROM&nbsp;encuestas_ip"</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Limpiamos&nbsp;la&nbsp;tabla&nbsp;encuestas_ip&nbsp;para&nbsp;permitir&nbsp;a&nbsp;los&nbsp;anteriores&nbsp;votantes&nbsp;poder&nbsp;votar&nbsp;en&nbsp;esta&nbsp;nueva&nbsp;encuesta<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;{<br /></span><span style="color: #0000BB">?&gt;<br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div&nbsp;style="font-size:&nbsp;17px;&nbsp;color:&nbsp;#0066cc;"&gt;Crear&nbsp;encuesta&lt;/div&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;form&nbsp;name="frm"&nbsp;id="frm"&nbsp;action="addencuesta.php"&nbsp;method="post"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;label&gt;Título&nbsp;de&nbsp;la&nbsp;encuesta:&lt;/label&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;type="text"&nbsp;name="pregunta"&nbsp;size="30"&nbsp;/&gt;&lt;br&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;label&gt;Opciones:&lt;/label&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;a&nbsp;class="link"&nbsp;href="#"&nbsp;onclick="addField()"&nbsp;accesskey="5"&gt;Añadir&nbsp;opciones&lt;/a&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div&nbsp;id="files"&gt;&lt;/div&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;type="submit"&nbsp;value="Guardar&nbsp;datos"&nbsp;id="envia"&nbsp;name="enviar"&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/form&gt;<br /><span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br /></span><span style="color: #0000BB">?&gt;<br /></span>&lt;/body&gt;<br />&lt;/html&gt;</span>
</code></div><br />
<br />
A este archivo lo llamaremos <strong>encuestas.php</strong>, y será el que nos muestre la encuesta para votar y los resultados de la misma si ya se ha votado:<br />
<div class="php"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">include(</span><span style="color: #DD0000">'acceso_DB.php'</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ipencuesta&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$_SERVER</span><span style="color: #007700">[</span><span style="color: #DD0000">'REMOTE_ADDR'</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$sql&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #DD0000">"SELECT&nbsp;*&nbsp;FROM&nbsp;encuestas_ip&nbsp;WHERE&nbsp;ip_voto&nbsp;LIKE&nbsp;'"</span><span style="color: #007700">.</span><span style="color: #0000BB">$ipencuesta</span><span style="color: #007700">.</span><span style="color: #DD0000">"'"</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #0000BB">mysql_error</span><span style="color: #007700">());<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$votadas&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_fetch_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$sql</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">mysql_num_rows</span><span style="color: #007700">(</span><span style="color: #0000BB">$sql</span><span style="color: #007700">)&nbsp;==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$sql_enc&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #DD0000">"SELECT&nbsp;*&nbsp;FROM&nbsp;encuestas&nbsp;ORDER&nbsp;BY&nbsp;id_enc&nbsp;DESC&nbsp;LIMIT&nbsp;0,1"</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #0000BB">mysql_error</span><span style="color: #007700">());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(</span><span style="color: #0000BB">$row&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_fetch_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$sql_enc</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$id_enc&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$row</span><span style="color: #007700">[</span><span style="color: #DD0000">'id_enc'</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$pregunta&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$row</span><span style="color: #007700">[</span><span style="color: #DD0000">'pregunta'</span><span style="color: #007700">];<br /></span><span style="color: #0000BB">?&gt;<br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div&nbsp;style="text-align:&nbsp;center;"&gt;&lt;strong&gt;<span style="color: #0000BB">&lt;?=$pregunta?&gt;</span>&lt;/strong&gt;&lt;/div&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;form&nbsp;method="post"&nbsp;action="votarencuesta.php"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$opt&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #DD0000">"SELECT&nbsp;*&nbsp;FROM&nbsp;encuestas_opt&nbsp;WHERE&nbsp;id_enc='"</span><span style="color: #007700">.</span><span style="color: #0000BB">$id_enc</span><span style="color: #007700">.</span><span style="color: #DD0000">"'"</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #0000BB">mysql_error</span><span style="color: #007700">());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(</span><span style="color: #0000BB">$row2&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_fetch_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$opt</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$id_opt&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$row2</span><span style="color: #007700">[</span><span style="color: #DD0000">'id_opt'</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$opciones&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$row2</span><span style="color: #007700">[</span><span style="color: #DD0000">'opciones'</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$num_votos&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$row2</span><span style="color: #007700">[</span><span style="color: #DD0000">'num_votos'</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">?&gt;<br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;type="radio"&nbsp;name="opciones"&nbsp;value="<span style="color: #0000BB">&lt;?=$id_opt?&gt;</span>"&nbsp;/&gt;&nbsp;<span style="color: #0000BB">&lt;?=$opciones?&gt;</span>&lt;br&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">?&gt;<br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div&nbsp;style="text-align:&nbsp;center;&nbsp;padding:&nbsp;10px;"&gt;&lt;input&nbsp;type="submit"&nbsp;name="votar"&nbsp;value="Votar"&nbsp;/&gt;&lt;/div&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/form&gt;<br /><span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$encuesta&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #DD0000">"SELECT&nbsp;*&nbsp;FROM&nbsp;encuestas&nbsp;ORDER&nbsp;BY&nbsp;id_enc&nbsp;DESC&nbsp;LIMIT&nbsp;0,1"</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #0000BB">mysql_error</span><span style="color: #007700">());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(</span><span style="color: #0000BB">$datos&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_fetch_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$encuesta</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$id_enc&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$datos</span><span style="color: #007700">[</span><span style="color: #DD0000">'id_enc'</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$pregunta&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$datos</span><span style="color: #007700">[</span><span style="color: #DD0000">'pregunta'</span><span style="color: #007700">];<br /></span><span style="color: #0000BB">?&gt;<br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div&nbsp;style="text-align:&nbsp;center;"&gt;&lt;strong&gt;<span style="color: #0000BB">&lt;?=$pregunta?&gt;</span>&lt;/strong&gt;&lt;/div&gt;<br /><span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$rs&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #DD0000">"SELECT&nbsp;sum(num_votos)&nbsp;FROM&nbsp;encuestas_opt&nbsp;WHERE&nbsp;id_enc='"</span><span style="color: #007700">.</span><span style="color: #0000BB">$id_enc</span><span style="color: #007700">.</span><span style="color: #DD0000">"'"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tot&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_result</span><span style="color: #007700">(</span><span style="color: #0000BB">$rs</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$opts&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #DD0000">"SELECT&nbsp;*&nbsp;FROM&nbsp;encuestas_opt&nbsp;WHERE&nbsp;id_enc='"</span><span style="color: #007700">.</span><span style="color: #0000BB">$id_enc</span><span style="color: #007700">.</span><span style="color: #DD0000">"'"</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #0000BB">mysql_error</span><span style="color: #007700">());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(</span><span style="color: #0000BB">$dat2&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_fetch_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$opts</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$id_opt&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$dat2</span><span style="color: #007700">[</span><span style="color: #DD0000">'id_opt'</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$opciones&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$dat2</span><span style="color: #007700">[</span><span style="color: #DD0000">'opciones'</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$num_votos&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$dat2</span><span style="color: #007700">[</span><span style="color: #DD0000">'num_votos'</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ptos&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$num_votos&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">100</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$porcentaje&nbsp;</span><span style="color: #007700">=&nbsp;@</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">$ptos</span><span style="color: #007700">/</span><span style="color: #0000BB">$tot</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;<br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;strong&gt;<span style="color: #0000BB">&lt;?=$opciones?&gt;</span>&lt;/strong&gt;&nbsp;-&nbsp;<span style="color: #0000BB">&lt;?=$num_votos?&gt;</span>&nbsp;votos&nbsp;-&nbsp;<span style="color: #0000BB">&lt;?=$porcentaje?&gt;</span>%<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;&lt;div&nbsp;style="width:&nbsp;<span style="color: #0000BB">&lt;?=$porcentaje?&gt;</span>%;&nbsp;height:&nbsp;10px;&nbsp;background:&nbsp;#009900;"&gt;&lt;/div&gt;<br /><span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br /></span><span style="color: #0000BB">?&gt;<br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div&nbsp;style="text-align:&nbsp;center;&nbsp;font-size:&nbsp;11px;"&gt;Votos&nbsp;totales:&nbsp;&lt;strong&gt;<span style="color: #0000BB">&lt;?=$tot?&gt;</span>&lt;/strong&gt;&lt;/div&gt;<br /><span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div><br />
<br />
Para finalizar, el archivo que guardará los votos y la IP del votante en la BD, lo llamaremos <strong>votarencuesta.php</strong><br />
<div class="php"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">include(</span><span style="color: #DD0000">'acceso_DB.php'</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Este&nbsp;archivo&nbsp;contendrá&nbsp;nuestros&nbsp;datos&nbsp;de&nbsp;conexión&nbsp;a&nbsp;MySQL<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if(isset(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'votar'</span><span style="color: #007700">]))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'opciones'</span><span style="color: #007700">]&nbsp;==&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"No&nbsp;se&nbsp;ha&nbsp;seleccionado&nbsp;ninguna&nbsp;opción.&nbsp;&lt;a&nbsp;href='javascript:history.back()'&gt;Regresar&lt;/a&gt;"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$opciones&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'opciones'</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$sql&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #DD0000">"SELECT&nbsp;*&nbsp;FROM&nbsp;encuestas_opt&nbsp;WHERE&nbsp;id_opt='"</span><span style="color: #007700">.</span><span style="color: #0000BB">$opciones</span><span style="color: #007700">.</span><span style="color: #DD0000">"'"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$row&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_fetch_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$sql</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$suma&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$row</span><span style="color: #007700">[</span><span style="color: #DD0000">'num_votos'</span><span style="color: #007700">]+</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ip_votar&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$_SERVER</span><span style="color: #007700">[</span><span style="color: #DD0000">'REMOTE_ADDR'</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #DD0000">"UPDATE&nbsp;encuestas_opt&nbsp;SET&nbsp;num_votos='"</span><span style="color: #007700">.</span><span style="color: #0000BB">$suma</span><span style="color: #007700">.</span><span style="color: #DD0000">"'&nbsp;WHERE&nbsp;id_opt='"</span><span style="color: #007700">.</span><span style="color: #0000BB">$opciones</span><span style="color: #007700">.</span><span style="color: #DD0000">"'"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #DD0000">"INSERT&nbsp;INTO&nbsp;encuestas_ip&nbsp;(ip_voto)&nbsp;VALUES('"</span><span style="color: #007700">.</span><span style="color: #0000BB">$ip_votar</span><span style="color: #007700">.</span><span style="color: #DD0000">"')"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$redir&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$_SERVER</span><span style="color: #007700">[</span><span style="color: #DD0000">'HTTP_REFERER'</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">header</span><span style="color: #007700">(</span><span style="color: #DD0000">"Location:&nbsp;$redir"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Operación&nbsp;incorrecta.&nbsp;&lt;a&nbsp;href='javascript:history.back()'&gt;Regresar&lt;/a&gt;"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div><br />
<br />
Con todo ello ya tendremos listo nuestro sistema de encuestas, ahora nos quedaría hacer un <a target="_blank" href="http://php.net/include">include()</a> a nuestro archivo <strong>encuestas.php</strong> en cualquier zona de nuestra web, foro o blog para empezar a utilizarla.<br />
<br />
El sistema es sencillo, pueden agregársele más cosas, por ejemplo un poco de AJAX para que los votos se hagan sin necesidad de recargar toda la página en la que esté incluida la encuesta, y demás cosillas que ustedes pueden integrarle. Espero que les pueda servir de utilidad.</div><hr /><p style="height: 65px;"><img src="http://www.celulaweb.net/img/cesar.jpg" alt="" style="float: left; border: 0; margin-right: 10px;" /><strong>César Aquino</strong> para <a href="http://www.celulaweb.net">CelulaWeb</a><br />Publicado el: 27 de Nov. del 2007 a las 17:01<br /><a href="http://www.celulaweb.net/2007/11/27/sistema-de-encuestas-con-restriccion-de-ip#comentar">Comenta este post</a> | <a href="http://www.celulaweb.net/2007/11/27/sistema-de-encuestas-con-restriccion-de-ip/">Enlace permamente al post</a></p><hr style="clear: both;" /><p><a href="http://twitter.com/CelulaWeb"><img src="http://www.celulaweb.net/img/twitterbutton.png" style="border: 0;" alt="" /></a> <a href="http://www.facebook.com/celulaweb"><img src="http://www.celulaweb.net/img/facebook_button.png" alt="" style="border: 0;" /></a></p>]]></content:encoded>
				</item>
		        		<item>
					<title><![CDATA[Resaltar palabras en una búsqueda a MySQL]]></title>
					<link>http://www.celulaweb.net/2007/05/05/resaltar-palabras-en-una-busqueda-a-mysql/</link>
					<comments>http://www.celulaweb.net/2007/05/05/resaltar-palabras-en-una-busqueda-a-mysql#comentarios</comments>
					<pubDate>Sat, 05 May 2007 23:00:18 -0500</pubDate>
                    <dc:creator>MijT</dc:creator>
					<category><![CDATA[PHP y MySQL]]></category>
					<guid isPermaLink="false">http://www.celulaweb.net/2007/05/05/resaltar-palabras-en-una-busqueda-a-mysql#comentarios</guid>
					<description><![CDATA[El día de ayer se me ocurrió realizar un script para hacer búsquedas en una tabla de MySQL que permitiera resaltar las palabras ingresadas, algo parecido a lo que hacen Google y otros búscadores y pues empecé a buscar algo de información para llevarlo a cabo, sin resultados satisfactorios, claro, quizás no sea muy bueno buscando cosas, lo acepto, pero de tanto buscar me aburrí y empecé a hacer uno por mi cuenta, logré conseguir hacer algo, pero no funcionaba al 100% es decir que cuando realizaba una búsqueda me resaltaba las palabras escritas exactamente igual a como lo había escrito en el formulario de búsqueda.
]]></description>
                    <content:encoded><![CDATA[<div align="center"><img src="http://www.celulaweb.net/" alt="" /></div><div style="margin: 10px 0;"><a href="http://api.tweetmeme.com/share?url=http://www.celulaweb.net/2007/05/05/resaltar-palabras-en-una-busqueda-a-mysql/"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://www.celulaweb.net/2007/05/05/resaltar-palabras-en-una-busqueda-a-mysql/" style="float: left; margin-right: 7px; border: 0; height: 61px; width: 51px;" alt="" /></a>El día de ayer se me ocurrió realizar un script para hacer búsquedas en una tabla de MySQL que permitiera resaltar las palabras ingresadas, algo parecido a lo que hacen Google y otros búscadores y pues empecé a buscar algo de información para llevarlo a cabo, sin resultados satisfactorios, claro, quizás no sea muy bueno buscando cosas, lo acepto, pero de tanto buscar me aburrí y empecé a hacer uno por mi cuenta, logré conseguir hacer algo, pero no funcionaba al 100% es decir que cuando realizaba una búsqueda me resaltaba las palabras escritas exactamente igual a como lo había escrito en el formulario de búsqueda.<br />
<br />
Muchos expertos al leer este artículo -si es que lo llegaran a leer- dirán, pero porqué no usar la función <a target="_blank" href="http://php.net/str_ireplace">str_ireplace()</a> de PHP para hacerlo si esta función como lo dice el manual <em>&quot;devuelve una cadena o una matriz con todas las ocurrencias de busqueda en asunto (ignorando mayúsculas y minúsculas) sustituidas por el reemplazo dado&quot;</em>. Sí, es verdad pero esa función sólo está disponible para PHP5 y mis proyectos corren en un servidor externo con PHP 4.x y pues tuve que ingeniármelas y crear una función para lograr lo que quería. Fue así que entré en <a target="_blank" href="http://www.forosdelweb.com">ForosdelWeb.com</a> una comunidad de desarrolladores web en la que frecuento y expuse mi duda, ahí surgió un usuario de nick <strong>panino5001</strong> a quien también conozco de la web <a target="_blank" href="http://php-hispano.net">PHP-Hispano.NET</a> y me ayudó a optimizar la función de resaltado de texto para obtener lo que quería con este script que ahora lo pongo a disposición de aquellos que también se encuentran buscando algo parecido.<br />
<br />
<div class="php"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">include(</span><span style="color: #DD0000">'bdconex.php'</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Este&nbsp;archivo&nbsp;contiene&nbsp;los&nbsp;datos&nbsp;de&nbsp;conexión&nbsp;a&nbsp;MySQL<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Creamos&nbsp;una&nbsp;función&nbsp;que&nbsp;resaltará&nbsp;todas&nbsp;las&nbsp;palabras&nbsp;que&nbsp;coincidan&nbsp;con&nbsp;la&nbsp;búsqueda&nbsp;realizada.&nbsp;Gracias&nbsp;a&nbsp;panino5001&nbsp;de&nbsp;forosdelweb.com&nbsp;por&nbsp;ayudarme&nbsp;a&nbsp;optimizarla<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if(!</span><span style="color: #0000BB">function_exists</span><span style="color: #007700">(</span><span style="color: #DD0000">'str_ireplace'</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;</span><span style="color: #0000BB">str_ireplace</span><span style="color: #007700">(</span><span style="color: #0000BB">$search</span><span style="color: #007700">,</span><span style="color: #0000BB">$replace</span><span style="color: #007700">,</span><span style="color: #0000BB">$subject</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$search&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">preg_quote</span><span style="color: #007700">(</span><span style="color: #0000BB">$search</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"/"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">preg_replace</span><span style="color: #007700">(</span><span style="color: #DD0000">"/"</span><span style="color: #007700">.</span><span style="color: #0000BB">$search</span><span style="color: #007700">.</span><span style="color: #DD0000">"/i"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$replace</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$subject</span><span style="color: #007700">);&nbsp;}&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;</span><span style="color: #0000BB">resaltar</span><span style="color: #007700">(</span><span style="color: #0000BB">$palabra</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$texto</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$aux</span><span style="color: #007700">=</span><span style="color: #0000BB">$reemp</span><span style="color: #007700">=</span><span style="color: #0000BB">str_ireplace</span><span style="color: #007700">(</span><span style="color: #0000BB">$palabra</span><span style="color: #007700">,</span><span style="color: #DD0000">'%s'</span><span style="color: #007700">,</span><span style="color: #0000BB">$texto</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$veces</span><span style="color: #007700">=</span><span style="color: #0000BB">substr_count</span><span style="color: #007700">(</span><span style="color: #0000BB">$reemp</span><span style="color: #007700">,</span><span style="color: #DD0000">'%s'</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">$veces</span><span style="color: #007700">==</span><span style="color: #0000BB">0</span><span style="color: #007700">)return&nbsp;</span><span style="color: #0000BB">$texto</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$palabras_originales</span><span style="color: #007700">=array();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">$i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">$i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">$veces</span><span style="color: #007700">;</span><span style="color: #0000BB">$i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$palabras_originales</span><span style="color: #007700">[]=</span><span style="color: #DD0000">'&lt;strong&gt;'</span><span style="color: #007700">.</span><span style="color: #0000BB">substr</span><span style="color: #007700">(</span><span style="color: #0000BB">$texto</span><span style="color: #007700">,</span><span style="color: #0000BB">strpos</span><span style="color: #007700">(</span><span style="color: #0000BB">$aux</span><span style="color: #007700">,</span><span style="color: #DD0000">'%s'</span><span style="color: #007700">),</span><span style="color: #0000BB">strlen</span><span style="color: #007700">(</span><span style="color: #0000BB">$palabra</span><span style="color: #007700">)).</span><span style="color: #DD0000">'&lt;/strong&gt;'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$aux</span><span style="color: #007700">=</span><span style="color: #0000BB">substr</span><span style="color: #007700">(</span><span style="color: #0000BB">$aux</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">,</span><span style="color: #0000BB">strpos</span><span style="color: #007700">(</span><span style="color: #0000BB">$aux</span><span style="color: #007700">,</span><span style="color: #DD0000">'%s'</span><span style="color: #007700">)).</span><span style="color: #0000BB">$palabra</span><span style="color: #007700">.</span><span style="color: #0000BB">substr</span><span style="color: #007700">(</span><span style="color: #0000BB">$aux</span><span style="color: #007700">,</span><span style="color: #0000BB">strlen</span><span style="color: #007700">(</span><span style="color: #0000BB">substr</span><span style="color: #007700">(</span><span style="color: #0000BB">$aux</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">,</span><span style="color: #0000BB">strpos</span><span style="color: #007700">(</span><span style="color: #0000BB">$aux</span><span style="color: #007700">,</span><span style="color: #DD0000">'%s'</span><span style="color: #007700">)))+</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">vsprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">$reemp</span><span style="color: #007700">,</span><span style="color: #0000BB">$palabras_originales</span><span style="color: #007700">);<br />&nbsp;&nbsp;}&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;iniciamos&nbsp;el&nbsp;proceso&nbsp;de&nbsp;búsqueda<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(isset(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">"buscar"</span><span style="color: #007700">]))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'palabra'</span><span style="color: #007700">]&nbsp;==&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"No&nbsp;has&nbsp;ingresado&nbsp;ninguna&nbsp;palabra&nbsp;a&nbsp;buscar&nbsp;&lt;a&nbsp;href='javascript:history.back()'&gt;Regresar&lt;/a&gt;"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tabla&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"nombre_tabla"</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;aquí&nbsp;pones&nbsp;el&nbsp;nombre&nbsp;de&nbsp;la&nbsp;tabla&nbsp;a&nbsp;la&nbsp;que&nbsp;deseas&nbsp;consultar<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$campo&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"nombre_campo"</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;aquí&nbsp;pones&nbsp;el&nbsp;nombre&nbsp;del&nbsp;campo&nbsp;de&nbsp;la&nbsp;tabla&nbsp;a&nbsp;la&nbsp;que&nbsp;deseas&nbsp;consultar<br />&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;quitamos&nbsp;cualquier&nbsp;código&nbsp;malicioso&nbsp;de&nbsp;$_POST['palabra']<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$palabra&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">stripslashes</span><span style="color: #007700">(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'palabra'</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$palabra&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">strip_tags</span><span style="color: #007700">(</span><span style="color: #0000BB">$palabra</span><span style="color: #007700">);<br />&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;</span><span style="color: #FF8000">//&nbsp;hacemos&nbsp;la&nbsp;consulta&nbsp;a&nbsp;la&nbsp;base&nbsp;de&nbsp;datos&nbsp;según&nbsp;la&nbsp;palabra&nbsp;enviada<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$query&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #DD0000">"SELECT&nbsp;*&nbsp;FROM&nbsp;$tabla&nbsp;WHERE&nbsp;$campo&nbsp;LIKE&nbsp;'%"</span><span style="color: #007700">.</span><span style="color: #0000BB">$palabra</span><span style="color: #007700">.</span><span style="color: #DD0000">"%'"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$mostrar&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_num_rows</span><span style="color: #007700">(</span><span style="color: #0000BB">$query</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;obtenemos&nbsp;la&nbsp;cantidad&nbsp;de&nbsp;coincidencias&nbsp;encontradas<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if(</span><span style="color: #0000BB">mysql_num_rows</span><span style="color: #007700">(</span><span style="color: #0000BB">$query</span><span style="color: #007700">)&nbsp;==&nbsp;</span><span style="color: #DD0000">"0"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"No&nbsp;hay&nbsp;coincidencias&nbsp;encontradas&nbsp;para&nbsp;&lt;strong&gt;"</span><span style="color: #007700">.</span><span style="color: #0000BB">$palabra</span><span style="color: #007700">.</span><span style="color: #DD0000">"&lt;/strong&gt;&nbsp;&lt;a&nbsp;href='javascript:history.back()'&gt;Regresar&lt;/a&gt;"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;{<br /></span><span style="color: #0000BB">?&gt;<br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Se&nbsp;han&nbsp;encontrado&nbsp;&lt;strong&gt;<span style="color: #0000BB">&lt;?=$mostrar?&gt;</span>&lt;/strong&gt;&nbsp;coincidencias&nbsp;para&nbsp;&lt;strong&gt;<span style="color: #0000BB">&lt;?=$palabra?&gt;</span>&lt;/strong&gt;<br /><span style="color: #0000BB">&lt;?php&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;&nbsp;&nbsp;</span><span style="color: #007700">while(</span><span style="color: #0000BB">$datos&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_fetch_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$query</span><span style="color: #007700">))&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$str&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$datos</span><span style="color: #007700">[</span><span style="color: #DD0000">"titulo"</span><span style="color: #007700">];<br /></span><span style="color: #0000BB">?&gt;</span>&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;&nbsp;&nbsp;&lt;ul&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&gt;<span style="color: #0000BB">&lt;?=resaltar</span><span style="color: #007700">(</span><span style="color: #0000BB">$palabra</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$str</span><span style="color: #007700">)</span><span style="color: #0000BB">?&gt;</span>&lt;/li&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/ul&gt;<br /><span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;{<br /></span><span style="color: #0000BB">?&gt;<br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;form&nbsp;action="buscar.php"&nbsp;method="post"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;name="palabra"&nbsp;type="text"&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;name="buscar"&nbsp;type="submit"&nbsp;value="Enviar"&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;/form&gt;<br /><span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div><br />
<br />
Ahí lo tienen, lo que hace el script es realizar una búsqueda a una tabla y campo determinados y devolver los resultados encontrados con las palabras ingresadas resaltadas en negrita(también se le puede colorear) de una manera similar a los resultados de Google, es lógico que este script se puede mejorar, pero tal como está ahora funciona muy bien, agradezco nuevamente a panino5001(<a target="_blank" href="http://www.forosdelweb.com">Forosdelweb.com</a>) o panino(<a target="_blank" href="http://php-hispano.net">PHP-Hispano.NET</a>) por ayudarme a optimizar la función de resaltado de texto, te pasaste brother!.</div><hr /><p style="height: 65px;"><img src="http://www.celulaweb.net/img/cesar.jpg" alt="" style="float: left; border: 0; margin-right: 10px;" /><strong>César Aquino</strong> para <a href="http://www.celulaweb.net">CelulaWeb</a><br />Publicado el: 5 de Mayo del 2007 a las 23:00<br /><a href="http://www.celulaweb.net/2007/05/05/resaltar-palabras-en-una-busqueda-a-mysql#comentar">Comenta este post</a> | <a href="http://www.celulaweb.net/2007/05/05/resaltar-palabras-en-una-busqueda-a-mysql/">Enlace permamente al post</a></p><hr style="clear: both;" /><p><a href="http://twitter.com/CelulaWeb"><img src="http://www.celulaweb.net/img/twitterbutton.png" style="border: 0;" alt="" /></a> <a href="http://www.facebook.com/celulaweb"><img src="http://www.celulaweb.net/img/facebook_button.png" alt="" style="border: 0;" /></a></p>]]></content:encoded>
				</item>
		        		<item>
					<title><![CDATA[Valoración de artículos con restricción de IP]]></title>
					<link>http://www.celulaweb.net/2007/04/08/valoracion-de-articulos-con-restriccion-de-ip/</link>
					<comments>http://www.celulaweb.net/2007/04/08/valoracion-de-articulos-con-restriccion-de-ip#comentarios</comments>
					<pubDate>Sun, 08 Apr 2007 01:03:43 -0500</pubDate>
                    <dc:creator>MijT</dc:creator>
					<category><![CDATA[PHP y MySQL]]></category>
					<guid isPermaLink="false">http://www.celulaweb.net/2007/04/08/valoracion-de-articulos-con-restriccion-de-ip#comentarios</guid>
					<description><![CDATA[Muchas veces cuando desarrollamos un script ya sea para publicar artículos para un blog, noticias, tutoriales, etc. lo que deseamos es que nuestros lectores califiquen cada uno de estas publicaciones según su punto de vista. Pues bien, en esta ocación voy a explicar como hacer un sencillo script que permita a nuestros lectores a validar nuestros artículos, aunque siempre se nos viene a la cabeza la pregunta: Sólo quiero que el usuario vote una sola vez a cada artículo, ¿Cómo hago esto?, muy fácil. El script que mostraré a continuación es una modificación de uno existente en la web Desarrolloweb.com y que como repito, he modificado para que nos permita votar una sola vez restringiendo nuestra IP.
]]></description>
                    <content:encoded><![CDATA[<div align="center"><img src="http://www.celulaweb.net/" alt="" /></div><div style="margin: 10px 0;"><a href="http://api.tweetmeme.com/share?url=http://www.celulaweb.net/2007/04/08/valoracion-de-articulos-con-restriccion-de-ip/"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://www.celulaweb.net/2007/04/08/valoracion-de-articulos-con-restriccion-de-ip/" style="float: left; margin-right: 7px; border: 0; height: 61px; width: 51px;" alt="" /></a>Muchas veces cuando desarrollamos un script ya sea para publicar artículos para un blog, noticias, tutoriales, etc. lo que deseamos es que nuestros lectores califiquen cada uno de estas publicaciones según su punto de vista. Pues bien, en esta ocación voy a explicar como hacer un sencillo script que permita a nuestros lectores a validar nuestros artículos, aunque siempre se nos viene a la cabeza la pregunta: Sólo quiero que el usuario vote una sola vez a cada artículo, ¿Cómo hago esto?, muy fácil. El script que mostraré a continuación es una modificación de uno existente en la web <a target="_blank" href="http://www.desarrolloweb.com/articulos/1996.php">Desarrolloweb.com</a> y que como repito, he modificado para que nos permita votar una sola vez restringiendo nuestra IP.<br />
<br />
Lo primero que haremos será entrar en nuestra base de datos y añadir dos campos a nuestra tabla de artículos:<br />
<br />
num_votos del tipo INT(10) // cantidad modificable<br />
ptos del tipo INT(10) // cantidad modificable<br />
<br />
Lo siguiente será crear la tabla que almacenará la IP del votante y la ID del artículo a la que está votando.<br />
<br />
<div class="php"><code><span style="color: #000000">
CREATE&nbsp;TABLE&nbsp;`valoraciones`&nbsp;(<br />&nbsp;&nbsp;`id_val`&nbsp;int(10)&nbsp;NOT&nbsp;NULL&nbsp;auto_increment,<br />&nbsp;&nbsp;`id_news`&nbsp;int(9)&nbsp;NOT&nbsp;NULL&nbsp;default&nbsp;'0',<br />&nbsp;&nbsp;`ipvoto`&nbsp;varchar(15)&nbsp;NOT&nbsp;NULL&nbsp;default&nbsp;'',<br />&nbsp;&nbsp;PRIMARY&nbsp;KEY&nbsp;&nbsp;(`id_val`)<br />)</span>
</code></div><br />
<br />
A continuación pasaremos a crear los script que emitirán los votos y validarán que la IP desde donde se enviara el voto no exosta ya en la BD. El primer script será el que validará la IP<br />
<br />
<div class="php"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;a&nbsp;este&nbsp;archivo&nbsp;lo&nbsp;llamaremos&nbsp;valoraciones.php<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">include(</span><span style="color: #DD0000">'datosconex.php'</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;este&nbsp;archivo&nbsp;contiene&nbsp;los&nbsp;datos&nbsp;de&nbsp;conexión&nbsp;a&nbsp;la&nbsp;BD<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$SSQL&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #DD0000">"SELECT&nbsp;*&nbsp;FROM&nbsp;valoraciones&nbsp;WHERE&nbsp;id_news='$id_news'"</span><span style="color: #007700">)or&nbsp;die(</span><span style="color: #0000BB">mysql_error</span><span style="color: #007700">());<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$votadas&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_fetch_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$SSQL</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">$votadas</span><span style="color: #007700">[</span><span style="color: #DD0000">'ipvoto'</span><span style="color: #007700">]&nbsp;!=&nbsp;</span><span style="color: #0000BB">$_SERVER</span><span style="color: #007700">[</span><span style="color: #DD0000">'REMOTE_ADDR'</span><span style="color: #007700">])&nbsp;{<br /></span><span style="color: #0000BB">?&gt;</span>&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;form&nbsp;action="votar.php"&nbsp;method="post"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;type="hidden"&nbsp;name="id_news"&nbsp;value="<span style="color: #0000BB">&lt;?=$id_news?&gt;</span>"&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;strong&gt;Nueva&nbsp;valoración:&lt;/strong&gt;&lt;br&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;select&nbsp;name="valor"&nbsp;id="valor"&nbsp;style="width:&nbsp;50px;"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000BB">&lt;?&nbsp;&nbsp;</span><span style="color: #007700">for&nbsp;(</span><span style="color: #0000BB">$i</span><span style="color: #007700">=</span><span style="color: #0000BB">1</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">$i</span><span style="color: #007700">&lt;=</span><span style="color: #0000BB">10&nbsp;</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">$i</span><span style="color: #007700">++)&nbsp;echo&nbsp;</span><span style="color: #DD0000">'&lt;option&nbsp;value="'</span><span style="color: #007700">.</span><span style="color: #0000BB">$i</span><span style="color: #007700">.</span><span style="color: #DD0000">'"&gt;'</span><span style="color: #007700">.</span><span style="color: #0000BB">$i</span><span style="color: #007700">.</span><span style="color: #DD0000">'&lt;/option&gt;'</span><span style="color: #007700">;</span><span style="color: #0000BB">?&gt;<br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/select&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;type="submit"&nbsp;name="enviar"&nbsp;value="Enviar&nbsp;votación"&nbsp;style="background:&nbsp;#2d2d2d;&nbsp;color:&nbsp;#fff;"&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/form&gt;&lt;br&nbsp;/&gt;<br /><span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}else&nbsp;{<br /></span><span style="color: #0000BB">?&gt;<br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div&nbsp;style="border:&nbsp;1px&nbsp;solid&nbsp;#FF0000;&nbsp;padding:&nbsp;7px;&nbsp;color:&nbsp;#FF0000;&nbsp;background:&nbsp;#F9B8B3;"&gt;Tu&nbsp;voto&nbsp;en&nbsp;esta&nbsp;noticia&nbsp;ya&nbsp;se&nbsp;ha&nbsp;contabilizado.&lt;/div&gt;<br /><span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div><br />
<br />
Ahora pasamos a crear el script que será el que guarde los votos en la tabla <strong>valoraciones</strong> y a su vez actualise en la tabla <strong>noticias</strong> el número de votos y puntos obtenidos.<br />
<br />
<div class="php"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;a&nbsp;este&nbsp;archivo&nbsp;lo&nbsp;llamamos&nbsp;votar.php<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if(isset(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'enviar'</span><span style="color: #007700">])){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;include(</span><span style="color: #DD0000">'datosconex.php'</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #DD0000">"INSERT&nbsp;INTO&nbsp;valoraciones&nbsp;(id_news,ipvoto)&nbsp;VALUES('"</span><span style="color: #007700">.</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #0000BB">id_news</span><span style="color: #007700">].</span><span style="color: #DD0000">"','$REMOTE_ADDR')"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$resp&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #DD0000">"SELECT&nbsp;*&nbsp;FROM&nbsp;noticias&nbsp;WHERE&nbsp;id_news='$id_news'"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$datos&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_fetch_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$resp</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$suma&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$datos</span><span style="color: #007700">[</span><span style="color: #DD0000">"num_votos"</span><span style="color: #007700">]+</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #DD0000">"UPDATE&nbsp;noticias&nbsp;SET&nbsp;num_votos='$suma',ptos=ptos+"</span><span style="color: #007700">.</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #0000BB">valor</span><span style="color: #007700">].</span><span style="color: #DD0000">"&nbsp;WHERE&nbsp;id_news='$id_news'"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$redirigir&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$_SERVER</span><span style="color: #007700">[</span><span style="color: #DD0000">'HTTP_REFERER'</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">header</span><span style="color: #007700">(</span><span style="color: #DD0000">"Location:&nbsp;$redirigir"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;{<br /></span><span style="color: #0000BB">?&gt;<br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;center&gt;&lt;div&nbsp;style="border:&nbsp;1px&nbsp;solid&nbsp;#FF0000;&nbsp;width:&nbsp;450px;&nbsp;padding:&nbsp;7px;&nbsp;color:&nbsp;#FF0000;&nbsp;background:&nbsp;#F9B8B3;&nbsp;font:Verdana,&nbsp;Arial,&nbsp;Helvetica,&nbsp;sans-serif;&nbsp;font-size:&nbsp;9pt;"&gt;Estás&nbsp;realizando&nbsp;una&nbsp;operación&nbsp;incorrecta.&lt;br&nbsp;/&gt;&lt;a&nbsp;href="javascript:history.back()"&gt;&lt;strong&gt;Regresar&lt;/strong&gt;&lt;/a&gt;&lt;/div&gt;&lt;/center&gt;<br /><span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div><br />
<br />
Luego incluimos el script <strong>valoraciones.php</strong> dentro de nuestro archivo que muestra la noticia usando la función <a target="_blank" href="http://php.net/include">include()</a> y mostramos los datos de puntuación y número de votos que va recibiendo la noticia conforme se vayan emitiendo las votaciones de la siguiente manera:<br />
<br />
<div class="php"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;por&nbsp;aquí&nbsp;hacemos&nbsp;la&nbsp;consulta&nbsp;a&nbsp;la&nbsp;tabla&nbsp;de&nbsp;noticias<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$total_val&nbsp;</span><span style="color: #007700">=&nbsp;@</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">$datos</span><span style="color: #007700">[</span><span style="color: #0000BB">ptos</span><span style="color: #007700">]/</span><span style="color: #0000BB">$datos</span><span style="color: #007700">[</span><span style="color: #0000BB">num_votos</span><span style="color: #007700">],</span><span style="color: #0000BB">2</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;obtenemos&nbsp;la&nbsp;valoración&nbsp;total&nbsp;y&nbsp;hacemos&nbsp;uso&nbsp;de&nbsp;la&nbsp;función&nbsp;round()&nbsp;para&nbsp;tomar&nbsp;sólo&nbsp;dos&nbsp;decimales<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$porcentaje&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$total_val&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">10</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;mostramos&nbsp;los&nbsp;votos&nbsp;totales,&nbsp;los&nbsp;puntos&nbsp;obtenidos&nbsp;y&nbsp;dibujamos&nbsp;una&nbsp;pequeña&nbsp;gráfica&nbsp;que&nbsp;irá&nbsp;señalando&nbsp;la&nbsp;puntuación&nbsp;recibida&nbsp;teniendo&nbsp;como&nbsp;base&nbsp;10&nbsp;ptos.<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">div&nbsp;style</span><span style="color: #007700">=</span><span style="color: #DD0000">"background-color:#EFEFEF;&nbsp;width:&nbsp;100px;&nbsp;text-align:&nbsp;left;&nbsp;float:&nbsp;left;&nbsp;margin-right:&nbsp;5px;&nbsp;border:&nbsp;1px&nbsp;solid&nbsp;#000;&nbsp;padding:&nbsp;1px;"</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;</span><span style="color: #0000BB">div&nbsp;style</span><span style="color: #007700">=</span><span style="color: #DD0000">"width:&nbsp;&lt;?=$porcentaje?&gt;px;&nbsp;height:&nbsp;7px;&nbsp;background:&nbsp;#000099;"</span><span style="color: #007700">&gt;&lt;/</span><span style="color: #0000BB">div</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;/</span><span style="color: #0000BB">div</span><span style="color: #007700">&gt;<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div><br />
<br />
Explicando a grandes rasgos ambos scripts lo que hemos hecho en el primer script(valoraciones.php) es hacer una consulta a la tabla <strong>valoraciones</strong> para saber si la IP del usuario que va a votar en dicha noticia ya está registrada de lo contrario no le permitirá hacer el voto, si no fuera ese el caso le mostrará un pequeño formulario con los valores que desea darle a dicho artículo.<br />
<br />
El segundo script(votar.php) recoge los datos del formulario y los guarda en la tabla <strong>valoraciones</strong> y a su vez actualiza los campos <strong>num_votos</strong> y <strong>ptos</strong> de la tabla <strong>noticias</strong>.<br />
<br />
Este script es modificable, así como lo modifiqué para que restrinja los votos por IP, se le pueden hacer otras mejoras, esto puede servir como base para aquellos que requieran de un sistema de votaciones para sus artículos, noticias, etc.</div><hr /><p style="height: 65px;"><img src="http://www.celulaweb.net/img/cesar.jpg" alt="" style="float: left; border: 0; margin-right: 10px;" /><strong>César Aquino</strong> para <a href="http://www.celulaweb.net">CelulaWeb</a><br />Publicado el: 8 de Abr. del 2007 a las 01:03<br /><a href="http://www.celulaweb.net/2007/04/08/valoracion-de-articulos-con-restriccion-de-ip#comentar">Comenta este post</a> | <a href="http://www.celulaweb.net/2007/04/08/valoracion-de-articulos-con-restriccion-de-ip/">Enlace permamente al post</a></p><hr style="clear: both;" /><p><a href="http://twitter.com/CelulaWeb"><img src="http://www.celulaweb.net/img/twitterbutton.png" style="border: 0;" alt="" /></a> <a href="http://www.facebook.com/celulaweb"><img src="http://www.celulaweb.net/img/facebook_button.png" alt="" style="border: 0;" /></a></p>]]></content:encoded>
				</item>
		        		<item>
					<title><![CDATA[Formularios más seguros con sistema CAPTCHA]]></title>
					<link>http://www.celulaweb.net/2007/03/26/formularios-mas-seguros-con-sistema-captcha/</link>
					<comments>http://www.celulaweb.net/2007/03/26/formularios-mas-seguros-con-sistema-captcha#comentarios</comments>
					<pubDate>Mon, 26 Mar 2007 18:05:51 -0500</pubDate>
                    <dc:creator>MijT</dc:creator>
					<category><![CDATA[PHP y MySQL]]></category>
					<guid isPermaLink="false">http://www.celulaweb.net/2007/03/26/formularios-mas-seguros-con-sistema-captcha#comentarios</guid>
					<description><![CDATA[Muchas veces cuando creamos un sitio web, blog o foro lo que nunca falta son los famosos formularios de contacto con el webmaster o administrador del site y el gran problema que nos lleva una aplicación de este tipo son los molestosos mensajes de spam que nos llegan al correo, en su mayoría enviados desde robots de spam valga la redundancia, una de las soluciones más efectivas a este incómodo hecho es utilizar un sistema denominado CAPTCHA.
]]></description>
                    <content:encoded><![CDATA[<div align="center"><img src="http://www.celulaweb.net/imgart/scriptcaptcha.jpg" alt="" /></div><div style="margin: 10px 0;"><a href="http://api.tweetmeme.com/share?url=http://www.celulaweb.net/2007/03/26/formularios-mas-seguros-con-sistema-captcha/"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://www.celulaweb.net/2007/03/26/formularios-mas-seguros-con-sistema-captcha/" style="float: left; margin-right: 7px; border: 0; height: 61px; width: 51px;" alt="" /></a>Muchas veces cuando creamos un sitio web, blog o foro lo que nunca falta son los famosos formularios de contacto con el webmaster o administrador del site y el gran problema que nos lleva una aplicación de este tipo son los molestosos mensajes de spam que nos llegan al correo, en su mayoría enviados desde robots de spam valga la redundancia, una de las soluciones más efectivas a este incómodo hecho es utilizar un sistema denominado <strong>CAPTCHA</strong>.<br />
<br />
Lo que explicaré a continuación es la creación de un script -usando PHP claro está- que cree un código aleatorio alfanumérico y lo escriba en una imagen para la cual usaremos la librería GD de PHP. Pero antes de empezar vamos a definir lo que es en sí el sistema <strong>CAPTCHA</strong>.<br />
<br />
<blockquote>Captcha es el acrónimo de Completely Automated Public Turing test to tell Computers and Humans Apart (Prueba de Turing pública y automática para diferenciar a máquinas y humanos).<br />
<br />
La típica prueba consiste en que el usuario introduzca un conjunto de caracteres que se muestran en una imagen distorsionada que aparece en pantalla. Se supone que una máquina no es capaz de comprender e introducir la secuencia de forma correcta por lo que solamente el humano podría hacerlo (salvo error).</blockquote><br />
<br />
Definido lo que es el sistema <strong>CAPTCHA</strong> vamos al script en si y a su utilización, quiero dejar claro que este script no es propio, sólo lo he modificado para utilizarlo en este tipo de formularios(contacto al admin, libros de visita, comentarios, etc.).<br />
<br />
Lo primero que haremos será crear el script que genere el código aleatorio y lo añada a una imagen que también crearemos usando como dije líneas arriba la librería gráfica GD de PHP. <br />
<br />
A este archivo lo podemos llamar <strong>captcha.php</strong><br />
<br />
<div class="php"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;session_start</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Genero&nbsp;el&nbsp;codigo&nbsp;y&nbsp;lo&nbsp;guardo&nbsp;en&nbsp;la&nbsp;sesión&nbsp;para&nbsp;consultarlo&nbsp;luego.<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$captchaCode&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">substr</span><span style="color: #007700">(</span><span style="color: #0000BB">sha1</span><span style="color: #007700">(</span><span style="color: #0000BB">microtime</span><span style="color: #007700">()&nbsp;*&nbsp;</span><span style="color: #0000BB">mktime</span><span style="color: #007700">()),&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">6</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$_SESSION</span><span style="color: #007700">[</span><span style="color: #DD0000">'CAPTCHA_CODE'</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">sha1</span><span style="color: #007700">(</span><span style="color: #0000BB">$captchaCode</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Genero&nbsp;la&nbsp;imagen<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$img&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">imagecreatetruecolor</span><span style="color: #007700">(</span><span style="color: #0000BB">70</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">25</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Colores<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$bgColor&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">imagecolorallocate</span><span style="color: #007700">(</span><span style="color: #0000BB">$img</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">230</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">230</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">230</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$stringColor&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">imagecolorallocate</span><span style="color: #007700">(</span><span style="color: #0000BB">$img</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">90</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">90</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">90</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$lineColor&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">imagecolorallocate</span><span style="color: #007700">(</span><span style="color: #0000BB">$img</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">245</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">245</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">245</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Fondo<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">imagefill</span><span style="color: #007700">(</span><span style="color: #0000BB">$img</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$bgColor</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">imageline</span><span style="color: #007700">(</span><span style="color: #0000BB">$img</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">5</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">70</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">5</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$lineColor</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">imageline</span><span style="color: #007700">(</span><span style="color: #0000BB">$img</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">10</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">70</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">10</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$lineColor</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">imageline</span><span style="color: #007700">(</span><span style="color: #0000BB">$img</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">15</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">70</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">15</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$lineColor</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">imageline</span><span style="color: #007700">(</span><span style="color: #0000BB">$img</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">20</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">70</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">20</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$lineColor</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">imageline</span><span style="color: #007700">(</span><span style="color: #0000BB">$img</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">12</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">12</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">25</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$lineColor</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">imageline</span><span style="color: #007700">(</span><span style="color: #0000BB">$img</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">24</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">24</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">25</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$lineColor</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">imageline</span><span style="color: #007700">(</span><span style="color: #0000BB">$img</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">36</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">36</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">25</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$lineColor</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">imageline</span><span style="color: #007700">(</span><span style="color: #0000BB">$img</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">48</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">48</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">25</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$lineColor</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">imageline</span><span style="color: #007700">(</span><span style="color: #0000BB">$img</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">60</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">60</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">25</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$lineColor</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Escribo&nbsp;el&nbsp;código<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">imageString</span><span style="color: #007700">(</span><span style="color: #0000BB">$img</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">5</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">8</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">5</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$captchaCode</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$stringColor</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Image&nbsp;output.<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">header</span><span style="color: #007700">(</span><span style="color: #DD0000">"Content-type:&nbsp;image/png"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">imagepng</span><span style="color: #007700">(</span><span style="color: #0000BB">$img</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div><br />
<br />
Tal como lo ven estamos haciendo uso de las funciones para tratamiento de imágenes propias de PHP, las mismas que ustedes mismos pueden encontrar en el <a target="_blank" href="http://www.php.net/manual/es">Manual Oficial de PHP</a><br />
<br />
Ahora bien, ya tenemos creada la imagen con el código aleatorio, lo que sigue será crear nuestro formulario y en él insertaremos la imagen que hemos creado con su respectiva validación para que los datos sean enviados correctamente al email.<br />
<br />
A este archivo podemos llamarlo <strong>contacto.php</strong><br />
<br />
<div class="php"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;session_start</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;if(isset(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'enviar'</span><span style="color: #007700">]))&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$Message&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$Captcha&nbsp;</span><span style="color: #007700">=&nbsp;(string)&nbsp;</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">"CAPTCHA_CODE"</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'nombre'</span><span style="color: #007700">]&nbsp;==&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"&lt;p&nbsp;style='color:&nbsp;#ff0000;'&gt;&lt;strong&gt;No&nbsp;has&nbsp;ingresado&nbsp;tu&nbsp;Nombre.&lt;/strong&gt;&lt;/p&gt;"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}elseif(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'email'</span><span style="color: #007700">]&nbsp;==&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"&lt;p&nbsp;style='color:&nbsp;#ff0000;'&gt;&lt;strong&gt;No&nbsp;has&nbsp;ingresado&nbsp;tu&nbsp;Email.&lt;/strong&gt;&lt;/p&gt;"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}elseif(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'asunto'</span><span style="color: #007700">]&nbsp;==&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"&lt;p&nbsp;style='color:&nbsp;#ff0000;'&gt;&lt;strong&gt;No&nbsp;has&nbsp;ingresado&nbsp;el&nbsp;Asunto&nbsp;del&nbsp;mensaje.&lt;/strong&gt;&lt;/p&gt;"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}elseif(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'mensaje'</span><span style="color: #007700">]&nbsp;==&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"&lt;p&nbsp;style='color:&nbsp;#ff0000;'&gt;&lt;strong&gt;No&nbsp;has&nbsp;ingresado&nbsp;el&nbsp;Mensaje.&lt;/strong&gt;&lt;/p&gt;"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}elseif(</span><span style="color: #0000BB">sha1</span><span style="color: #007700">(</span><span style="color: #0000BB">$Captcha</span><span style="color: #007700">)&nbsp;!=&nbsp;</span><span style="color: #0000BB">$_SESSION</span><span style="color: #007700">[</span><span style="color: #DD0000">"CAPTCHA_CODE"</span><span style="color: #007700">])&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$Message&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"&lt;p&nbsp;style='color:&nbsp;#ff0000;'&gt;&lt;strong&gt;El&nbsp;c&amp;oacute;digo&nbsp;de&nbsp;validaci&amp;oacute;n&nbsp;no&nbsp;ha&nbsp;sido&nbsp;ingresado&nbsp;o&nbsp;es&nbsp;incorrecto.&lt;/strong&gt;&lt;/p&gt;"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mail&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"tu_correo@tudominio.com"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"$asunto"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"$mensaje"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"From:&nbsp;$nombre&nbsp;&lt;$email&gt;"</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;coloque&nbsp;aqui&nbsp;su&nbsp;correo&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">'&lt;p&nbsp;style="color:&nbsp;#63A915;"&gt;&lt;strong&gt;El&nbsp;email&nbsp;ha&nbsp;sido&nbsp;enviado&nbsp;con&nbsp;éxito.&lt;/strong&gt;&lt;/p&gt;'</span><span style="color: #007700">;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;if(!empty(</span><span style="color: #0000BB">$Message</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Muestro&nbsp;los&nbsp;posibles&nbsp;errores&nbsp;de&nbsp;validación&nbsp;previos.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"$Message"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #FF8000">//&nbsp;Si&nbsp;aún&nbsp;no&nbsp;se&nbsp;han&nbsp;enviado&nbsp;los&nbsp;datos,&nbsp;mostramos&nbsp;el&nbsp;formulario<br /></span><span style="color: #0000BB">?&gt;<br /></span>&lt;form&nbsp;method="post"&nbsp;action="contacto.php"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;label&gt;Nombre&nbsp;/&nbsp;Nick:&lt;/label&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;type="text"&nbsp;name="nombre"&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;label&gt;Email:&lt;/label&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;name="email"&nbsp;type="text"&nbsp;size="45"&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;label&gt;Asunto:&lt;/label&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;name="asunto"&nbsp;type="text"&nbsp;size="60"&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;label&gt;Mensaje:&lt;/label&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;textarea&nbsp;name="mensaje"&nbsp;cols="80"&nbsp;rows="10"&gt;&lt;/textarea&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;label&gt;Código&nbsp;de&nbsp;seguridad:&lt;/label&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;img&nbsp;src="captcha.php"&nbsp;/&gt;&lt;input&nbsp;type="text"&nbsp;name="CAPTCHA_CODE"&nbsp;style="width:&nbsp;50px;"&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;p&nbsp;style="padding-top:&nbsp;5px;"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;type="submit"&nbsp;name="enviar"&nbsp;value="Enviar&nbsp;Mensaje"&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;type="reset"&nbsp;name="enviar"&nbsp;value="Borrar&nbsp;datos"&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;/p&gt;<br />&lt;/form&gt;</span>
</code></div><br />
<br />
Como se darán cuenta este último script lo que hace es mostrar el formulario con los campos solicitados además de la imagen CAPTCHA generada en el primer script, la cual hemos insertado usando la etiqueta xhtml &lt;img /&gt; la que nos devolverá el contenido binario de la imagen generada.<br />
<br />
Una vez que se hayan enviado los datos lo primero que se hará será validar uno a uno los datos ingresados incluido el código del CAPTCHA para definir si lo que ingresó el usuario es el mismo que el que aparece en la imagen generada.<br />
<br />
Listo, ya tenemos el formulario de contacto con el código CAPTCHA, ahora todo aquel usuario que quiera contactar con el webmaster o administrador deberá ingresar correctamente los datos para poder enviar correctamente el correo.</div><hr /><p style="height: 65px;"><img src="http://www.celulaweb.net/img/cesar.jpg" alt="" style="float: left; border: 0; margin-right: 10px;" /><strong>César Aquino</strong> para <a href="http://www.celulaweb.net">CelulaWeb</a><br />Publicado el: 26 de Mar. del 2007 a las 18:05<br /><a href="http://www.celulaweb.net/2007/03/26/formularios-mas-seguros-con-sistema-captcha#comentar">Comenta este post</a> | <a href="http://www.celulaweb.net/2007/03/26/formularios-mas-seguros-con-sistema-captcha/">Enlace permamente al post</a></p><hr style="clear: both;" /><p><a href="http://twitter.com/CelulaWeb"><img src="http://www.celulaweb.net/img/twitterbutton.png" style="border: 0;" alt="" /></a> <a href="http://www.facebook.com/celulaweb"><img src="http://www.celulaweb.net/img/facebook_button.png" alt="" style="border: 0;" /></a></p>]]></content:encoded>
				</item>
		        		<item>
					<title><![CDATA[Formulario de contacto]]></title>
					<link>http://www.celulaweb.net/2007/01/16/formulario-de-contacto/</link>
					<comments>http://www.celulaweb.net/2007/01/16/formulario-de-contacto#comentarios</comments>
					<pubDate>Tue, 16 Jan 2007 00:45:08 -0600</pubDate>
                    <dc:creator>MijT</dc:creator>
					<category><![CDATA[PHP y MySQL]]></category>
					<guid isPermaLink="false">http://www.celulaweb.net/2007/01/16/formulario-de-contacto#comentarios</guid>
					<description><![CDATA[Este es un sencillo pero funcional script que sirve para contactar con el webmaster, tiene entre sus funciones la de validar que el formato de correo ingresado sea el correcto y que el resto de campos no estén en blanco. Todo ello hecho en PHP.
]]></description>
                    <content:encoded><![CDATA[<div align="center"><img src="http://www.celulaweb.net/imgart/ctfrm.jpg" alt="" /></div><div style="margin: 10px 0;"><a href="http://api.tweetmeme.com/share?url=http://www.celulaweb.net/2007/01/16/formulario-de-contacto/"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://www.celulaweb.net/2007/01/16/formulario-de-contacto/" style="float: left; margin-right: 7px; border: 0; height: 61px; width: 51px;" alt="" /></a>Este es un sencillo pero funcional script que sirve para contactar con el webmaster, tiene entre sus funciones la de validar que el formato de correo ingresado sea el correcto y que el resto de campos no estén en blanco. Todo ello hecho en PHP.<br />
<br />
Este script cuenta con dos archivos, uno es la función para validar que el correo ingresado sea de un formato correcto y el otro es el formulario propiamente dicho con la función que enviará los datos al correo del webmaster. Es de fácil instalación e implementación amén de ser mejorable sólo necesitas copiar el código fuente que pondré a continuación y pegarlo en tu editor web preferido. Empezamos...<br />
<br />
Lo primero como dije anteriormente será crearnos una pequeña función que validará que el correo ingresado esté en un formato correcto del tipo <strong>nombre@dominio.com</strong><br />
<br />
<strong>valida_email.php</strong><br />
<div class="php"><code><span style="color: #000000">
<br /><span style="color: #0000BB">&lt;?php<br />&nbsp;&nbsp;</span><span style="color: #007700">function&nbsp;</span><span style="color: #0000BB">email_valido</span><span style="color: #007700">(</span><span style="color: #0000BB">$correo</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">eregi</span><span style="color: #007700">(</span><span style="color: #DD0000">"^[_\.0-9a-z-]+@[0-9a-z\._\-]+\.[a-z]{2,4}$"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$correo</span><span style="color: #007700">))&nbsp;return&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;return&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">;<br />&nbsp;&nbsp;}<br /></span><span style="color: #0000BB">?&gt;<br /></span>
</span>
</code></div><br />
<br />
<strong>contactar.php</strong><br />
<div class="php"><code><span style="color: #000000">
<br /><span style="color: #0000BB">&lt;?php&nbsp;<br />&nbsp;&nbsp;</span><span style="color: #007700">if(</span><span style="color: #0000BB">$enviar</span><span style="color: #007700">)&nbsp;{&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;si&nbsp;se&nbsp;ha&nbsp;pulsado&nbsp;en&nbsp;el&nbsp;botón&nbsp;enviar<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">include(</span><span style="color: #DD0000">'valida_email.php'</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;incluimos&nbsp;el&nbsp;archivo&nbsp;que&nbsp;contiene&nbsp;la&nbsp;función&nbsp;que&nbsp;valida&nbsp;la&nbsp;dirección&nbsp;de&nbsp;correo<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'nombre'</span><span style="color: #007700">]&nbsp;==&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"No&nbsp;has&nbsp;ingresado&nbsp;tu&nbsp;Nombre."</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}elseif(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'email'</span><span style="color: #007700">]&nbsp;==&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"No&nbsp;has&nbsp;ingresado&nbsp;tu&nbsp;Email."</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}elseif(!</span><span style="color: #0000BB">email_valido</span><span style="color: #007700">(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'email'</span><span style="color: #007700">]))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"El&nbsp;Email&nbsp;"</span><span style="color: #007700">.</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'email'</span><span style="color: #007700">].</span><span style="color: #DD0000">"&nbsp;no&nbsp;es&nbsp;una&nbsp;dirección&nbsp;válida."</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}elseif(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'asunto'</span><span style="color: #007700">]&nbsp;==&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"No&nbsp;has&nbsp;ingresado&nbsp;el&nbsp;Asunto&nbsp;del&nbsp;mensaje."</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}elseif(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'mensaje'</span><span style="color: #007700">]&nbsp;==&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"No&nbsp;has&nbsp;ingresado&nbsp;el&nbsp;Mensaje."</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mail&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"tucorreo@tupagina.com"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"$asunto"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"$mensaje"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"From:&nbsp;$nombre&nbsp;&lt;$email&gt;"</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;coloque&nbsp;aquí&nbsp;su&nbsp;correo&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">'&lt;div&nbsp;style="text-align:&nbsp;center;"&gt;El&nbsp;email&nbsp;ha&nbsp;sido&nbsp;enviado&nbsp;con&nbsp;éxito.&lt;/div&gt;'</span><span style="color: #007700">;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;}<br /></span><span style="color: #0000BB">?&gt;<br /></span>&lt;form&nbsp;method="post"&nbsp;action="contactar.php"&gt;<br />&nbsp;&nbsp;&lt;label&gt;Nombre&nbsp;/&nbsp;Nick:&lt;/label&gt;<br />&nbsp;&nbsp;&lt;input&nbsp;type="text"&nbsp;name="nombre"&nbsp;/&gt;<br />&nbsp;&nbsp;&lt;label&gt;Email:&lt;/label&gt;<br />&nbsp;&nbsp;&lt;input&nbsp;name="email"&nbsp;type="text"&nbsp;size="45"&nbsp;/&gt;<br />&nbsp;&nbsp;&lt;label&gt;Asunto:&lt;/label&gt;<br />&nbsp;&nbsp;&lt;input&nbsp;name="asunto"&nbsp;type="text"&nbsp;size="60"&nbsp;/&gt;<br />&nbsp;&nbsp;&lt;label&gt;Mensaje:&lt;/label&gt;<br />&nbsp;&nbsp;&lt;textarea&nbsp;name="mensaje"&nbsp;cols="80"&nbsp;rows="10"&gt;&lt;/textarea&gt;<br />&nbsp;&nbsp;&lt;p&nbsp;style="padding-top:&nbsp;5px;"&gt;&lt;input&nbsp;type="submit"&nbsp;name="enviar"&nbsp;value="Enviar&nbsp;Mensaje"&nbsp;/&gt;<br />&nbsp;&nbsp;&lt;input&nbsp;type="reset"&nbsp;name="enviar"&nbsp;value="Borrar&nbsp;datos"&nbsp;/&gt;&lt;/p&gt;<br />&lt;/form&gt;<br /></span>
</code></div><br />
<br />
Como se habrán dado cuenta no es nada difícil, este script es mejorable, pero así como está hecho de momento funciona muy bien, espero les pueda servir.</div><hr /><p style="height: 65px;"><img src="http://www.celulaweb.net/img/cesar.jpg" alt="" style="float: left; border: 0; margin-right: 10px;" /><strong>César Aquino</strong> para <a href="http://www.celulaweb.net">CelulaWeb</a><br />Publicado el: 16 de Ene. del 2007 a las 00:45<br /><a href="http://www.celulaweb.net/2007/01/16/formulario-de-contacto#comentar">Comenta este post</a> | <a href="http://www.celulaweb.net/2007/01/16/formulario-de-contacto/">Enlace permamente al post</a></p><hr style="clear: both;" /><p><a href="http://twitter.com/CelulaWeb"><img src="http://www.celulaweb.net/img/twitterbutton.png" style="border: 0;" alt="" /></a> <a href="http://www.facebook.com/celulaweb"><img src="http://www.celulaweb.net/img/facebook_button.png" alt="" style="border: 0;" /></a></p>]]></content:encoded>
				</item>
		        </channel>
    </rss>   	}
        ?>
        </channel>
    </rss>