Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/02/2011, 11:43
3rps
 
Fecha de Ingreso: diciembre-2010
Mensajes: 51
Antigüedad: 13 años, 4 meses
Puntos: 2
Exclamación Problema con registro de usuarios

Hola!
Luego de aprender algo de php, decidí hacer un registro de usuarios para mi web...
Tengo el siguiente problema al ejecutar el script:
Código PHP:
Ver original
  1. <?php
  2. if (isset($_POST['enviar'])){
  3.     //datos de formulario
  4. $user=$_POST['user'];
  5. $email = $_POST['email'];
  6. $contrase&#241;a = $_POST['contraseña'];
  7. $rcontrase&#241;a = $_POST['rcontraseña'];
  8. $region = $_POST['region'];
  9. $ciudad = $_POST['ciudad'];
  10. $finalcheck = $_POST['finalcheck'];
  11.     $long = strlen($user);
  12.         if ($long < 4 or $long > 12 or !ctype_alnum($user)) {
  13.             echo '
  14.             <style type="text/css">
  15.             #advertencia-de-registro {
  16.             background-color:yellow;
  17.             color:red;
  18.             text-shadow: #CCC 1px -1px 1px;
  19.             font-family:"Comic Sans MS", cursive;
  20. }
  21.             </style>
  22.             ';
  23.        
  24. }
  25.         elseif (!eregi("^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$", $email)) {
  26.             echo '
  27.             <script>
  28.             alert ("Introduzca un e-mail válido por favor");
  29.             </script>
  30.             ';
  31. }      
  32.         elseif ($rcontrase&#241;a !== $contraseña) {
  33.             echo '
  34.             <script>
  35.             alert ("Las contraseñas que ha introducido no coinciden");
  36.             </script>
  37.             ';
  38. }
  39.         elseif ($contrase&#241;a == $user) {
  40.             echo '
  41.             <script>
  42.             alert ("Introduzca una contraseña más segura");
  43.             </script>
  44.             ';
  45. }
  46.         elseif (!isset($_POST['genero']) or empty($_POST['genero'])) {
  47.             echo '
  48.             <script>
  49.             alert ("Seleccione tu género por favor");
  50.             </script>
  51.             ';
  52.         }
  53.         elseif (!isset($_POST['pais']) or empty($_POST['pais'])) {
  54.             echo '
  55.             <script>
  56.             alert ("Seleccione un país por favor");
  57.             </script>
  58.             ';
  59.         }
  60.         elseif (!isset($finalcheck) or empty($finalcheck)) {
  61.             echo '
  62.             <script>
  63.             alert ("Tiene que aceptar las condiciones de uso para poder registrarse");
  64.             </script>
  65.             ';
  66.         }
  67.         elseif($calculos[0] !== "ocho" or $calculos[1] !== "cinco" or $calculos[2] !== "siete" or $calculos[3] !== "seis" or $calculos[4] !== "tres" or $calculos[5] !== "tres") {
  68.             echo '
  69.             <script>
  70.             alert ("Por favor, Introduzca con letras <strong>minúsculas</strong> la operación");
  71.             </script>
  72.             ';
  73.         }
  74.         //comprobamos si existe el usuario
  75.        
  76.             mysql_connect ('localhost' , 'root' ,'');
  77.             mysql_select_db ('planeta3d');
  78.             $q = mysql_query ("SELECT usuarios FROM usuarios WHERE usuarios = '$user'");
  79.             if (mysql_num_rows($q) > 1) {
  80.             echo 'Ese usuario ya existe';
  81.             }
  82.        
  83.  
  84.        
  85.        
  86.            
  87. }
  88. ?>
Formulario en la misma página:

Código PHP:
Ver original
  1. <form action="" method="post">
  2.  
  3.            
  4.  
  5.                 <h1>Formulario de registro <a href="#" id="clickout">[X]</a></h1>
  6.  
  7.                    
  8.  
  9.                     <label for="user">Nombre de Usuario:</label><br />
  10.                     <div style="font-size:smaller; text-decoration:underline" id="advertencia-de-registro">Caracteres mínimos: 4, máximo 12. Sólo se permiten letras y/o números </div><span>&dArr;</span><br />
  11. <input name="user" type="text" size="50" maxlength="12" value="Introduzca aquí el nombre de usuario deseado" onclick="this.value='';" onblur="this.value=(this.value=='')?'Introduzca aquí el nombre de usuario deseado':this.value;" /><br />
  12.  
  13.                     <label for="email">E-mail:</label><br />
  14.         <span>&dArr;</span><br />
  15.  
  16.                     <input name="email" type="text" size="50" maxlength="65" value="Introduzca aquí un e-mail" onclick="this.value='';" onblur="this.value=(this.value=='')?'Introduzca aquí un e-mail':this.value;" /><br />
  17.  
  18.         <label for="contraseña">Contraseña:</label><br />
  19.         <div style="font-size:smaller; text-decoration:underline" id="advertencia-de-registro">Caracteres mínimos: 4, máximo 12. Sólo se permiten letras y/o números </div>
  20. <span>&dArr;</span><br />
  21.                     <input name="contraseña" type="password" size="50" maxlength="15" /><br />
  22.  
  23.                     <label for="rcontraseña">Repita la contraseña:</label><br />
  24. <span>&dArr;</span><br />
  25. <input name="rcontraseña" type="password" size="50" maxlength="65" /><br />
  26. <div id="form-siguiente">Siguiente</div>
  27. <div id="2-parte">
  28.                     <label for="sexo">Sexo:</label><br />
  29. <span>&dArr;</span><br />
  30. <input type="radio" name="genero" value="Masculino">Masculino
  31.                     <input type="radio" name="genero" value="Femenino">Femenino<br />
  32.  
  33.                     <label for="pais">Pa&iacute;s:</label><br />
  34. <span>&dArr;</span><br />
  35. <select name="pais">
  36.  
  37.                       <option disabled="disabled" selected="selected">Selecciona tu Pa&iacute;s:</option>
  38.  
  39. <!-- Aquí va el select de países -->
  40.  
  41. </select>
  42.  
  43. <br />
  44.  
  45.                     <label for="region">Provincia / Regi&oacute;n / Estado:</label><br />
  46. <span>&dArr;</span><br />
  47.                    
  48.  
  49.                     <input name="region" type="text" size="50" maxlength="75" value="Ejemplo: California" onclick="this.value='';" onblur="this.value=(this.value=='')?'Ejemplo: California':this.value;" /><br />
  50.  
  51.         <label for="ciudad">Ciudad</label><br />
  52.  
  53.                     <span>&dArr;</span><br />
  54.  
  55.                     <input name="ciudad" type="text" size="50" maxlength="50" value="Ejemplo: Londres" onclick="this.value='';" onblur="this.value=(this.value=='')?'Ejemplo: Londres':this.value;" /><br />
  56.  
  57.                     Test anti-spam:<br />
  58.                    
  59.                     <?php
  60.                     $calculos = array (
  61.                     'tres <img src="objetos/captcha/mas.png"> cinco',
  62.                     'ocho <img src="objetos/captcha/menos.png"> dos',
  63.                     'siete <img src="objetos/captcha/mas.png"> cero',
  64.                     'diez <img src="objetos/captcha/menos.png"> cuatro',
  65.                     'uno <img src="objetos/captcha/mas.png"> dos',
  66.                     'siete <img src="objetos/captcha/menos.png"> cuatro',
  67.                     );
  68.                     $r = rand (0 , 3);
  69.                     echo '<div id="captcha">';
  70.                     echo $calculos[$r];
  71.                     echo '</div>';         
  72.                     ?>
  73.                     <span>&dArr;</span><br />
  74.                     <input name="captcha" type="text" size="50" maxlength="50" value="Ejemplo: &quot;uno&quot;. Escriba el resultado con letras minúsculas" onclick="this.value='';" onblur="this.value=(this.value=='')?'Ejemplo: &quot;uno&quot;. Escriba el resultado con letras minúsculas':this.value;" /><br />
  75.                     <div id="m-submit-form">
  76.                       <input name="finalcheck" type="checkbox" />
  77.  
  78.                       <span>Soy mayor de 13 años y acepto las condiciones de uso</span><br />
  79.                     </div>
  80.                    
  81.                    
  82.                     <input name="enviar" type="submit" value="Listo, ¡Regístrame!" />
  83.  
  84.                      <input name="borrar-todo" type="reset" value="Borrar todo" />
  85.                    
  86.                    
  87.  
  88.            
  89. </div>
  90. </form>
  91.  
  92. </div>


El problema está cuando quiero comprobar el usuario con mysql_num_rows = 1

me tira Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in mi ruta
Disculpen las molestias, espero que alguien me pueda solucionar mi problema
Saludos