Ver Mensaje Individual
  #8 (permalink)  
Antiguo 14/03/2016, 05:41
Avatar de loncho_rojas
loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Al reiniciar la web me registra un usuario. Porque?

No hagas esto...

Código PHP:
Ver original
  1. if ($array[0]== '')
  2.     {
  3.     echo "nick vacio<br>";  
  4.     }
  5.    if ($array[1]== '')
  6.     {
  7.      echo "pass vacio <br>";    
  8.     }

Tratalos como quisieras que te trataran a tí... hay tipos de variables, STRING, NULL, INT, BIGINT, DATE, BOOLEAN etc... etc...

Cada uno requiere de un tipo de validación adecuada para optimizar su "validación"..

te doy 3 ejemplos..

Código PHP:
Ver original
  1. //si esta vacio
  2. if (empty($_POST['nick']))
  3.     {
  4.     echo "nick vacio<br>";  
  5.     }
  6.  
  7. //si es NULO
  8. if ($_POST['nick'] == NULL)
  9.     {
  10.     echo "nick vacio<br>";  
  11.     }
  12.  
  13. //o ambos
  14. if (empty($_POST['nick']) || $_POST['nick'] == NULL)
  15.     {
  16.     echo "nick vacio<br>";  
  17.     }

En escencia superficial, los tres hacen lo mismo, pero la diferencia radica en el tipo de validación que necesitas... una explicación coloquial sería:

El EMPTY o VACIO es si tu campo en la tabla de BD no tiene como propiedad el NOT NULL, puedes no enviar ningún caracter alfanumérico para ser insertado, pero pasa por alto si es que envias un ESPACIO EN BLANCO, y si no quieres dicho espacio en blanco, debes emplear otra función, TRIM() para eliminarlo, caso contrario te cargará el espacio en blanco, aunque para tí sea VACIO, en realidad si carga un valor y ocuparía BYTES de memoria en disco...

El NULL obvia todo esto, es decir, no admite ni siquiera el espacios en blanco, muy útil si tu campo de la BD es NOT NULL...

Por ende si hay diferencias, y eso tener buenas prácticas de programación, ya que se aprende al vuelo y se obvian estas cosas..

Lo que hiciste es muy util cuando quieres comparar valores numéricos o booleanos, como:

Código PHP:
Ver original
  1. if ($_POST['num']== 0)
  2.     {
  3.      echo "debe cargar otro numero <br>";    
  4.     }
  5.  
  6. if ($_POST['acepta']== FALSE)
  7.     {
  8.      echo "Por favor, acepte los terminos y condiciones. <br>";    
  9.     }

Puedes leer otra explicación EN ESTE ENLACE.
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...