Foros del Web » Programando para Internet » PHP »

Omitir guardar registros disabled

Estas en el tema de Omitir guardar registros disabled en el foro de PHP en Foros del Web. Hola, estoy realizando una aplicacion web para captura de pedimentos, y estoy batallando con esto: Hay una parte en donde se deben introducir fechas, puede ...
  #1 (permalink)  
Antiguo 23/02/2011, 15:34
Avatar de omar_gutierrez  
Fecha de Ingreso: febrero-2011
Mensajes: 144
Antigüedad: 13 años, 2 meses
Puntos: 2
Omitir guardar registros disabled

Hola, estoy realizando una aplicacion web para captura de pedimentos, y estoy batallando con esto:

Hay una parte en donde se deben introducir fechas, puede ser de 1 a 6 fechas, lo que hice fue poner una tabla con checkbox y textfield, cuando el check box este activado, el textfield se activa, introdusco la fecha y listo. Pero cuando dejo disabled un campo de texto, e intertar guardar la info, me pone este error, y no guarda los datos:

Cita:
Notice: Undefined index: f_entrada in C:\xampp\htdocs\knw\PEDIMENTOS\insert_pedimento.ph p on line 61

Notice: Undefined index: f_pago in C:\xampp\htdocs\knw\PEDIMENTOS\insert_pedimento.ph p on line 62

Notice: Undefined index: f_extraccion in C:\xampp\htdocs\knw\PEDIMENTOS\insert_pedimento.ph p on line 63

Notice: Undefined index: f_presentacion in C:\xampp\htdocs\knw\PEDIMENTOS\insert_pedimento.ph p on line 64

Notice: Undefined index: f_imp_euacan in C:\xampp\htdocs\knw\PEDIMENTOS\insert_pedimento.ph p on line 65

Notice: Undefined index: f_original in C:\xampp\htdocs\knw\PEDIMENTOS\insert_pedimento.ph p on line 66
Esto es suponiendo que todas esten disabled; asi, si dejo 5 enabled y 1 disabled, solo 1 error me aparece.

Este es el codigo de la tabla:

Código HTML:
<script type="text/javascript">

  function enableText(checkBool, textID)
  {
    textFldObj = document.getElementById(textID);
    //Disable the text field
    textFldObj.disabled = !checkBool;
  }

</script>

<table width="327" border="1">
     <tr>
       <th colspan="2" scope="col">FECHAS</th>
     </tr>
     <tr>
       <td width="143"><input onclick="enableText(this.checked, 'entradatxt_fechas');" type="checkbox" name="entrada" id="entradachk_fechas" />
         <label for="entrada"></label>
ENTRADA:</td>
       <td width="168"><input name="f_entrada" type="text" disabled="disabled" id="entradatxt_fechas" maxlength="10" /></td>
     </tr>
     <tr>
       <td><input type="checkbox" name="pago" id="pagochk" onclick="enableText(this.checked, 'pagotxt_fechas');" />
PAGO:</td>
       <td><input name="f_pago" type="text" disabled="disabled" id="pagotxt_fechas" maxlength="10" /></td>
     </tr>
     <tr>
       <td><input type="checkbox" name="extraccion" id="extraccionchk_fechas" onclick="enableText(this.checked, 'extracciontxt_fechas');" />
EXTRACCION:</td>
       <td><input name="f_extraccion" type="text" disabled="disabled" id="extracciontxt_fechas" maxlength="10" /></td>
     </tr>
     <tr>
       <td><input onclick="enableText(this.checked, 'presentaciontxt_date');" type="checkbox" name="presentacion" id="presentacionchk_fechas" />
PRESENTACION:</td>
       <td><input name="f_presentacion" type="text" disabled="disabled" id="presentaciontxt_date" maxlength="10" /></td>
     </tr>
     <tr>
       <td><input type="checkbox" name="impeuacan" id="impeuacan" onclick="enableText(this.checked, 'imp_euacan');" />
IMP. EUA/CAN:</td>
       <td><input name="f_imp_euacan" type="text" disabled="disabled" id="imp_euacan" maxlength="10" /></td>
     </tr>
     <tr>
       <td><input type="checkbox" name="original" id="original" onclick="enableText(this.checked, 'originaltxt');" />
ORIGINAL:</td>
       <td><input name="f_original" type="text" disabled="disabled" id="originaltxt" maxlength="10" /></td>
     </tr>
   </table> 
y este, un fragmento del que guarda a la BD (omiti todo ese rollo de conectar la BD, veo que es inecesario):

Código PHP:
$f_entrada $_POST['f_entrada'];
$f_pago $_POST['f_pago'];
$f_extraccion $_POST['f_extraccion'];
$f_presentacion $_POST['f_presentacion'];
$f_imp_euacan $_POST['f_imp_euacan'];
$f_original $_POST['f_original'];

$insertar2 mysql_query("INSERT INTO fechas_pedimento (NUM_PEDIMENTO, FECHAS_ENTRADAS, FECHAS_PAGO, FECHAS_EXTRACCION, FECHAS_PRESENTACION, FECHAS_IMP_EUACAN, FECHAS_ORIGINAL)
VALUES ('{$num_pedimento}', '{$f_entrada}', '{$f_pago}', '{$f_extraccion}', '{$f_presentacion}', '{$f_imp_euacan}', '{$f_original}')"
$conexion);
if (!
$insertar2) {
die(
"Fallo en la insercion de registro en la Base de Datos: " mysql_error());

La verdad no tengo idea de como hacerle para que me guarde unicamente los que esten enabled, y ya no me aparesca este error.

Espero puedan ayudarme, gracias de antemano.

Última edición por omar_gutierrez; 23/02/2011 a las 15:39
  #2 (permalink)  
Antiguo 23/02/2011, 23:33
 
Fecha de Ingreso: abril-2008
Mensajes: 223
Antigüedad: 16 años
Puntos: 8
Respuesta: Omitir guardar registros disabled

Fijate si te anda de esta forma.........

$host = "hosting";
$username = "usuariohost";
$password = "clavehost";
$database = "usuariohost_usuariobd";

$server = mysql_connect($host, $username, $password) or die(mysql_error());
$_GLOBALS['connection']= mysql_select_db($database, $server);

f_entrada = $_POST['f_entrada'];
$f_pago = $_POST['f_pago'];
$f_extraccion = $_POST['f_extraccion'];
$f_presentacion = $_POST['f_presentacion'];
$f_imp_euacan = $_POST['f_imp_euacan'];
$f_original = $_POST['f_original'];

mysql_query("INSERT INTO fechas_pedimento (NUM_PEDIMENTO, FECHAS_ENTRADAS, FECHAS_PAGO, FECHAS_EXTRACCION, FECHAS_PRESENTACION, FECHAS_IMP_EUACAN, FECHAS_ORIGINAL)
VALUES ('$num_pedimento', '$f_entrada', '$f_pago', '$f_extraccion', '$f_presentacion', '$f_imp_euacan', '$f_original')");

hacelo en un archivo aparte si te anda mas vale que ese es el metodo....
__________________
deep web, free deep web

Última edición por gerchulino; 23/02/2011 a las 23:42
  #3 (permalink)  
Antiguo 24/02/2011, 10:51
Avatar de omar_gutierrez  
Fecha de Ingreso: febrero-2011
Mensajes: 144
Antigüedad: 13 años, 2 meses
Puntos: 2
Respuesta: Omitir guardar registros disabled

Cita:
Iniciado por gerchulino Ver Mensaje
Fijate si te anda de esta forma.........

$host = "hosting";
$username = "usuariohost";
$password = "clavehost";
$database = "usuariohost_usuariobd";

$server = mysql_connect($host, $username, $password) or die(mysql_error());
$_GLOBALS['connection']= mysql_select_db($database, $server);

f_entrada = $_POST['f_entrada'];
$f_pago = $_POST['f_pago'];
$f_extraccion = $_POST['f_extraccion'];
$f_presentacion = $_POST['f_presentacion'];
$f_imp_euacan = $_POST['f_imp_euacan'];
$f_original = $_POST['f_original'];

mysql_query("INSERT INTO fechas_pedimento (NUM_PEDIMENTO, FECHAS_ENTRADAS, FECHAS_PAGO, FECHAS_EXTRACCION, FECHAS_PRESENTACION, FECHAS_IMP_EUACAN, FECHAS_ORIGINAL)
VALUES ('$num_pedimento', '$f_entrada', '$f_pago', '$f_extraccion', '$f_presentacion', '$f_imp_euacan', '$f_original')");

hacelo en un archivo aparte si te anda mas vale que ese es el metodo....
Hola gerchulino, gracias por tu respuesta; lo intente a tu manera y desgraciadamente no funciona; me dices que lo ponga en un archivo aparte (el script), y asi es como lo tengo, tambien en la conexcion esta un poco diferente, la unica diferencia, es que tu usas variables, y yo no, pongo los datos directos:

Cita:
//1. Crear conexión a la Base de Datos
$conexion = mysql_connect("localhost","root","");
if (!$conexion) {
die("Fallo la conexión a la Base de Datos: " . mysql_error());
}
//2. Seleccionar la Base de Datos a utilizar
$seleccionar_bd = mysql_select_db("knw", $conexion);
if (!$seleccionar_bd) {
die("Fallo la selección de la Base de Datos: " . mysql_error());
}
Ahora, no se si explique bien cual es el problema, cuando un textfield esta disabled, marca el error ya mostrado, si esta enabled, no pasa nada y captura la info sin problemas; puedo dejarlos todos enables por defecto, pero ya ven como son los capturistas. Ademas esta no es la unica tabla que quiero que funcione de esta manera, existen 2 tablas mas, pero estas por cada renglon, hay un Select y un textfield, y funciona igual, disabled por defecto, click en checkbox y se ponen enabled.

Se me ocurre hacerlo de forma condicional, pero la verdad no se de que manera hacerlo. Creo que tendre que dejarlos todos enabled, asi no me da problemas y puedo capturar, aunque no me agrada mucho la idea.

Gracias por tu respuesta, y detodas maneras seguire buscando en la web.
  #4 (permalink)  
Antiguo 25/02/2011, 00:24
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Tema movido desde Web general

Los elementos disabled simplemente no se envían, así que tal vez te valga chequear su existencia (empty/isset)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 25/02/2011, 09:29
Avatar de omar_gutierrez  
Fecha de Ingreso: febrero-2011
Mensajes: 144
Antigüedad: 13 años, 2 meses
Puntos: 2
Respuesta: Omitir guardar registros disabled

Ok, gracias por el dato, entonces si seria de manera condicional, segun una busqueda rapida que hice; investigare mas al respecto sobre "empty/isset".

Etiquetas: disabled, registros
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 18:35.