Underc0de

Programación Web => Back-end => Mensaje iniciado por: Alex en Noviembre 03, 2012, 10:28:38 AM

Título: Resultados concurso de programación - El Mejor programador de Underc0de
Publicado por: Alex en Noviembre 03, 2012, 10:28:38 AM
(http://www.aniei.org.mx/imagenes/concurso.jpg)
UnderC0de - Sección de PHP - Moderador: Alexander1712
Gestión 27/10/12

Presentan los resultados de este concurso

(http://i49.tinypic.com/2dkg8jm.png)(http://i42.tinypic.com/351z7ub.png)(http://i46.tinypic.com/2aaeu8g.png)(http://i46.tinypic.com/2edto3q.png)

y el ganador es...

Roodaka

con su código optimizado:

Código (php) [Seleccionar]
<?php
// Verificamos que la clave que necesitamos del arreglo $_POST este y seguimos.
if(isset($_POST['nombre']))
 {
  
// Conectamos a la base de datos o salimos.
  
$conn mysqli_connect('localhost''root''''rdk') or exit('No se ha podido conectar a la base de datos.');

  
// Validamos la variable quitandole un posible XSS y agregamos las comillas
  // que necesitaremos para las consultas.
  
$target '\''.mysqli_real_escape_string($connhtmlspecialchars($_POST['nombre'])).'\'';

  
// Chequeamos si nuestro nombre esta en la base de datos.
  
$query mysqli_query($conn'SELECT id FROM usuarios WHERE nombre = '.$target.' LIMIT 1');
  
// Por medio de la cantidad de filas sabremos si hubo resultados o no
  
if($query->num_rows >= 1)
   {
    echo 
'Tu nombre ya est&aacute; en nuestra base de datos.';
   }
  else
   {
    
$insert mysqli_query($conn'INSERT INTO usuarios ( nombre ) VALUES ('.$target.')');
    
// Chequeamos que haya sido exitosa basandonos en el numero de consultas afectadas
    
if($insert->affected_rows($conn) >= 1)
     {
      echo 
'Ahora tu nombre ha sido ingresado en nuestra base de datos';
     }
    else
     {
      echo 
'Ha habido un error mientras se registraba su nombre, por favor intente m&aacute;s tarde.';
     }
   }
  
// Cerramos la conexion
  
mysqli_close($conn);
 }
else
 {
  
// mostramos un formulario improvisado para testear este scripcito
  
echo '<form method="post" action=""><label for="nombre">Nombre:</label><input name="nombre" type="text" /><input value="Enviar" name="enviar" type="submit" /></form>';
 }


Cambios destacados:
* Comentarios agregados
* utilización correcta de " y '
* mysql por mysqli
* agregados filtros de seguridad
* identación correcta
* mensajes de errores agregados

Comentarios de mejoras del moderador:
Ninguno

Felicidades, y gracias a todos por participar...

quien quiera puede pedir que se publique su código en éste post.

Saludos! Atte. Alexander1712 - Moderador
Título: Re:Resultados concurso de programación - El Mejor programador de Underc0de
Publicado por: Roodaka en Noviembre 03, 2012, 04:13:26 PM
:D Buenísimo! Quiero mi millón de dólares de premio en efectivo, por favor :)


Saludos!
Título: Re:Resultados concurso de programación - El Mejor programador de Underc0de
Publicado por: ANTRAX en Noviembre 03, 2012, 04:17:12 PM
Nice man! Felicitaciones!
Título: Re:Resultados concurso de programación - El Mejor programador de Underc0de
Publicado por: Oggy en Noviembre 03, 2012, 04:21:59 PM
Genial, Felicidades brother  ;D
Título: Re:Resultados concurso de programación - El Mejor programador de Underc0de
Publicado por: Pr0ph3t en Noviembre 03, 2012, 04:41:55 PM
Felicidades al ganador y gracias a los demás por participar.