Ver Mensaje Individual
  #3 (permalink)  
Antiguo 31/01/2014, 22:36
MeDxEc
 
Fecha de Ingreso: mayo-2013
Ubicación: Cúcuta
Mensajes: 98
Antigüedad: 11 años
Puntos: 2
Respuesta: Problemas al comparar datos traídos desde MySQL

Este es el código para registrar al usuario

Código PHP:
Ver original
  1. <div class="block dark">
  2.         <div class="container">
  3.             <div class="row">
  4.                 <div class="span12">
  5.                     <div class="clear-form no-border">  
  6.                             <div class="form-heading">
  7.                                 <h3 class="header">Registrate</h3>  
  8.                                 <hr/>                            
  9.                             </div>  
  10.                             <div class="form-body">
  11.                                 <?php
  12.  
  13.                                   if (isset($_POST['enviar'])) {
  14.  
  15.                                     $nickname = $_POST['nickname'];
  16.                                     $nombre = $_POST['nombre'];
  17.                                     $email = $_POST['email'];
  18.                                     $pwd = $_POST['pwd'];
  19.                                     $repwd = $_POST['repwd'];
  20.  
  21.                                     function validar_email($email){
  22.                                       if (preg_match('/^[A-Za-z0-9-_.+%]+@[A-Za-z0-9-.]+\.[A-Za-z]{2,4}$/', $email)) return true;
  23.                                       else return false;        
  24.                                     }
  25.                                     $sin_espacios = count_chars($nickname, 1);
  26.                                     if(!empty($sin_espacios[50])) {
  27.                                       echo "El campo <em>nickname</em> no debe contener espacios en blanco. <a href='javascript:history.back();'>Reintentar</a><br />";
  28.                                     }elseif(empty($nickname)) {
  29.                                       echo "No haz ingresado tu nickname. <a href='javascript:history.back();'>Reintentar</a><br />";
  30.                                     }elseif(empty($nombre)) {
  31.                                       echo "No haz ingresado tu nombre. <a href='javascript:history.back();'>Reintentar</a><br />";
  32.                                     }elseif (!validar_email($email)) {
  33.                                       echo "El email ingresado no es válido. <a href='javascript:history.back();'>Reintentar</a><br />";
  34.                                     }elseif (empty($pwd)) {
  35.                                       echo "No haz ingresado tu contraseña. <a href='javascript:history.back();'>Reintentar</a><br />";
  36.                                     }elseif($pwd != $repwd) {
  37.                                       echo "Las contraseñas ingresadas no coinciden. <a href='javascript:history.back();'>Reintentar</a><br />";
  38.                                     }else {        
  39.                                       $sql = sprintf("SELECT nickname FROM usuarios WHERE nickname='%s'",mysqli_real_escape_string($conexion, $nickname));
  40.                                       $sql2 = sprintf("SELECT email FROM usuarios WHERE email='%s'",mysqli_real_escape_string($conexion, $email));
  41.  
  42.                                       $query = mysqli_query($conexion,$sql) or die('Error en query1 '.mysqli_error($conexion));
  43.                                       $query2 = mysqli_query($conexion,$sql2) or die('Error en query2 '.mysqli_error($conexion));
  44.  
  45.  
  46.                                       if (mysqli_num_rows($query) > 0) {
  47.                                         echo "El nickname elegido ya ha sido registrado anteriormente. <a href='javascript:history.back();'>Reintentar</a>";
  48.                                       }elseif (mysqli_num_rows($query2)) {
  49.                                         echo "El email elegido ya ha sido registrado anteriormente. <a href='javascript:history.back();'>Reintentar</a>";
  50.                                       }else{
  51.                                         $pwd = md5($pwd);          
  52.                                         $query3 = sprintf("INSERT INTO usuarios (nickname,nombre,email,password,fecha) VALUES ('%s','%s','%s','%s',NOW())",mysqli_real_escape_string($conexion, $nickname),mysqli_real_escape_string($conexion, $nombre),mysqli_real_escape_string($conexion, $email),mysqli_real_escape_string($conexion, $pwd))or die('Error en query3 '.mysqli_error());
  53.                                         $reg = mysqli_query($conexion,$query3);
  54.                                         if ($reg) {
  55.                                           echo 'Datos ingresados correctamente';
  56.                                         }else{
  57.                                           echo 'Ha ocurrido un error y no se han ingresado los datos ' .mysqli_error($conexion);
  58.                                         }
  59.                                       }
  60.                                     }
  61.                                   }else{
  62.  
  63.                                 ?>
  64.                               <form action="<?=$_SERVER['PHP_SELF']?>" method="post">
  65.  
  66.                                 <span class="form-label">Escribe tu nickname</span>
  67.                                 <input type="text" class="input-block-level" name="nickname">
  68.  
  69.                                 <span class="form-label">Escribe tu nombre real</span>
  70.                                 <input type="text" class="input-block-level" name="nombre">
  71.  
  72.                                 <span class="form-label">Ingresa tu correo electrónico</span>
  73.                                 <input type="email" class="input-block-level" name="email">
  74.  
  75.                                 <span class="form-label">Ingresa tu contraseña</span>
  76.                                 <input type="password" class="input-block-level" name="pwd">
  77.  
  78.                                 <span class="form-label">Confirma tu contraseña</span>
  79.                                 <input type="password" class="input-block-level" name="repwd">                          
  80.                                
  81.                                 <p class="highlight">
  82.                                     Al hacer click en el botón de confirmación estás al tanto de que el contenido de esta web es solo para fines de prueba y/o copia de seguridad del material original. Además nos eximes de cualquier responsabilidad por el uso del material aquí encontrado.
  83.                                 </p>                                
  84.                             </div>                                
  85.                             <div class="form-footer">                              
  86.                                 <input type="submit" class="btn btn-large btn-green btn-block" name="enviar" value="Crear">
  87.                                 <p class="center">
  88.                                      ¿Ya tienes una cuenta? <a href="http://www.forosdelweb.com/f18/iniciosesion">¡Ingresa!</a>.
  89.                                 </p>
  90.                             </div>                                        
  91.                         </form>
  92.                     </div>
  93.                 </div>
  94.             </div>
  95.         </div>        
  96.     </div>
  97.  
  98.     <?php } ?>