persistencia de un $_POST

1659 visitas 2 respuestas

hola que tal, tengo un problema con la persistencia de un valor de un botón al presionar otro. La idea es presionar que al presionar un botón obtengo por POST un arreglo de valores de checkbox

<input id="cb-select-1" type="checkbox" name="post[]" value="$i" />  

(el valor de $i se va incrementando de 1 a X)

Al presionar el primer botón, de ese primer formulario obtengo el valor sin problemas

if(isset($_POST["submit"]){
    $checkbox=$_POST["post"];
}

y puedo obtener sus valores, pero dentro de esa acción del botón requiero desplegar otro formulario y en la acción del segundo botón de ese nuevoe formulario necesito seguir usando ese arreglo

if(isset($_POST["submit"]){
    $checkbox=$_POST["post"];
    echo "<form method='post'>Otro Formulario
            <input type='submit' name='submit_n'>
         </form>";
    if(isset($_POST["submit_n"]){
            //y aqui proceso los datos del segundo formulario con éxito, pero no el arreglo $checkbox
    }
}

Me parece que los valores de ese arreglo solo se encuentran dentro del primer submit, pero no estoy seguro de ello

¿Como puedo darle persistencia a ese arreglo o poderlo reutilizar?

por

Registrado desde: 12 Nov 14

Respuestas

1 0

Cuando tu envías un formulario, los valores se envían a la página a la que apunta ese formulario, y no tienen trascendencia más allá de esa página. Además, si dices que estás creando otro formulario, contarás con dos formularios diferentes, y cuando pulses submit sólo podrás enviar los valores de uno de ellos.

Posibles soluciones:

  1. Enviar el primer formulario y almacenar los valores que necesites en sesión $_SESSION. De esta manera, en el siguiente envío de formulario podrás acceder a ellos sin problema.
  2. Al generar el segundo formulario, en lugar de ser un nuevo formulario, haz que los nuevos campos sean parte del primer formulario, de manera que al hacer submit, envíes todo en conjunto. Para esto sería conveniente generar los campos mediante Ajax, porque de otra forma necesitarías volver a rellenar los campos de primer formulario tras la recarga.

por desde España

Registrado desde: 02 Jul 02
0 0

Tiene razon @Zubyc , aun que tambien prodrias poner el name en el form para que puedas generarlo con facilidad, bueno eso lo que se me ocurre.

por desde México

Registrado desde: 29 Jul 15