Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/06/2016, 10:44
Avatar de LordJhony
LordJhony
 
Fecha de Ingreso: septiembre-2010
Mensajes: 472
Antigüedad: 13 años, 8 meses
Puntos: 24
Llenar array con datos de un formulario

Hola...
Tengo el siguiente formulario

Código HTML:
Ver original
  1. <form action="clase5.php" method="post" name="datos">
  2.      <label style="font-size: medium; color: black;"><b>Nombre:</b>  </label>&nbsp;&nbsp;
  3.      <input type="text" name="nombre" id="nombre"/><br /><br />
  4.      <label style="font-size: medium; color: black;"><b>Apellido:</b></label>&nbsp;&nbsp;
  5.      <input type="text" name="apellido" id="apellido"/><br /><br />
  6.      <label style="font-size: medium; color: black;"><b>Edad:</b></label>&nbsp;&nbsp;
  7.      <input type="text" name="edad" id="edad"/><br /><br />
  8.      <label style="font-size: medium; color: black;"><b>Sexo:</b></label>&nbsp;&nbsp;
  9.      <select name="sexo">
  10.       <option></option>
  11.       <option>Masculino</option>
  12.       <option>Femenino</option>
  13.      </select><br /><br />
  14.      <input type="submit" name="enviar" value="ENVIAR"/>&nbsp;&nbsp;
  15.      <input type="submit" name="mostrar" value="MOSTRAR"/>
  16.    </form>

Lo que intento hacer es que al enviar los datos se me guarden en un array asi

Código PHP:
Ver original
  1. $datos = array();
  2. if (isset($_POST['enviar']))
  3.  {
  4.     if ((isset ($_POST['nombre']) && !empty($_POST['nombre'])) && (isset ($_POST['apellido']) && !empty($_POST['apellido']))
  5.     && (isset ($_POST['edad']) && !empty($_POST['edad'])) && (isset ($_POST['sexo']) && !empty($_POST['sexo'])))
  6.     {
  7.         array_push($datos,array("nombre" => $_POST['nombre'], "apellido" => $_POST['apellido'], "edad" => $_POST['edad'], "sexo" => $_POST['sexo']));
  8. }}

Y cuando presione el boton mostrar me muestre los datos almacenados, eso lo hago asi

Código PHP:
Ver original
  1. else (isset($_POST['mostrar']))
  2.  {
  3.     foreach($datos as $element)
  4.         {
  5.             echo $element["nombre"]."<br />";
  6.         }}

Eso solo me está mostrando el ultimo valor ingresado, en vez de todos los datos previamente guardados y supongo que es porque cada vez que presiono el boton enviar, el array se vuelve a crear. Por tanto lo que quiero saber es si hay una manera de guardar todos los datos en el array y mostrarlos de igual forma.
De antemano muchas gracias