#1• Hola buenas Como dice el título, tengo un array (o vector) que necesito pasar de un script a otro a través de un formulario por $_POST. En mi servidor local la programación es perfecta y hace lo que quiero, pero al subirlo a webcindario y probarlo solo pasa el primer valor del array o eso creo, dado que tampoco da fallos específicos. He mirado por si hay alguna función desactivada de las que uso pero creo que no. Dejo aquí la función con la que convierto el array para luego pasarlo al formulario y la función con la que lo vuelvo a pasar a array Función para poder pasarlo por POST: Cita: function array_envia($participantes) de ahi $participantes es mandada por el formulario. $participantes es un array con esta estructura: $participantes[valor]["campo interno"] es decir es bidimensional, pero aún asi localmente lo recorre y lo pasa bien con esta función Luego para devolver el array a su estado natural tras pasarlo de un script a otro lo hago con esta otra función Cita: $participantes==$_POST['participantes']; y solo muestra el primer valor, es decir solo pasa el primer valor de los muchos que llego a pasar ¿Hay algo desactivado de esas funciones en miarroba/webcindario? Es sino para buscar otra alternativa para poder pasar un array de script a script Gracias |
#2• Escrito originalmente por @JoaoTeamm ¿Hay algo desactivado de esas funciones en miarroba/webcindario? NO Cuando mi@ desactiva funciones, los códigos dan errores. Respecto porque en local te funciona y en remoto no, tendrás que mirarlo, lo más seguro es que en local tengas configurado el php con menos restricciones... yo empezaría por meter unos print_r para asegurarte que antes de pasar el array, esta como crees que esta... |
#3•• Hola nuevamente @NoSetup.org Siento ser pesado Despues de hacer varias pruebas, lo serializa antes de pasarlo correctamente, pero al pasarlo de un script a otro por post, en el scrpit que lo recibe aparece totalmente en blanco, es decir, como si pasara un valor nulo por POST, por tanto al des-serializar da error porque no hay valor alguno. No se que restricción que en modo local tenga activa puede estar dando el problema en el remoto. Es verdad que no hay acceso a vuestra php.ini pero si esas funciones no están desactivadas..... hay algo en concreto que pueda ser? Es que veo algo jodido el tener que cambiar toda la programación y pasar ese array de otra forma (que no se si la habrá) de script a script, aunque si no hay mas remedio tendré que hacerlo asi. Aún asi espero tu respuesta, gracias de nuevo Edito mi mensaje: he intentado que en vez de serialize sea a través de una variable de sesión pero esa variable se pasa como un valor vacío. He intentado que en vez de usar un array bidimensional sea unidimensional, pero tampoco, también da un valor vacio ese array. No se, hay algo desactivado con los arrays? es digamos la duda que me queda, o si la variable supera X tamaño, no se pasa? Gracias de nuevo |
#4• mi@ no ha tocado nada de arrays... Haz una prueba... con un array facil, antes de psaar el mismo, haz un print_r, pasalo, haz otro print_r y comprueba... y pon el código que usas. |
#5•• Gracias por tu interés!! Dejo un ejemplo que en modo local saca el resultado pero al subirlo muestra valor nulo: Cita: <?php Decir que por $_Session este mismo ejemplo si funciona en remoto, asi que alguna cagada tendré que tener en mi código cuando probé a hacerlo por $_Session que no consigo ver, pero aún asi serializando, si es verdad que seguro que tengo otra cagada que aún no he visto pero con este ejemplo, espero poder salir de dudas Gracias |
#6• No se si te has dado cuenta, pero en ningún momento estás pasando un array por POST, estás pasando una variable con un array serializado como contenido... dícese, una variable normal y corriente que si no te está llegando es porque tienes algo mal al enviarla. Mira el formulario de envío, que casi seguro el resultado del serialize te está rompiendo el formulario |
#7• Escrito originalmente por @Tito No se si te has dado cuenta, pero en ningún momento estás pasando un array por POST, estás pasando una variable con un array serializado como contenido... dícese, una variable normal y corriente que si no te está llegando es porque tienes algo mal al enviarla. Mira el formulario de envío, que casi seguro el resultado del serialize te está rompiendo el formulario Gracias tambien por tu respuesta Claro la mando serializada porque por alguna razon que si que se que algo hago mal, al mandarla por $_Session da también valor nulo. El formulario debe estar bien o eso creo, porque en modo local no da error ninguno, es mas este sería el resultado de Serialize antes de enviar y despues de enviar en modo local: Primero antes de enviarlo por POST Cita: Antes del envio a:5:{i:0;s:4:"Hola";i:1;s:6:"Buenas";i:2;s:11:"Hasta Luego";i:3;s:12:"Hasta Pronto";i:4;s:5:"Adios";} Despues de enviarlo por POST antes de des-serializarlo Cita: Despues del envio a:5:{i:0;s:4:"Hola";i:1;s:6:"Buenas";i:2;s:11:"Hasta Luego";i:3;s:12:"Hasta Pronto";i:4;s:5:"Adios";} Sin embargo este es el resultado en el remoto: Antes del envio Cita: a:5:{i:0;s:4:"Hola";i:1;s:6:"Buenas";i:2;s:11:"Hasta Luego";i:3;s:12:"Hasta Pronto";i:4;s:5:"Adios";} Despues de enviar: Cita: a:5:{i:0;s:4:\"Hola\";i:1;s:6:\"Buenas\";i:2;s:11:\"Hasta Luego\";i:3;s:12:\"Hasta Pronto\";i:4;s:5:\"Adios\";} Mete \ y creo que eso hace que como bien dices lo meta todo en una variable y no en array, pero no entiendo el por qué dado que como digo en local si lo interpreta perfectamente. Soy consciente de que algo hay mal o al menos mejorable, pero la verdad que estoy perdido o cegado ahora mismo y no lo veo. Sino creo que no he entendido bien lo que me has querido decir en tu respuesta Gracias de nuevo |
#8• Intenta usar stripslashes($str) antes de des-serializar. |
#9• Escrito originalmente por @GestionXls Intenta usar stripslashes($str) antes de des-serializar. Gracias por la respuesta! En el mensaje primero que puse, lo usaba, pero viendo que tampoco cumplia supuestamente su función, lo quise simplificar quitandolo, pero tampoco...... la verdad que no se ya por donde tirar. Supongo que algo hay mal, pero que es? No lo se |
#10• ¿Nadie ve nada raro o encuentra una explicación? |
#11• Se que estareis hasta arriba de trabajo, pero asi a simple vista seguis sin ver nada raro? |
#12•• @JoaoTeamm, perdona pero no puedo estar a revisar códigos. En un principio mi consejo es que para enviar hagas un htmlspecialchars del serialize y al recogerlo, un stripslashes antes del unserialize ya que webcindario tiene el magic_quotes activado. Aquí te dejo un código muy simple (sin comprobaciones ni nada) para que te hagas una idea y puedas partir de ahí: |
#13• Bien muchisimas gracias por la ayuda. Espero poder probarlo antes del fin de semana y cuento aquí si funciona o no Gracias de nuevo un saludo |
ATENCIÓN: Este tema no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un nuevo tema en lugar de responder al actual |
Opciones: Ir al subforo: |
Permisos: TU NO PUEDES Escribir nuevos temas TU NO PUEDES Responder a los temas TU NO PUEDES Editar tus propios mensajes TU NO PUEDES Borrar tus propios mensajes |
Temas similares | ||||
Tema | Usuarios | Respuestas | Visitas | Actividad |
---|---|---|---|---|
Por: joakinricardo, el 12/Oct/2015, 19:28 | 1 | 3k | Oct/15 | |
Por: QuiNtaN, el 06/Abr/2005, 13:27 | 18 | 232k | Nov/16 |