Foros del Web » Programando para Internet » PHP »

pasar variable de un formulario a otro formulario PDO

Estas en el tema de pasar variable de un formulario a otro formulario PDO en el foro de PHP en Foros del Web. Tengo un formulario que es muy grande y por esa razón lo he partido en dos pedazos el primer formulario me registra bien e igual ...
  #1 (permalink)  
Antiguo 06/02/2017, 01:17
Avatar de aviweb2015  
Fecha de Ingreso: abril-2016
Ubicación: venezuela
Mensajes: 215
Antigüedad: 8 años
Puntos: 1
Busqueda pasar variable de un formulario a otro formulario PDO

Tengo un formulario que es muy grande y por esa razón lo he partido en dos pedazos el primer formulario me registra bien e igual que el segundo el único problema es que cuando hago el registro del segundo formulario no me guarda la cédula del primer formulario esa variable tengo que recibirla tipo hidden ya que tengo dos tablas para guardar esos registros la primera es historia_clinica que guarda la cedula del paciente y la segunda tabla es antecedentes_personales que guarda la fk_cedula que hace referencia a la cedula de la tabla historia clínica.

anexo los códigos de registro del segundo formulario



Código PHP:
Ver original
  1. <!-- formulario de registro-->
  2. <div class="row">
  3. <br>
  4.  
  5. <form class="" action="registrar_historiaclinica_antecedentes_personales.php" name="frmContacto" method="POST">
  6.  
  7.  
  8.  
  9. <div class="input-field col s12 m12">
  10. <h6 class="left-align white-text thin"><b>Motivo de Consulta:</b></h6>
  11. <textarea  id="motivo_consulta" name="motivo_consulta" class="materialize-textarea" title="Describe tu Mensaje" autocomplete="off" required/></textarea>
  12. </div>
  13.  
  14.  
  15.  
  16. <div class="input-field col s12 m12">
  17. <h6 class="left-align white-text thin"><b>Enfermedad Actual:</b></h6>
  18. <textarea  id="enfermedad_actual" name="enfermedad_actual" class="materialize-textarea" title="Describe tu Mensaje" autocomplete="off" required/></textarea>
  19. </div>
  20.  
  21.  
  22. <div class="input-field col s12 m12">
  23. <h6 class="left-align white-text thin"><b>HTA:</b></h6>
  24. <textarea  id="hta" name="hta" class="materialize-textarea" title="Describe tu Mensaje" autocomplete="off" required/></textarea>
  25. </div>
  26.  
  27.  
  28. <div class="input-field col s12 m12">
  29. <h6 class="left-align white-text thin"><b>DIABETES:</b></h6>
  30. <textarea  id="diabetes" name="diabetes" class="materialize-textarea" title="Describe tu Mensaje" autocomplete="off" required/></textarea>
  31. </div>
  32.  
  33. <div class="input-field col s12 m12">
  34. <h6 class="left-align white-text thin"><b>ALERGIA A FARMACOS:</b></h6>
  35. <textarea  id="alergias_farmacos" name="alergias_farmacos" class="materialize-textarea" title="Describe tu Mensaje" autocomplete="off" required/></textarea>
  36. </div>
  37.  
  38. <div class="input-field col s12 m12">
  39. <h6 class="left-align white-text thin"><b>QUIRURGICOS:</b></h6>
  40. <textarea  id="quirurgicos" name="quirurgicos" class="materialize-textarea" title="Describe tu Mensaje" autocomplete="off" required/></textarea>
  41. </div>
  42.  
  43. <div class="input-field col s12 m12">
  44. <h6 class="left-align white-text thin"><b>OTROS:</b></h6>
  45. <textarea  id="otros" name="otros" class="materialize-textarea" title="Describe tu Mensaje" autocomplete="off" required/></textarea>
  46. </div>
  47.  
  48. <div class="input-field col s12 m12">
  49. <h6 class="left-align white-text thin"><b>ANTECEDENTES FAMILIARES:</b></h6>
  50. <textarea  id="antecedentes_familiares" name="antecedentes_familiares" class="materialize-textarea" title="Describe tu Mensaje" autocomplete="off" required/></textarea>
  51. </div>
  52.  
  53. <div class="input-field col s12 m12">
  54. <h6 class="left-align white-text thin"><b>PSICOBIOLOGICOS:</b></h6>
  55. <textarea  id="psicobiologicos" name="psicobiologicos" class="materialize-textarea" title="Describe tu Mensaje" autocomplete="off" required/></textarea>
  56. </div>
  57.  
  58.  
  59. <div class="center-align">
  60. <button class="btn waves-effect blue-grey darken-4 btn-medium" type="submit" name="guardar">
  61. Crear Historia Clinica
  62. </button>
  63.  
  64.  
  65. <button class="btn waves-effect blue-grey darken-4 btn-medium"  type="reset" >
  66. Cancelar
  67. </button>
  68.  
  69.  
  70. <a href='historiaclinica.php'
  71. button class='btn waves-effect blue-grey darken-4 btn-medium' type='submit'>
  72. Volver Atrás
  73. </button></a>
  74.  
  75. </div>
  76.  
  77. <input type='hidden' name='fk_cedula' value='<?php echo $cedula;?>' id='cedula'>
  78.  
  79. </form>
  80.  
  81.  
  82. <!-- proceso para registrar-->
  83.  
  84.  
  85. <?php
  86. if(isset($_POST['guardar'])){
  87. $cedula_check = $DB_con->prepare('SELECT fk_cedula FROM antecedentes_personales  WHERE fk_cedula = :fk_cedula LIMIT 1');
  88. $cedula_check->bindParam(':fk_cedula', $_POST['fk_cedula']);
  89. $cedula_check->execute();
  90. if($cedula_check->rowCount() > 0){
  91. $cedula_check->closeCursor();
  92.  
  93. echo "<div class='col s12 card-panel blue lighten-2 center'>
  94. <h5 class='black-text text-darken-2 center CONDENSED LIGHT5'>
  95. ¡ Ups Aviso: El Registro ya se Encuentra Insertado !
  96. </h5>
  97. </div>";
  98.  
  99. header("refresh:5;consultar_historiaclinica.php");
  100.  
  101. }else{
  102.  
  103. $sql=$DB_con->prepare("INSERT INTO antecedentes_personales(
  104. fk_cedula,motivo_consulta,enfermedad_actual,hta,diabetes,alergias_farmacos,
  105. quirurgicos,otros,antecedentes_familiares,psicobiologicos)
  106.  
  107. VALUES
  108.  
  109. (:fk_cedula, :motivo_consulta, :enfermedad_actual, :hta, :diabetes, :alergias_farmacos,
  110. :quirurgicos, :otros, :antecedentes_familiares, :psicobiologicos)");
  111. $sql->bindParam(':fk_cedula',$_POST['fk_cedula']);
  112. $sql->bindParam(':motivo_consulta',$_POST['motivo_consulta']);
  113. $sql->bindParam(':enfermedad_actual',$_POST['enfermedad_actual']);
  114. $sql->bindParam(':hta',$_POST['hta']);
  115. $sql->bindParam(':diabetes',$_POST['diabetes']);
  116. $sql->bindParam(':alergias_farmacos',$_POST['alergias_farmacos']);
  117. $sql->bindParam(':quirurgicos',$_POST['quirurgicos']);
  118. $sql->bindParam(':otros',$_POST['otros']);
  119. $sql->bindParam(':antecedentes_familiares',$_POST['antecedentes_familiares']);
  120. $sql->bindParam(':psicobiologicos',$_POST['psicobiologicos']);
  121. $sql->execute();
  122.     }
  123. if($sql)
  124. {
  125. echo "<div class='col s12 card-panel teal lighten-2 center'>
  126. <h5 class='black-text text-darken-2 center CONDENSED LIGHT5'>
  127. ¡ Bien Hecho: Registro Insertado Correctamente !
  128. </h5>
  129. </div>";
  130. header("refresh:5;consultar_historiaclinica.php");
  131. }
  132. }
  133. ?>
  134.  
  135. <!-- fin proceso para registrar-->
  136.  
  137.  
  138. </div>
  139. <!-- fin formulario de registro-->
__________________
yoclens avilan
  #2 (permalink)  
Antiguo 06/02/2017, 08:13
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 1.135
Antigüedad: 13 años, 1 mes
Puntos: 170
Respuesta: pasar variable de un formulario a otro formulario PDO

Creo que una opcion mas facil seria guardarlas en variables de SESSION pero tambien puedes pasarlas de form en form...

Primer formulario, el usuario ingresa la cedula que se almacenará en un hidden en el segundo formulario:

Código HTML:
Ver original
  1. <input type="text" name="cedula">

Segundo formulario, para recibirla via POST desde el primer formulario enviado:

Código HTML:
Ver original
  1. <input type="hidden" name="cedula_recibida" value="<?php echo $_POST['cedula']; ?>">
Con esto ya en el segundo envio recibes finalmente en otro POST llamado cedula_recibida la info para ingresarla a la base

Creo haberte comentado antes que los codigos de ingreso de información a base de datos, debes ponerlos a principio del documento con la misma comprobación que haces para activarlo, no al final.. ya que en la recarga de la pagina estas gastando recursos innecesarios al hacer cargar de nuevo el codigo del formulario hasta alcanzar el header refresh y volver a cargarlo de nuevo...
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)
  #3 (permalink)  
Antiguo 06/02/2017, 08:45
Avatar de aviweb2015  
Fecha de Ingreso: abril-2016
Ubicación: venezuela
Mensajes: 215
Antigüedad: 8 años
Puntos: 1
Respuesta: pasar variable de un formulario a otro formulario PDO

lohe puesto como me dices pero en la bd me guarda asi:

fk_cedula
<br />
<b>

o se porque toma ese valor.
__________________
yoclens avilan
  #4 (permalink)  
Antiguo 06/02/2017, 10:43
 
Fecha de Ingreso: septiembre-2015
Mensajes: 142
Antigüedad: 8 años, 7 meses
Puntos: 13
Respuesta: pasar variable de un formulario a otro formulario PDO

verifica antes de enviar todo que guardas en esa variable de $cedula.

así ves que guarda.

Etiquetas: formulario, pdo, registro, select, sql, variable
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 21:55.