Foros del Web » Programando para Internet » PHP »

Problema con validacion de datos en php y javascript

Estas en el tema de Problema con validacion de datos en php y javascript en el foro de PHP en Foros del Web. Que mas amigos, espero esten bien, les escribo en esta oportunidad porq tengo un problemita con el registro de los datos en un formulario, que ...
  #1 (permalink)  
Antiguo 19/10/2010, 09:19
Avatar de Bullet  
Fecha de Ingreso: agosto-2005
Ubicación: Margarita, Venezuela
Mensajes: 235
Antigüedad: 18 años, 8 meses
Puntos: 1
Pregunta Problema con validacion de datos en php y javascript

Que mas amigos, espero esten bien, les escribo en esta oportunidad porq tengo un problemita con el registro de los datos en un formulario, que cuando le paso las validaciones, me muestra todos los mensajes de errrores, pero igual me guarda los datos en blanco, los mensajes los estoy mostrando en una caja de texto con javascript dentro de un 'echo', me los muestra, pero igual me registra los datos, quisiera saber q falta, si me pueden dar una manito. Abajo les dejo los scripts q estoy usando para el registro y validacion de los datos


Formulario de Registro (registrar.php)
Código HTML:
<center>
 <form action="register2.php" method="post" name="registro">
  <table border="1" cellpadding="3" cellspacing="5" width="100">
   <tr><th>Nombre de Usuario:</th>
   </tr><tr>
    <th><input type="text" name="user" size="40" autocomplete="off" /></th>
   </tr>
   <tr>
     <th>E-mail:</th>
   </tr>
   <tr>
     <th><input name="email" type="text" id="email" size="40" autocomplete="off" /></th>
   </tr>
   <tr>
     <th>Email nuevamente:</th>
   </tr>
   <tr>
     <th><input name="email2" type="text" id="email2" size="40" autocomplete="off" /></th>
   </tr>
   <tr>
    <th>Password:</th>
   </tr><tr>
    <th><input type="password" name="password" size="40" autocomplete="off" /></th>
   </tr><tr>
    <th>Password Nuevamente:</th>
   </tr><tr>
    <th><input type="password" name="password2" size="40" autocomplete="off" /></th>
   </tr>
   <tr>
     <th><input type="submit" name="registro" value="Registrar" />
       &nbsp;|&nbsp;
       <input name="reset" type="reset" value="Borrar Todo" /></th>
   </tr>
  </table>
 </form>
</center> 
Aqui es donde se me muestra el problema, me muestra losa mensajes pero igual me registra los datos, lo que quiero es q se quede o se devuelva a la pagina de registro para arreglarlos.
[/PHP]
Validacion de Datos (errores.php)
Código PHP:
<?php
// Es necesario llamar a config.php para que pueda entrar
// a revisar unas cuantas cosas en la Base de Datos
require_once('config.php');
// Empezamos.... 
/* Esta es la explicacion de cada funcion 
Funcion 1 = No dejar espacios en el nick
Funcion 2 = Nick de mas de 3 caracteres
Funcion 3 = No espacios en el nick
Funcion 4 = No repetir nick ya registrado
Funcion 5 = Contraseña con mas de 5 caracteres
Funcion 6 = Contraseña 1 y Contraseña2 deben ser iguales
Funcion 7 = Email en Blanco
Funcion 8 = Email ya Registrado
Funcion 9 = Emails iguales
Funcion 10 = Validar la Sintaxis del Email*/

/*Funcion 1*/
if($_POST[user] == "") {
    echo 
"<script language=javascript>alert('Has dejado el espacio de USER en blanco')</script>";
    }
/*Funcion 2*/if(strlen($_POST[user]) < 3){
    echo 
"<script language=javascript>alert('Lo siento pero el nick que escribiste  contiene menos de 3 carcateres, por favor escribe uno m&aacute;s grande')</script>";
    }
/*Funcion 3*/if(stristr($_POST[user], ' ') == TRUE) {
    echo 
"<script language=javascript>alert('Lo siento pero el nick que escribiste posee espacios y no puede ser registrado')</script>";
    }
/*Funcion 4*/$sqlnickigual mysql_query("SELECT * FROM `usuarios` WHERE user='" $_POST[user] . "'");
if(
mysql_num_rows($sqlnickigual)) {
    echo 
"<script language=javascript>alert('Lamentablemente el nombre de usuario que pusiste YA est&aacute; siendo usado por otra persona. Por favor reg&iacute;strate con otro nombre')</script>";
    }
/*Funcion 5*/if(strlen($_POST[password]) < 5) {
    echo 
"<script language=javascript>alert('Lo siento pero la contrase&ntilde;a que escribiste posee menos de 5 caracteres. Se recomienda poner una m&aacute;s larga')</script>";
    }
/*Funcion 6*/if ($_POST[password] != $_POST[password2]) {
    echo 
"<script language=javascript>alert('Lo siento pero las contrase&ntilde;as que escribiste no son iguales. Debes escribirlas igual')</script>";  
    }
/*Funcion 7*/if($_POST[email] == "") {
    echo 
"<script language=javascript>alert('Haz dejado el espacio de EMAIL en blanco')</script>";
    }
/*Funcion 8*/$sqlemailigual mysql_query("SELECT * FROM `usuarios` WHERE email='" $_POST[email] . "'");
if(
mysql_num_rows($sqlemailigual)) {
    echo 
"<script language=javascript>alert('Lamentablemente el email que pusiste  YA est&aacute; siendo usado por otra persona. Por favor reg&iacute;strate con otro email')</script>";
    }
/*Funcion 9*/if ($_POST[email] != $_POST[email2]) {
    echo 
"<script language=javascript>alert('Lo siento pero los emails que escribiste no son iguales. Debes escribirlos igual')</script>";  
    }
?>
  #2 (permalink)  
Antiguo 19/10/2010, 10:20
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 13 años, 11 meses
Puntos: 23
Respuesta: Problema con validacion de datos en php y javascript

me parece que debes usar if else, actualmente pones

if(algo){
}
if(otro){
}
...y asi
yo sugiero q lo hagas asi:

Código PHP:
if(algo){
}
else{
       if (
otro){
       }
       else{
               if(
otro_mas){
               }
      }
//a lo ultimo de todos tus if's debes cerrar los else, fijate bien cuantos abres para q cierres todos


Etiquetas: javascript
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:51.