Bueno, probar con sesiones no me salio.... si bien me mantenia las datos de cada campo, por ejemplo si yo cerraba la pagina y la volvia a abrir seguian ahi los campos rellenados con informacion anterior, tambien se mantenian si yo volvia a rellenar el formulario y tiraba un error.... (la session_destroy() la puse cuando no se genere ningun error). Lo que me dijeron en otros lados tambien es poner el codigo de la accion y el del form en el mismo archivo, pero cuando lo probe tampoco andaba... les dejo el codigo de la accion y del form a ver si me pueden dar una mano con esto!
Aclaracion: En el codigo del form, puse un solo mensaje de error y y una sola llamada a la variable que se habia rellenado antes en el campo correspondiente para volverlo a ponerlo ahi en ese campo)
accion:
Código PHP:
<?
include ("conectar.php");
include ("config.php");
//Tomo los datos del formulario en variables para que no se me haga mas
//largo el codigo de insercion en la BD :D
$usuario= $_POST[usuario];
$clave= md5($_POST[clave]); $clave1= md5($_POST[clave1]);
$nombres= $_POST[nombres];
$apellido= $_POST[apellido];
$tipo_doc= $_POST[tipo_doc];
$doc= $_POST[doc];
$nacimiento= $_POST[dia]."/".$_POST[mes]."/". $_POST[anio];
$nacionalidad= $_POST[nacionalidad];
$domicilio= $_POST[domicilio];
$barrio= $_POST[barrio];
$ciudad= $_POST[ciudad];
$pais= $_POST[pais];
$cp= $_POST[cp];
$telefono= $_POST[telefono];
$telefono_lab= $_POST[telefono_lab];
$celular= $_POST[celular];
$email= $_POST[email];
$email_alt= $_POST[email_alt];
$web= $_POST[web];
$profesion= $_POST[profesion];
$estado_civil= $_POST[estado_civil];
$emp_nombre= $_POST[emp_nombre];
$emp_domicilio= $_POST[emp_domicilio];
$emp_barrio= $_POST[emp_barrio];
$emp_ciudad= $_POST[emp_ciudad];
$emp_cp= $_POST[emp_cp];
$emp_pais= $_POST[emp_pais];
$emp_telefono= $_POST[emp_telefono];
$emp_email= $_POST[emp_email];
$emp_email_alt= $_POST[emp_email_alt];
$emp_web= $_POST[emp_web];
$emp_cargo= $_POST[emp_cargo];
// ::Condiciones que se tiene que dar para que se cumpla el registro::
//Si estos campos estan vacios, tira el mensaje de que son obligatorios
if ($usuario=="" || $clave=="" || $nombres=="" || $apellido=="" || $email==""){
$msj= "Los campos Usuario, Clave, Nombres, Apellido y Email son obligatorios, por favor, complételos.";
header ("Location: registrar_form_error.php?session=si");
}
// Usuario debe contener al menos 5 caracteres
if (strlen($usuario) < 5){
$msj1= "Deben ser más de 4 letras";
header ("Location: registrar_form_error.php?session=si");
}
// Me fijo si el usuario ya esta registrado en la base de datos.
$sql_usuario_existe = mysql_query("SELECT * FROM usuarios WHERE usuario='$usuario'");
$usuario_existe = mysql_num_rows($sql_usuario_existe);
if ($usuario_existe > 0){
$msj2= "El usuario ya existe";
header ("Location: registrar_form_error.php?session=si");
}
// La clave tiene que ser igual a la repeticion de clave.
if ($clave != $clave1){
$msj3= "Las claves no concuerdan";
header ("Location: registrar_form_error.php?session=si");
}
// Me fijo si el mail ya esta registrado en la base de datos.
$sql_email_existe = mysql_query("SELECT * FROM usuarios WHERE email='$email'");
$email_existe = mysql_num_rows($sql_email_existe);
if ($email_existe > 0){
$msj4= "El email ya existe";
header ("Location: registrar_form_error.php?session=si");
}
//Si se cumple todo lo anterior, registramos los datos en la base de datos
else{
if( mysql_query ("INSERT $tabla_usuarios (usuario,clave,nombres,apellido,tipo_doc,doc,nacimiento,nacionalidad,
domicilio,barrio,ciudad,pais,cp,telefono,telefono_lab,celular,email,email_alt,web,profesion,
estado_civil,emp_nombre,emp_domicilio,emp_barrio,emp_ciudad,emp_cp,emp_pais,emp_telefono,
emp_email,emp_email_alt,emp_web,emp_cargo,nivel)
VALUES ('$usuario','$clave','$nombres','$apellido','$tipo_doc','$doc','$nacimiento','$nacionalidad',
'$domicilio','$barrio','$ciudad','$pais','$cp','$telefono','$telefono_lab','$celular','$email','$email_alt','$web','$profesion',
'$estado_civil','$emp_nombre','$emp_domicilio','$emp_barrio','$emp_ciudad','$emp_cp','$emp_pais','$emp_telefono',
'$emp_email','$emp_email_alt','$emp_web','$emp_cargo',1)",$conexion)) {
echo "Datos insertados correctamente!";
}else{
echo "No se pudo agregar esta información";
}
}
mysql_close ($conexion);
?>