Mi problema es el siguiente:
Paso por url un array de javascript. Luego lo intento leer en una funcion php pero no obtengo los valores del array.
¿no es posible trabajar con arrays con php y javascript?
Un saludo a todos.
| |||
![]() Mi problema es el siguiente: Paso por url un array de javascript. Luego lo intento leer en una funcion php pero no obtengo los valores del array. ¿no es posible trabajar con arrays con php y javascript? Un saludo a todos. |
| |||
Hola, Quizas es que la URL generada por tu javascript no es la correcta. La entrada del PHP es la URL, si la URL no es correcta no puede hacer nada. Si tu codigo javascript no genera la URL correcta, es "culpa" de tu javascript, no de tu PHP. Y lo mismo con PHP. Por ejemplo, si en PHP intentas pasar un array haciendo: Código PHP: Si se pueden pasar arrays de javascript a PHP por URL, pero de la forma correcta. Saludos.
__________________ Josemi Aprendiz de mucho, maestro de poco. |
| |||
Hola josemi. Es que tampoco entiendo muy bien cuando dices pasar correctamente la URL. Mi trozo de codigo involucrado es: window.location.href="http://localhost/web7/experimentos_creados.php?eliminar_exp="+miarray donde miarray lo generé con javascript de la siguiente manera: var miarray=new Array(num_checkbox) y luego lo fue rellenando por ejemplo de la siguiente forma: for(i=1;i<6;i++) miarray[i]=i Eso es javascript. Luego en php lo recojo como $miarray pero no obtengo valores en el array |
| |||
¿Cual es la URL que te aparece en la barra de direcciones? Porque ahora con una prueba rapida me da que muestra el array como una lista de valores separados por coma. Entonces lo que recibe PHP es esa cadena de texto, los valores separados por comas en una sola variable PHP. Haz: Código PHP: Saludos.
__________________ Josemi Aprendiz de mucho, maestro de poco. |
| |||
En principio habría que "serializar" ese array si es que javacript o tus rutinas javacript no lo hacen ya de por sí.. Por ejemplo si haces $a=array(1,2,3); echo "<a href='pp.php?a=$a'>link</a>"; en pp.php obtendrás un "Array" (así tal cual) como valor de $_GET['a'] .. por qué no lo serializastes ...(con serialize() y unserialize() .. hay un ejemplo completo de uso con más detalles en las FAQ's del foro). Supongo que javacript también tendrá sus métodos para hacer lo mismo si vas a propagar por el URL un array generado desde javascript ... Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
He hecho lo que me has dicho: echo $_GET['eliminar_exp']; y obtengo los valores correctos. Mi error estaba en que estaba utilizando en el codigo php como nombre del array "miarray" en vez de "elimnar_exp" Me salen los datos separados por comas. Solo tengo un problema: El primero dato que obtengo es siempre un 4 que no se de donde sale. Ejemplo: 4, 55, 68 ¿sera que he metido algo raro por la url sin que lo sepa? Gracias por ayudarme y un saludo. |
| |||
Haz un Código PHP: Pregunta en el foro de javascript si tu codigo javascript esta mal. Saludos. PD: Creo recordar que los arrays en javascript empiezan en el indice 0, asi que quizas tienes en miarray[0] el valor 4.
__________________ Josemi Aprendiz de mucho, maestro de poco. |
| |||
Ya se lo que es. Es que el primer dato que me mete en el array es el tamaño de este. Un poco raro no? Si cambio el tamaño del array a tres por ejemplo, entonces el primer valor que obtengo es el 3. a lo mejor al crear arrays con javascript el primer valor del array es su tamaño. Gracias a todos por ayudarme. |