Ver Mensaje Individual
  #5 (permalink)  
Antiguo 21/10/2017, 11:05
mensajeescrito
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 12 años
Puntos: 5
Respuesta: buscar en un array asociativo un dato

Como tengo una segunda duda. pongo todo el codigo aqui para mayor claridad.

Mi problema es que cuando meto el primer valor mediante el formulario , pues no se me muestra reflejado en el listado.

Pero al meter un segundo valor en el formulario y lo envio entonces me aparecen de una

vez de golpe , tanto el primer dato que mandé como el segundo dato mandado.

Mi codigo es este:

Código PHP:
Ver original
  1.  
  2.     //RECIBIBOS LOS DATOS DEL FORMULARIO
  3.  
  4.     if($_POST)
  5.  
  6.         {
  7.             if(!empty($_POST['nombre']))
  8.  
  9.                 {
  10.                     $nombre = $_POST['nombre'];
  11.                     $masa = $_POST['masa'];
  12.                     $velocidad = $_POST['velocidad'];
  13.                     $mod = $_POST['mod'];              
  14.  
  15.  
  16.  
  17.                     $array_pha = array();
  18.  
  19.                     $subArray_pha = array();
  20.  
  21.  
  22.  
  23.                     $_SESSION['subArray_pha'][] = array($nombre => $mod);
  24.  
  25.                     $array_pha = $_SESSION['array_pha'][] = $_SESSION['subArray_pha'];
  26.  
  27.  
  28.  
  29.                     echo '<h1>Listado de los PHAs</h1>';
  30.  
  31.                     foreach($array_pha as $subArray_pha)
  32.  
  33.                         {
  34.                             if( !(array_key_exists($nombre, $subArray_pha)) or ($masa == '') or ($velocidad == '') or ($mod == '') )
  35.  
  36.                                 {
  37.                                     foreach($subArray_pha as $nombre => $mod)
  38.  
  39.                                         {
  40.                                             echo "<b>Nombre: </b>" . $nombre . " | <b>Mod: </b>" . $mod . "<br/>";
  41.                                         }
  42.                                 }
  43.                         }                  
  44.                 }
  45.  
  46.                 else
  47.  
  48.                 {
  49.                     echo 'Falta el nombre del PHA';
  50.                 }
  51.         }


Y el formulario:
Código HTML:
Ver original
  1. <form name="form_pha" method="post" action="index.php">
  2.  
  3.             <label>Nombre</label>
  4.  
  5.             <input type="text" name="nombre" value="<?php if( isset($_POST['nombre']) ) { echo $_POST['nombre']; }?>" placeholder="del PHA" />
  6.  
  7.  
  8.  
  9.             <br/><br/>
  10.  
  11.  
  12.  
  13.             <label>Masa</label>
  14.  
  15.             <input type="text" name="masa" value="<?php if( isset($_POST['masa']) ) { echo $_POST['masa']; }?>" placeholder="de 1 a 1.000.000.000. toneladas" />
  16.  
  17.  
  18.  
  19.             <br/><br/>
  20.  
  21.  
  22.  
  23.             <label>Velocidad</label>
  24.  
  25.             <input type="text" name="velocidad" value="<?php if( isset($_POST['velocidad']) ) { echo $_POST['velocidad']; }?>" placeholder="de translación" />
  26.  
  27.  
  28.  
  29.             <br/><br/>
  30.  
  31.  
  32.  
  33.             <label>Distancia mínima orbital</label>
  34.  
  35.             <input type="text" name="mod" value="<?php if( isset($_POST['mod']) ) { echo $_POST['mod']; }?>" placeholder="de 0.001 a 1.0" />
  36.  
  37.  
  38.  
  39.             <br/><br/>
  40.  
  41.  
  42.  
  43.             <input type="submit" name="enviar" value="introducir" />
  44.  
  45.         </form>

gracias de antemano