Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/07/2011, 01:17
Avatar de vendoeninternet
vendoeninternet
 
Fecha de Ingreso: marzo-2011
Ubicación: Bilbao
Mensajes: 57
Antigüedad: 13 años, 8 meses
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