Foros del Web » Programando para Internet » PHP »

Pasar checkbox no activados

Estas en el tema de Pasar checkbox no activados en el foro de PHP en Foros del Web. hola que tal. tengo un formulario con aprox 20 checkbox que cuando son activados todos se guardan en la bd con un valor de "1" ...
  #1 (permalink)  
Antiguo 03/07/2011, 00:58
Avatar de totti026  
Fecha de Ingreso: junio-2011
Mensajes: 150
Antigüedad: 12 años, 10 meses
Puntos: 4
Pregunta Pasar checkbox no activados

hola que tal. tengo un formulario con aprox 20 checkbox que cuando son activados todos se guardan en la bd con un valor de "1" y va todo bien!

Pero no es obligatorio que todos esten activados, osea que puedo activar unos y otros no, el problema es que a la hora de enviar mi informacion el php que recibe me manda esto:

( ! ) Notice: Undefined index: checkbox1 in C:\wamp\www\Sistema\insertaresidente.php on line 57
Call Stack
# Time Memory Function Location
1 0.0395 707840 {main}( ) ..\insertaresidente.php:0

( ! ) Notice: Undefined index: checkbox2 in C:\wamp\www\Sistema\insertaresidente.php on line 57
Call Stack
# Time Memory Function Location
1 0.0395 707840 {main}( ) ..\insertaresidente.php:0

( ! ) Notice: Undefined index: checkbox3 in C:\wamp\www\Sistema\insertaresidente.php on line 57
Call Stack
# Time Memory Function Location
1 0.0395 707840 {main}( ) ..\insertaresidente.php:0

.
.
.
asi sucesivamente, y son los que no active, pero si los guarda en la bd con un valor de "0". como le hago para que no me saque esas alertas!!! GrAcIaS

este es mi codigo que recibe:
Código PHP:
Ver original
  1. <?php
  2.  
  3.     // Primero comprobamos que los campos y que todos los campos existan.
  4.     if(isset($_POST['nombre_residente']) && !empty($_POST['correo_electronico']) && isset($_POST['telefono']) && !empty($_POST['nombre_proyecto'])&& isset($_POST['asesor']) && !empty($_POST['revisor'])&& isset($_POST['fecha_inicio']) && !empty($_POST['fecha_termino'])) {
  5.  
  6.         // Si entramos es que todo se ha realizado correctamente
  7.  
  8.         $link = mysql_connect("localhost","root","");
  9.         mysql_select_db("residenciasytitulacion",$link);
  10.  
  11.         // Con esta sentencia SQL insertaremos los datos en la base de datos
  12.         mysql_query("INSERT INTO isistemas (nombre_residente,correo_electronico,telefono,nombre_proyecto,asesor,revisor,fecha_inicio,fecha_termino,formato_solicitud_residencias,ante_proyecto,copia_asignacion_asesor,carta_presentacion,copia_liberacion_sersocial,avances_bim_proyecto_1,avances_bim_proyecto_2,avances_bim_proyecto_3,copia_liberacion_ingles,copia_liberacion_residencias_empresa,solicitud_cal_residencias,copia_formato_revisor,porciento_avances,solicitud_titulacion,autorizacion_empastado,copia_certificado_estudios,copia_const_serv_social_res,copia_const_ingles,copia_acta_nacimiento,copia_const_noadeudo,ejemplares_empastados,asignacion_sinodales,curriculum,fecha_examen,porciento_avances_titu)
  13.        VALUES ('{$_POST['nombre_residente']}','{$_POST['correo_electronico']}','{$_POST['telefono']}','{$_POST['nombre_proyecto']}','{$_POST['asesor']}','{$_POST['revisor']}','{$_POST['fecha_inicio']}','{$_POST['fecha_termino']}','{$_POST['checkbox1']}','{$_POST['checkbox2']}','{$_POST['checkbox3']}','{$_POST['checkbox4']}','{$_POST['checkbox5']}','{$_POST['checkbox61']}','{$_POST['checkbox62']}','{$_POST['checkbox63']}','{$_POST['checkbox7']}','{$_POST['checkbox8']}','{$_POST['checkbox9']}','{$_POST['checkbox10']}','{$_POST['total']}','{$_POST['checkbox11']}','{$_POST['checkbox12']}','{$_POST['checkbox13']}','{$_POST['checkbox14']}','{$_POST['checkbox15']}','{$_POST['checkbox16']}','{$_POST['checkbox17']}','{$_POST['checkbox18']}','{$_POST['checkbox19']}','{$_POST['checkbox20']}','{$_POST['fecha_examen']}','{$_POST['total2']}')",$link);
  14.  
  15.         // Ahora comprobaremos que todo ha ido correctamente
  16.         $my_error = mysql_error($link);
  17.  
  18.         if(!empty($my_error))
  19.         {
  20.         echo "Ha habido un error al insertar los valores. $my_error";
  21.         }
  22.        
  23.         else
  24.         {
  25.         echo "<center>Los datos han sido introducidos satisfactoriamente.";
  26.         print("<br><br><a href='menu2.php'> << Regresar </a>");
  27.  
  28.                 }
  29.  
  30.     }
  31.    
  32.     else
  33.     {
  34.     echo "Error, no ha introducido todos los datos";
  35.     echo "<br><a href='javascript:history.go(-1)()'> Atras </a>";
  36.     }
  37.  
  38. ?>


Saludos!!!
  #2 (permalink)  
Antiguo 03/07/2011, 01:17
Avatar de vendoeninternet  
Fecha de Ingreso: marzo-2011
Ubicación: Bilbao
Mensajes: 57
Antigüedad: 13 años, 1 mes
Puntos: 11
Respuesta: Pasar checkbox no activados

Cita:
Iniciado por totti026 Ver Mensaje
hola que tal. tengo un formulario con aprox 20 checkbox que cuando son activados todos se guardan en la bd con un valor de "1" y va todo bien!

Pero no es obligatorio que todos esten activados, osea que puedo activar unos y otros no, el problema es que a la hora de enviar mi informacion el php que recibe me manda esto:

( ! ) Notice: Undefined index: checkbox1 in C:\wamp\www\Sistema\insertaresidente.php on line 57
Call Stack
# Time Memory Function Location
1 0.0395 707840 {main}( ) ..\insertaresidente.php:0

( ! ) Notice: Undefined index: checkbox2 in C:\wamp\www\Sistema\insertaresidente.php on line 57
Call Stack
# Time Memory Function Location
1 0.0395 707840 {main}( ) ..\insertaresidente.php:0

( ! ) Notice: Undefined index: checkbox3 in C:\wamp\www\Sistema\insertaresidente.php on line 57
Call Stack
# Time Memory Function Location
1 0.0395 707840 {main}( ) ..\insertaresidente.php:0

.
.
.
asi sucesivamente, y son los que no active, pero si los guarda en la bd con un valor de "0". como le hago para que no me saque esas alertas!!! GrAcIaS

este es mi codigo que recibe:
Código PHP:
Ver original
  1. <?php
  2.  
  3.     // Primero comprobamos que los campos y que todos los campos existan.
  4.     if(isset($_POST['nombre_residente']) && !empty($_POST['correo_electronico']) && isset($_POST['telefono']) && !empty($_POST['nombre_proyecto'])&& isset($_POST['asesor']) && !empty($_POST['revisor'])&& isset($_POST['fecha_inicio']) && !empty($_POST['fecha_termino'])) {
  5.  
  6.         // Si entramos es que todo se ha realizado correctamente
  7.  
  8.         $link = mysql_connect("localhost","root","");
  9.         mysql_select_db("residenciasytitulacion",$link);
  10.  
  11.         // Con esta sentencia SQL insertaremos los datos en la base de datos
  12.         mysql_query("INSERT INTO isistemas (nombre_residente,correo_electronico,telefono,nombre_proyecto,asesor,revisor,fecha_inicio,fecha_termino,formato_solicitud_residencias,ante_proyecto,copia_asignacion_asesor,carta_presentacion,copia_liberacion_sersocial,avances_bim_proyecto_1,avances_bim_proyecto_2,avances_bim_proyecto_3,copia_liberacion_ingles,copia_liberacion_residencias_empresa,solicitud_cal_residencias,copia_formato_revisor,porciento_avances,solicitud_titulacion,autorizacion_empastado,copia_certificado_estudios,copia_const_serv_social_res,copia_const_ingles,copia_acta_nacimiento,copia_const_noadeudo,ejemplares_empastados,asignacion_sinodales,curriculum,fecha_examen,porciento_avances_titu)
  13.        VALUES ('{$_POST['nombre_residente']}','{$_POST['correo_electronico']}','{$_POST['telefono']}','{$_POST['nombre_proyecto']}','{$_POST['asesor']}','{$_POST['revisor']}','{$_POST['fecha_inicio']}','{$_POST['fecha_termino']}','{$_POST['checkbox1']}','{$_POST['checkbox2']}','{$_POST['checkbox3']}','{$_POST['checkbox4']}','{$_POST['checkbox5']}','{$_POST['checkbox61']}','{$_POST['checkbox62']}','{$_POST['checkbox63']}','{$_POST['checkbox7']}','{$_POST['checkbox8']}','{$_POST['checkbox9']}','{$_POST['checkbox10']}','{$_POST['total']}','{$_POST['checkbox11']}','{$_POST['checkbox12']}','{$_POST['checkbox13']}','{$_POST['checkbox14']}','{$_POST['checkbox15']}','{$_POST['checkbox16']}','{$_POST['checkbox17']}','{$_POST['checkbox18']}','{$_POST['checkbox19']}','{$_POST['checkbox20']}','{$_POST['fecha_examen']}','{$_POST['total2']}')",$link);
  14.  
  15.         // Ahora comprobaremos que todo ha ido correctamente
  16.         $my_error = mysql_error($link);
  17.  
  18.         if(!empty($my_error))
  19.         {
  20.         echo "Ha habido un error al insertar los valores. $my_error";
  21.         }
  22.        
  23.         else
  24.         {
  25.         echo "<center>Los datos han sido introducidos satisfactoriamente.";
  26.         print("<br><br><a href='menu2.php'> << Regresar </a>");
  27.  
  28.                 }
  29.  
  30.     }
  31.    
  32.     else
  33.     {
  34.     echo "Error, no ha introducido todos los datos";
  35.     echo "<br><a href='javascript:history.go(-1)()'> Atras </a>";
  36.     }
  37.  
  38. ?>


Saludos!!!
Creo que es porque al no seleccionar nada no se manda nada y al no haber ningún valor da error porque dice que la variable no está definida.

Prueba, sin hacer nada en php, a darle un valor de 0 a los checkbox por defecto, de forma que. Si no seleccionan nada se mande de valor 0 y si se manda algo se mande de valor 1.

Haz una prueba a dejar solo checkbox1 en blanco y antes de empty arriba le pones

if ($_POST['checkbox1'] == ""){
echo $_POST['checkbox1']=0;
}

Igual al ser valor a 0 te lo pilla como que la variable no está definida que es el error que te sale, 0 false = variable no definida?, 1 true pero estoy aprendiendo y esto segundo que estoy poniendo no estoy nada seguro, es por si te sigue saliendo mal para que hagas la prueba con esto otro.

Un saludo
__________________
Mi web de anuncios para poner anuncios gratis en internet

Última edición por vendoeninternet; 03/07/2011 a las 01:21 Razón: fallito
  #3 (permalink)  
Antiguo 03/07/2011, 10:30
 
Fecha de Ingreso: octubre-2010
Mensajes: 123
Antigüedad: 13 años, 5 meses
Puntos: 10
Respuesta: Pasar checkbox no activados

el primer error de Notice
es porque el PHP no a declarado la variable antes de utilizarla.. pero teoricamente no es neccesario. eso te sale porque lo estas probando sobre un motor como XAMPP que por default trae ERROR REPORING ALL .. para evitar esos errores pon esto hata arriba

error_reporting(E_ERROR | E_WARNING | E_PARSE);

eso solo te mostrara los errores que realmente importan. un saludo =D
  #4 (permalink)  
Antiguo 03/07/2011, 10:43
 
Fecha de Ingreso: noviembre-2009
Mensajes: 226
Antigüedad: 14 años, 4 meses
Puntos: 19
Respuesta: Pasar checkbox no activados

Cita:
Iniciado por dksoft Ver Mensaje
el primer error de Notice
es porque el PHP no a declarado la variable antes de utilizarla.. pero teoricamente no es neccesario. eso te sale porque lo estas probando sobre un motor como XAMPP que por default trae ERROR REPORING ALL .. para evitar esos errores pon esto hata arriba

error_reporting(E_ERROR | E_WARNING | E_PARSE);

eso solo te mostrara los errores que realmente importan. un saludo =D
Todos los "errores" son importantes. Si vas a hacer una aplicación, la solución no es solo que funcione, sino que esté bien hecha.

No es correcto solucionar ese error modificando error_reporting. La solución es saber porqué tiene esa notificación, y solucionarla.

Evidentemente, esto cambia dependiendo del entorno en el que se trabaje (desarrollo, pre-producción, producción)
__________________
Mi blog: magdkudama.com

Mi clase de validación de datos: magdkudama.com/validation
  #5 (permalink)  
Antiguo 03/07/2011, 20:24
Avatar de totti026  
Fecha de Ingreso: junio-2011
Mensajes: 150
Antigüedad: 12 años, 10 meses
Puntos: 4
Respuesta: Pasar checkbox no activados

Gracias!! Masters no se que seria sin ustedes, sigo aprendiendo. Saludos.

Etiquetas: checkbox, pasar
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 13:36.