variable valor recibir funciona ejemplo array _request _post php arrays wordpress forms woocommerce

valor - recibir variables get php



Almacenamiento de matriz de variables PHP $_POST como matriz (2)

Recientemente tuve un problema similar, aunque no con wordpress. htmlentities() las htmlentities() y serialize() para que se htmlentities(serialize($array)) así htmlentities(serialize($array)) y eso funcionó para mí.

Espero que esto ayude

Estoy trabajando en un proceso de WordPress, pero esto parece más una pregunta general de manipulación de PHP y matrices con relevancia específica para WordPress, en este caso relacionado con WooCommerce.

Si tengo un formulario que puede enviar entre 1 y alrededor de 35 entradas del mismo tipo, entiendo que puedo crearlo de la siguiente manera. Estoy usando nombres y apellidos.

Las entradas de formulario, simplificadas, se ven así:

echo '' <input type="text" name="first_name[]" id="first_name" />''; echo '' <input type="text" name="last_name[]" id="last_name" />'';

En la versión completa de lo anterior, las líneas se replican tantas veces como sea necesario, con una variable iterada que distingue los identificadores secuencialmente entre sí y con otros valores prellenados y ocultos. Hay una versión paralela destinada a publicar variables como campos ocultos.

La acción posterior se ve así:

if (isset($_POST) == true) { $att_data = array( ''last_name'' => $_POST[''last_name''], ''first_name'' => $_POST[''first_name''] );

La función de WordPress add_post_meta entonces debe agregar $ att_data a la base de datos. Funciona bien como una acción directa de "agregar" sin un formulario, o con una variable ficticia en lugar del $ _POST [...]. Desafortunadamente, sin embargo, lo que me da usar versiones de form / submit / $ _ POST en mi consola de depuración es

["last_name"]=> NULL ["first_name"]=> NULL

Por lo tanto, el formulario se está enviando o, al menos, se está publicando la acción posterior y se está enviando la matriz, pero las variables $ _POST no se están capturando. Por qué no?

ADICIONAL: Espere un segundo. Me pregunto si WooCommerce borrará todas las variables $ _POST antes de redirigirlas ... Estoy investigando ahora.


No tengo una respuesta a la pregunta básica sobre por qué $ _POST no funciona en este contexto particular (pedido de compra de WooCommerce), pero creo que mi sintaxis era probablemente correcta o cercana, ya que la misma sintaxis o prácticamente la misma funcionó cuando sustituí el método "get" por "post" en el formulario, cambié las variables a $ _GET variables, y separé el nuevo formulario del anterior. Además, quizás de manera indicativa, $ _POST tampoco funcionó en la segunda forma, incluso en su nueva posición. Fue solo por casualidad y desesperación que descubrí que $ _GET funcionaba.

Dado que la seguridad no es realmente una preocupación en este momento de la rutina (solo reserva los nombres de las reservas para un usuario que ya ha iniciado sesión comprando tickets), y creo que las solicitudes serán inferiores a los $ _GET de los límites de 3000 caracteres, o Habrá otras soluciones para este último si es necesario, voy a ir con la solución $ _GET hasta que, a menos que sea capaz de descubrir (¡o alguien me lo diga!) cuál es el problema en Woo Checkout. Esa parece ser una pregunta de WordPress / WooCommerce, no, como sospeché originalmente, una pregunta de PHP.

Me queda una nueva tarea que me llevará a hacer una pregunta que también está en la frontera de WordPress / PHP (al igual que este sitio muchas veces, al menos para mí), que tiene que ver con ordenar la salida en función de la matriz resultante. Veo preguntas similares planteadas todo el tiempo, pero todavía no me he encontrado con esta en particular, pero ese será el tema de otra publicación, ya que actualmente no estoy seguro de si la respuesta será más PHP (clasificación de matriz) o WordPress específico. Si alguien que lee este hilo siente que está cortocircuitando mis planes actuales, ya sea anticipando mi pregunta o dirigiéndome a un recurso que hará el trabajo, sea mi invitado.

Gracias a todos los que hicieron sugerencias, que al menos básicamente confirmaron que nada en la superficie estaba mal con la sintaxis, y que proporcionaron sugerencias para la depuración.