Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Notice: Undefined index

Estas en el tema de Notice: Undefined index en el foro de PHP en Foros del Web. hola amigos trato de insertar registros en dos tablas a la ves pero me da el siguiente error de verdad que ya no veo donde ...
  #1 (permalink)  
Antiguo 05/12/2016, 16:05
Avatar de aviweb2015  
Fecha de Ingreso: abril-2016
Ubicación: venezuela
Mensajes: 215
Antigüedad: 8 años, 8 meses
Puntos: 1
Exclamación Notice: Undefined index

hola amigos trato de insertar registros en dos tablas a la ves pero me da el siguiente error de verdad que ya no veo donde esta el error si me podrían echar una manito ya que no veo el error anexo los códigos.

método de registro

Código PHP:
Ver original
  1. <?php
  2. if (isset ($_POST['guardar'])){
  3.  
  4. $id=$_REQUEST['id'];
  5. $idcodificacion_proyectos=$_REQUEST['idcodificacion_proyectos'];
  6. $titulo_proyecto=$_REQUEST['titulo_proyecto'];
  7. $iddepartamentos=$_REQUEST['iddepartamentos'];
  8. $idprofesor=$_REQUEST['idprofesor'];
  9. $idusuarios=$_REQUEST['idusuarios'];
  10. $cedula=$_REQUEST['cedula'];
  11. $nombres=$_REQUEST['nombres'];
  12. $apellidos=$_REQUEST['apellidos'];
  13.  
  14.  
  15. $sql="SELECT * FROM inscripcion_proyectos WHERE id='$id'";
  16.  
  17.   $res=mysql_query($sql,$link);
  18.   $nrows=mysql_num_rows($res);
  19.   if($nrows==0){
  20.  
  21.  
  22. if (mysql_query("INSERT INTO inscripcion_proyectos (id,idcodificacion_proyectos,titulo_proyecto,iddepartamentos,idprofesor,idusuarios) VALUES
  23. ('$id','$idcodificacion_proyectos','$titulo_proyecto','$iddepartamentos','$idprofesor','$idusuarios')",$link));
  24.  
  25. if (mysql_query("INSERT INTO inscripcion_alumnos (id,cedula,nombres,apellidos) VALUES
  26. ('$id','$cedula','$nombres','$apellidos')",$link));
  27.  
  28. echo "<div class='col s12 card-panel teal lighten-2 center'>
  29. <h5 class='black-text text-darken-2 center CONDENSED LIGHT5'>
  30. ¡ Bien Hecho: Registro Insertado Correctamente !
  31. </h5>
  32. </div>";
  33. header("refresh:5;registrar_inscripcion.php");
  34.  
  35.  
  36.           }
  37.  
  38. else echo "<div class='col s12 card-panel blue lighten-2 center'>
  39. <h5 class='black-text text-darken-2 center CONDENSED LIGHT5'>
  40. ¡ Ups Aviso: El Registro ya se Encuentra Insertado !
  41. </h5>
  42. </div>";
  43. header("refresh:5;registrar_inscripcion.php");
  44.  
  45.           }
  46.  
  47.  
  48. ?>


formulario para el registro

Código HTML:
Ver original
  1. <form class="col s12" action="registrar_inscripcion.php" name="frmContacto" method="POST">
  2.  
  3. <div class="row">
  4. <div class="input-field col s12 m4">
  5. <select name="idcodificacion_proyectos" id="idcodificacion_proyectos" title="Disculpa, debe seleccionar la codificacion proyectos!"
  6. required/>
  7. <option value=""  disabled selected>Codificación Proyecto:</option>
  8. <?php
  9. $result = mysql_query("SELECT * FROM codificacion_proyectos");
  10. while ($campo=mysql_fetch_array($result)) {
  11. ?>
  12. <option value="<?php echo $campo['codificacion_proyectos'] ;?>">
  13. <?php echo $campo['codificacion_proyectos'] ;?></option>
  14. <?php
  15. }
  16. ?>
  17. </div>
  18. </div>
  19.  
  20.  
  21.  
  22. <h6 class="left-align blue-grey-text">Datos generales para el Proyecto</h6>
  23. </div><br><br><br>
  24.  
  25.  
  26. <div class="row">
  27. <div class="input-field col s12 m12">
  28. <textarea id="titulo_proyecto" name="titulo_proyecto" class="materialize-textarea" length="600"
  29. title="Describe tu Mensaje" autocomplete="off" required/></textarea>
  30. <label for="titulo_proyecto">Título del Proyecto:</label>
  31. </div>
  32. </div>
  33.  
  34.  
  35. <div class="row">
  36. <div class="input-field col s12 m4">
  37. <select name="iddepartamentos" id="iddepartamentos" title="Disculpa, debe seleccionar el Departamento!"
  38. required/>
  39. <option value=""  disabled selected>Departamento:</option>
  40. <?php
  41. $result = mysql_query("SELECT * FROM departamentos");
  42. while ($campo=mysql_fetch_array($result)) {
  43. ?>
  44. <option value="<?php echo $campo['departamentos'] ;?>">
  45. <?php echo $campo['departamentos'] ;?></option>
  46. <?php
  47. }
  48. ?>
  49. </div>
  50.  
  51. <div class="input-field col s12 m4">
  52. <select class="icons" name="idprofesor" id="idprofesor" title="Disculpa, debe seleccionar el Porfesor!"
  53. required/>
  54. <option value=""  disabled selected>Asignar Profesor:</option>
  55. <?php
  56. $result = mysql_query("SELECT * FROM profesores");
  57. while ($campo=mysql_fetch_array($result)) {
  58. ?>
  59.  
  60. <option value="<?php echo $campo['cedula'] ;?>" data-icon="../galerias_profesores/<?php echo $campo['portada'];?>" class="left circle" width="70px" height="70px">
  61. <?php echo $campo['cedula'] ;?>&nbsp;<?php echo $campo['nombres'] ;?>&nbsp;<?php echo $campo['apellidos'] ;?></option>
  62.  
  63. <?php
  64. }
  65.  
  66. ?>
  67. </div>
  68.  
  69.  
  70. <div class="input-field col s12 m4">
  71. <select name="idusuarios" id="idusuarios" title="Disculpa, debe seleccionar el responsable de carga del proyectos!" required/>
  72. <option value=""  disabled selected>Responsable:</option>
  73. <?php
  74. $result = mysql_query("SELECT * FROM usuarios WHERE idnivel= 'Administrador'");
  75. while ($campo=mysql_fetch_array($result)) {
  76. ?>
  77. <option value="<?php echo $campo['cedula'] ;?>">
  78. <?php echo $campo['cedula'] ;?>&nbsp;
  79. <?php echo $campo['nombres'] ;?>&nbsp;
  80. <?php echo $campo['apellidos'] ;?>&nbsp;
  81. <?php
  82. }
  83. ?>
  84.  
  85.  
  86.  
  87.  
  88. </div>
  89.  
  90. <br>
  91.  
  92. <div class="col left s12 m12">
  93. <h6 class="left-align blue-grey-text">Datos Alumnos</h6>
  94. </div><br><br><br><br>
  95.  
  96.  
  97. <div class="row">
  98. <div class="inputs">
  99.  
  100. <div id="alumno1">
  101.  
  102. <div class="input-field col s12 m4">
  103. <input id="cedula" type="text" name="cedula" autocomplete="off" title="Cedula!" autofocus="autofocus" required/>
  104. <label for="cedula">Cédula:</label>
  105. </div>
  106.  
  107. <div class="input-field col s12 m4">
  108. <input id="nombres" type="text" name="nombres" autocomplete="off" title="Nombres!" autofocus="autofocus" required/>
  109. <label for="cedula">Nombres:</label>
  110. </div>
  111.  
  112. <div class="input-field col s12 m4">
  113. <input id="apellidos" type="text" name="apellidos" autocomplete="off" title="Apellidos!" autofocus="autofocus" required/>
  114. <label for="cedula">Apellidos:</label>
  115. </div>
  116. </div>
  117.  
  118.  
  119. <div id="alumno2">
  120.  
  121. <div class="input-field col s12 m4">
  122. <input id="cedula" type="text" name="cedula" autocomplete="off" title="Cedula!" autofocus="autofocus" required/>
  123. <label for="cedula">Cédula:</label>
  124. </div>
  125.  
  126. <div class="input-field col s12 m4">
  127. <input id="nombres" type="text" name="nombres" autocomplete="off" title="Nombres!" autofocus="autofocus" required/>
  128. <label for="cedula">Nombres:</label>
  129. </div>
  130.  
  131. <div class="input-field col s12 m4">
  132. <input id="apellidos" type="text" name="apellidos" autocomplete="off" title="Apellidos!" autofocus="autofocus" required/>
  133. <label for="cedula">Apellidos:</label>
  134. </div>
  135. </div>
  136.  
  137.  
  138.  
  139. <div id="alumno3">
  140.  
  141. <div class="input-field col s12 m4">
  142. <input id="cedula" type="text" name="cedula" autocomplete="off" title="Cedula!" autofocus="autofocus" required/>
  143. <label for="cedula">Cédula:</label>
  144. </div>
  145.  
  146. <div class="input-field col s12 m4">
  147. <input id="nombres" type="text" name="nombres" autocomplete="off" title="Nombres!" autofocus="autofocus" required/>
  148. <label for="cedula">Nombres:</label>
  149. </div>
  150.  
  151. <div class="input-field col s12 m4">
  152. <input id="apellidos" type="text" name="apellidos" autocomplete="off" title="Apellidos!" autofocus="autofocus" required/>
  153. <label for="cedula">Apellidos:</label>
  154. </div>
  155. </div>
  156.  
  157.  
  158.  
  159. </div>
  160. </div>
  161.  
  162.  
  163. <div class="center-btn">
  164. <button id="agregar" type="button"
  165. class="btn waves-effect blue-grey darken-4 btn-medium">+</button>
  166.  
  167. <button id="quitar" type="button" style="display:none;"
  168. class="btn waves-effect blue-grey darken-4 btn-medium">-</button>
  169.  
  170. <button type="submit" name="guardar"
  171. class="btn waves-effect blue-grey darken-4 btn-medium">Aceptar</button>
  172.  
  173. <button type="reset"
  174. class="btn waves-effect blue-grey darken-4 btn-medium">Cancelar</button>
  175.  
  176. <a href='inscripcion.php'
  177. button class='btn waves-effect blue-grey darken-4 btn-medium'type='submit'>
  178. Volver Atrás
  179. </button></a>
  180.  
  181. </div>
  182.  
  183. <input type='hidden' name='id' value='id'>
  184. </form>


el error que me da es este:

Notice: Undefined index: iddepartamentos in C:\xampp\htdocs\scomunitario\admin\registrar_inscr ipcion.php on line 76

Notice: Undefined index: idprofesor in C:\xampp\htdocs\scomunitario\admin\registrar_inscr ipcion.php on line 77

Notice: Undefined index: idusuarios in C:\xampp\htdocs\scomunitario\admin\registrar_inscr ipcion.php on line 78
__________________
yoclens avilan

Última edición por aviweb2015; 05/12/2016 a las 16:24
  #2 (permalink)  
Antiguo 05/12/2016, 20:35
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 14 años, 2 meses
Puntos: 123
Respuesta: Notice: Undefined index

Puedes indicar exactamente las lineas que marcan error?

Por otro y aunque creo que no tiene nada que ver fijate que el archivo que da error tiene espacios en blanco en el nombre, esto no es recomendable y esta desaconsejado ya que puede llevar a errores y confusiones.

registrar_inscr ipcion.php
registrar_inscripcion.php
__________________
Unset($vida['malRollo']);
  #3 (permalink)  
Antiguo 05/12/2016, 22:24
Avatar de aviweb2015  
Fecha de Ingreso: abril-2016
Ubicación: venezuela
Mensajes: 215
Antigüedad: 8 años, 8 meses
Puntos: 1
Respuesta: Notice: Undefined index

buen fíjate que cambie el método de insertar por uno igual pero solo a registrar en una tabla y me registra los valores bien le hice un var_dump($_POST); y me funciona bien sera que el error esta en el método de insertar? no se solo pregunto

Código:
array(7) { ["idcodificacion_proyectos"]=> string(10) "Enf. 001-G" ["titulo_proyecto"]=> string(34) "proyecto de enfermeria comunitaria" ["iddepartamentos"]=> string(17) "Dto. Fisioterapia" ["idprofesor"]=> string(8) "12345678" ["idusuarios"]=> string(8) "14558741" ["guardar"]=> string(0) "" ["id"]=> string(2) "id" }
y la referencia a el eror que fa es en este

Código:
$iddepartamentos=$_POST['iddepartamentos'];
$idprofesor=$_POST['idprofesor'];
$idusuarios=$_POST['idusuarios'];
__________________
yoclens avilan
  #4 (permalink)  
Antiguo 06/12/2016, 07:04
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 14 años, 2 meses
Puntos: 123
Respuesta: Notice: Undefined index

Pues lo único que se me ocurre es que estés reescribiendo esas variables al enviarlas, ya que utilizas $_REQUEST para recuperarlas.
Si envías la misma variable, es decir varias variables con el mismo nombre pero por metodos diferentes GET, POST o COOKIES, en $_REQUEST solo encontrarás la última que se haya enviado con ese nombre ya que se está sobreescribiendo.

Esto quiere decir que el contenido de las globales $_REQUEST y $_POST, puede no ser el mismo.

Mi consejo es que utilices el método específico para recuperar los datos y prescindas de $_REQUEST.
__________________
Unset($vida['malRollo']);
  #5 (permalink)  
Antiguo 06/12/2016, 08:03
Avatar de aviweb2015  
Fecha de Ingreso: abril-2016
Ubicación: venezuela
Mensajes: 215
Antigüedad: 8 años, 8 meses
Puntos: 1
Respuesta: Notice: Undefined index

bueno hice los inser aparte y funciona bien ahora el problema esta en lo siguiente:


tabla 1

Código:
inscripcion_proyectos

id    idcodificacion_proyecto     titulo_proyecto     iddepartamentos    idprofesor      idusuario 
1     Elect. 001-G                ejemplo blablabla   dto.electricidad   146777524     administrador



tabla 2

Código:
inscripcion_alumnos

id    idinscripcion_proyecto   cedula    nombres    apellidos
1     1                         123       ana       montilla
2     1                         456       carlos    moriche
3     1                         789       jose       useche



lo que quiero lograr es en el segundo inser que anexo abajo me logre guardar de esta forma como el ejemplo de la tabla numero 2 he insertado un for pero ney de nada no logro hacerlo, osea para tener un identificador del registro del proyecto numero tal le he añadido a la tabla 2 idinscripcion_proyectos que hace referencia al id de la tabla 1.

espero me entiendas y gracias por tu ayuda



Código PHP:
Ver original
  1. <?php
  2.  
  3. if (isset ($_POST['guardar'])){
  4.  
  5. $id=$_POST['id'];
  6. $idinscripcion_proyectos=$_POST['idinscripcion_proyectos'];
  7. $cedula=$_POST['cedula'];
  8. $nombres=$_POST['nombres'];
  9. $apellidos=$_POST['apellidos'];
  10.  
  11.  
  12.  
  13.   $sql="SELECT * FROM inscripcion_alumnos WHERE id='$id'";
  14.   $res=mysql_query($sql,$link);
  15.   $nrows=mysql_num_rows($res);
  16.  
  17. if($nrows==0){
  18.  
  19.  
  20. for ($i = 0; $i < count($idinscripcion_proyectos); $i++) {
  21.  
  22. if (mysql_query("INSERT INTO inscripcion_alumnos (id,idinscripcion_proyectos,cedula,nombres,apellidos) VALUES
  23. ('$id','$idinscripcion_proyectos[$i]','$cedula','$nombres','$apellidos')",$link));
  24.  
  25. }
  26.  
  27.  
  28. echo "";
  29.  
  30.  
  31.           }
  32.   else
  33.  
  34. echo "";
  35.  
  36.  
  37. }
  38.  
  39.  
  40. ?>
__________________
yoclens avilan
  #6 (permalink)  
Antiguo 06/12/2016, 10:18
 
Fecha de Ingreso: septiembre-2015
Mensajes: 142
Antigüedad: 9 años, 3 meses
Puntos: 13
Respuesta: Notice: Undefined index

no entiendo mucho pero ese formulario de alumnos , es el de la segunda tabla no ?
deberías manejarse como un array.


Código HTML:
Ver original
  1. <div id="alumno1">
  2.  
  3. <div class="input-field col s12 m4">
  4. <input id="cedula" type="text" name="cedula[]" autocomplete="off" title="Cedula!" autofocus="autofocus" required/>
  5. <label for="cedula">Cédula:</label>
  6. </div>
  7.  
  8. <div class="input-field col s12 m4">
  9. <input id="nombres" type="text" name="nombres[]" autocomplete="off" title="Nombres!" autofocus="autofocus" required/>
  10. <label for="cedula">Nombres:</label>
  11. </div>
  12.  
  13. <div class="input-field col s12 m4">
  14. <input id="apellidos" type="text" name="apellidos[]" autocomplete="off" title="Apellidos!" autofocus="autofocus" required/>
  15. <label for="cedula">Apellidos:</label>
  16. </div>
  17. </div>

ps eso :D

Etiquetas: formulario, index, mysql, notice, registro, select, sql, tabla, undefined, usuario
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 20:46.