Recibir array por post php

Recibir array por post php

Php _post array ejemplo

Como puede ver, el formulario se enviará y la salida esperada es un array POST con un array que contiene los valores rellenados y una entrada «action» con el valor «Go» (el botón). Sin embargo, no importa qué valores introduzca en los campos; el resultado es siempre:
He utilizado la extensión Live HTTP Headers para Firefox para comprobar si los campos POST se envían, y lo hacen. La información relevante de Live HTTP Headers (con a, b y c rellenados como valores en los cuadros de texto):
Hemos probado esto en diferentes servidores, en cajas de Windows sí funciona, en el servidor Ubuntu con la versión 5.2.4 de PHP (con Suhosin), no. Incluso funciona en otro servidor, también con Ubuntu y la misma versión de PHP, también con Suhosin instalado.
Hay un número de posibles razones por las que el array de posts podría estar vacío – lo más probable es que se trate de un error humano/del desarrollador. Experimenté este mismo problema cuando actualicé de PHP 5.2 a 5.4, era simple pero me llevó horas de resolución de problemas para encontrar el error. En nuestro archivo config.php teníamos la siguiente declaración para procesar arrays $_POST:

Enviar array en post request php

Estoy tratando de enviar datos de múltiples casillas de verificación (id[]) y crear un array «info» en php que me permita ejecutar un script para cada valor (sin embargo la cantidad de valores puede cambiar cada vez) sin embargo primero estoy tratando de mostrar el contenido de cada valor del array. No estoy muy seguro de cómo poner mi línea de poblamiento del array para guardar todo el contenido en el array.
Esto es si realmente quieres tener un nombre diferente (id[key]) en cada checkbox del formulario html (no es muy eficiente). Si no, puedes simplemente nombrarlas a todas igual, es decir ‘id’ e iterar sobre los valores (seleccionados) del array, como: foreach ($_POST[‘id’] as $key=>$value)…

Php post a otro php

Cómo recibir JSON POST con PHPLeamos primero las tres características siguientes:Es sabido que todos los datos post pueden ser recibidos en un script PHP usando la variable global $_POST[]. Pero esto falla en el caso de que queramos recibir una cadena JSON como datos de la entrada. Para recibir la cadena JSON podemos utilizar el «php://input» junto con la función file_get_contents() que nos ayuda a recibir los datos JSON como un archivo y lo lee en una cadena.Más tarde, podemos utilizar la función json_decode() para decodificar la cadena JSON.Manejo de la solicitud POST JSON:

Php obtener todos los datos de la entrada

PHP tiene una función de serialización provista para este propósito específico. Pásele un arreglo, y le dará una representación de cadena. Cuando quiera convertirlo de nuevo en un array, sólo tiene que utilizar la función unserialize.
Podría, por ejemplo, añadir valores extra a tu array, o valores que no pertenecen al array. Si esto fuera un gestor de sistemas de archivos, entonces podría añadir archivos que no existen o archivos que contienen información sensible (por ejemplo: reemplazar miarchivo.jpg con ../index.php o ../db-connect.php).
En resumen, siempre hay que comprobar posteriormente que las entradas tienen sentido, y sólo utilizar entradas seguras en los formularios. Un ID de archivo (un número) es seguro, porque puedes comprobar si el número existe, y luego extraer el nombre del archivo de una base de datos (esto supone que tu base de datos contiene entradas validadas). Un nombre de archivo no es seguro, por las razones descritas anteriormente. Debes revalidar el nombre de archivo o bien podría cambiarlo por cualquier cosa.
Por qué no guardar el array en la variable $_SESSION para poder usarlo cuando se envíe el formulario, eso podría hacerlo más «seguro» ya que entonces el cliente no puede cambiar las variables editando la fuente.

Entradas relacionadas

Esta web utiliza cookies propias para su correcto funcionamiento. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad