Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/05/2015, 03:48
rlo64
 
Fecha de Ingreso: mayo-2015
Mensajes: 7
Antigüedad: 9 años
Puntos: 0
Pregunta Formulario de registro no guarda los datos en la BD

Hola a todos:

Esta es mi primera consulta en el foro. Como breve presentación diré que no tengo formación en programación y que todo (lo poco que se) lo he aprendido gracias a la red. Estoy haciendo una web en la que he creado un formulario de registro de usuarios con el siguiente código,

Código HTML:
<form name="fregistro" method="post" action="">
            
            	<p class="lineas">
                <span class="crotulos">Nombre y apellidos:</span>
                <span class="ccampos"><input type="text" name="nombre" class="campos-reg"></span>
                </p>
                
            	<p class="lineas">
                <span class="crotulos">e-Mail:</span>
                <span class="ccampos"><input type="email" name="email" class="campos-reg"></span>
                </p>
                
                <p class="lineas">
                <span class="crotulos">Usuario:</span>
                <span class="ccampos"><input type="text" name="usuario" class="campos-reg"></span>
                </p>
                
                <p class="lineas">
                <span class="crotulos">Contraseña:</span>
                <span class="ccampos"><input type="password" name="pas" class="campos-reg"></span>
                </p>             
                                               
                <p class="lineas">
                <span class="crotulos">Pais:</span>
                <span class="ccampos">       
                <select name="pais" class="campos-reg">
                    <option value="" selected></option>
                    <option value="AF">Afganistán</option>
                    <option value="AL">Albania</option> 
                    <option value="DE">Alemania</option> 
                    <option value="AD">Andorra</option> 
                    <option value="AO">Angola</option>
                    <option value="ZM">Zambia</option>  
                    <option value="ZW">Zimbabue</option>
                </select>
                </span>
                </p>
                
                <p class="lineas">
                <span class="crotulos">Categoria profesional:</span>
                <span class="ccampos"><input type="text" name="cat_prof" class="campos-reg"></span>
                </p>
                
                <p class="lineas">
                <span class="crotulos">Número de colegiado:</span>
                <span class="ccampos"><input type="text" name="num_col" class="campos-reg"></span>
                </p>
                
                <p class="lineas">
                <span class="crotulos">Acepto los <a href="legal.php" target="_blank">términos y condiciones</a>:</span>
                <span class="ccampos"><input type="checkbox" name="verif"></span>
                </p>

                <p class="lineas">
                <span class="crotulos">&nbsp;</span>
                <span class="ccampos"><input type="button" name="boton" value="Enviar registro" class="boton" onClick="javascript:Validar();"></span>
                </p>
                               
                <input type="hidden" name="proceso">
                
            </form> 
Por medio del siguiente script me aseguro de que el usuario rellena los campos del formulario,

Código HTML:
<script>
	function Validar(){
		document.fregistro.action="registro_usuarios.php";
		if(document.fregistro.nombre.value==""){
			alert("El campo nombre y apellidos es necesario");
			document.fregistro.nombre.focus();
			return;
		}			
		if(document.fregistro.email.value==""){
			alert("El campo e-Mail es necesario");
			document.fregistro.email.focus();
			return;
		}
		if (document.fregistro.email.value.indexOf('@') == -1){ 
			alert ("El e-Mail no es correcto"); 
			document.fregistro.email.focus();
                        return;
		}
		if(document.fregistro.usuario.value==""){
			alert("El campo usuario es necesario");
			document.fregistro.usuario.focus();
			return;
		}
		if(document.fregistro.pas.value==""){
			alert("El campo contraseña es necesario");
			document.fregistro.pas.focus();
			return;
		}		
		if(document.fregistro.pais.value==""){
			alert("El campo pais es necesario");
			document.fregistro.pais.focus();
			return;
		}	
		if(document.fregistro.cat_prof.value==""){
			alert("El campo categoria profesional es necesario");
			document.fregistro.cat_prof.focus();
			return;
		}	
		if(document.fregistro.num_col.value==""){
			alert("El campo número de colegiado es necesario");
			document.fregistro.num_col.focus();
			return;
		}	
		if(document.fregistro.verif.checked==""){
			alert("Es necesario aceptar los términos y condiciones");
			document.fregistro.verif.focus();
			return;
		}
		document.fregistro.proceso.value="Enviar registro";
		document.fregistro.submit();
	}
</script> 
Finalmente, con el siguiente código php verifico que no hay ningún usuario registrado con el mismo email y envio los datos a la base de datos,

Código PHP:
<?php
$proceso 
= isset($_POST['proceso']) ? $_POST['proceso']:"";
if(
$proceso=="Enviar registro"){
    
$nombre     utf8_decode($_POST['nombre']);
    
$email     $_POST['email'];
    
$usuario     $_POST['usuario'];
    
$pas         $_POST['pas'];
    
$pais     $_POST['pais'];
    
$cat_prof     $_POST['cat_prof'];
    
$num_col     $_POST['num_col'];
    
$verif     $_POST['verif'];
    
    
/*-- Validar usuario para que no se repita ---*/
    
$validarUsuarios "SELECT * FROM usudosi WHERE email='$email'";
    
$ejecutarValidar mysql_query($validarUsuarios);
    
$numreg mysql_num_rows($ejecutarValidar);
    
    if(
$numreg==0){
        
$insertarUsuarios="INSERT INTO usudosi(nombre, email, usuario, pas, pais, cat_prof, num_col, verif) VALUE('$nombre', '$email', '$usuario', '$pas', '$pais', '$cat_prof', '$num_col', '$verif')";
        
$resultadoInsertar=mysql_query($insertarUsuarios);
        
$mensaje "Usuario registrado con exito";
    }else{
        
$mensaje "¡ Usuario resgistrado ya existe !";
    }
}
?>
Evidentemente al principio del archivo está la instrucción para que se conecte a la base de datos (ya he verificado que funciona bien),

Código PHP:
<?php include "Connections/basedatos.php"?>
Con todo esto funcionando y sin darme errores, relleno los datos del formulario de registro y al clicar sobre el botón enviar registro, el formulario se limpia pero no se guardan los datos en la base de datos.

He leído en el foro, he buscado tutoriales y he ido haciendo pruebas sin conseguir que funcione.

Mis disculpas por extenderme tano pero he intentado aclarar al máximo los pasos que he seguido.

Agradecería cualquier sugerencia. Muchas gracias por la paciencia