Foros del Web » Programando para Internet » PHP »

duda post

Estas en el tema de duda post en el foro de PHP en Foros del Web. hola.. mi pregunta es que si puedo recuperar la informacion de un arreglo al recibirlo con post?... de un formulario paso la variable como oculta, ...
  #1 (permalink)  
Antiguo 04/12/2008, 18:18
 
Fecha de Ingreso: agosto-2008
Mensajes: 173
Antigüedad: 15 años, 8 meses
Puntos: 0
duda post

hola..
mi pregunta es que si puedo recuperar la informacion de un arreglo al recibirlo con post?...

de un formulario paso la variable como oculta, por el metodo post...

Código PHP:

//aqui se saca el ppresup de una cadena que es una llave.. 

for ($b=5;$b<strlen($cadena_llave);$b++)
       
$nppresup.=$cadena_llave[$b];
     
echo 
$i;     
echo 
"ppresup: ".$ppresups[$i]=$nppresup//se guardan los diferentes ppresup que existan en la obra


//y en $ppresups[] se guardan los ppresup's 
Código HTML:
<form name="autorizado" id="autorizado" action="cuadrar_aut_arch2.php" target="cuadra2" method="post">

<input name="ppresups" type="hidden" value="<?php echo $ppresups; ?>" /> 
y la recibo simplemente asi :

Código PHP:
$ppresups=$_POST['ppresups']; 
y el contenido no esta correcto....
  #2 (permalink)  
Antiguo 04/12/2008, 18:26
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: duda post

En esta parte:
Código php:
Ver original
  1. $nppresup.=$cadena_llave[$b];    
  2. echo $i;    
  3. echo "ppresup: ".$ppresups[$i]=$nppresup;

Que intentas hacer?

Si te fijas estas re-asignando varias variables a diferentes tipos.

Saludos.
  #3 (permalink)  
Antiguo 04/12/2008, 18:27
Avatar de Acron_0248  
Fecha de Ingreso: junio-2005
Ubicación: 127.0.0.1
Mensajes: 1.648
Antigüedad: 18 años, 10 meses
Puntos: 18
Respuesta: duda post

Lo que haces no tiene como funcionar adecuadamente y el error está al momento de crear el formulario html.

En el formulario estás utilizando echo $ppresups; para generar el valor de los presupuestos, el problema, sin embargo, es que $ppresups es un array y por ende al usar simplemente echo, no te dará ningún valor
__________________
Usuario Reigistrado de linux #399288
  #4 (permalink)  
Antiguo 04/12/2008, 18:35
 
Fecha de Ingreso: agosto-2008
Mensajes: 173
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: duda post

Cita:
Iniciado por GatorV Ver Mensaje
En esta parte:
Código php:
Ver original
  1. $nppresup.=$cadena_llave[$b];    
  2. echo $i;    
  3. echo "ppresup: ".$ppresups[$i]=$nppresup;

Que intentas hacer?

Si te fijas estas re-asignando varias variables a diferentes tipos.

Saludos.

lo que intento hacer es sacar letra por letra de la cadena_llave y concatenarlas en la variable nppresups yesta a su vez asiganarla al arreglo que quiero mandar...
  #5 (permalink)  
Antiguo 04/12/2008, 18:39
 
Fecha de Ingreso: agosto-2008
Mensajes: 173
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: duda post

Cita:
Iniciado por Acron_0248 Ver Mensaje
Lo que haces no tiene como funcionar adecuadamente y el error está al momento de crear el formulario html.

En el formulario estás utilizando echo $ppresups; para generar el valor de los presupuestos, el problema, sin embargo, es que $ppresups es un array y por ende al usar simplemente echo, no te dará ningún valor
bueno le pongo echo... por que como es una variable php... y aparte es hidden.. lei.. que se debe poner echo .. para que sea como si lo hubiera escrito el usuario directamente... (como si fuera un textbox)...

pense que funcionaría... por que asi pase un arreglo del nombre de unos textboxs.. y si podia recibir la informacion de cada caja correctamente.

pense que una variable que es arreglo se podria pasar igual..

no se si me explique.?
  #6 (permalink)  
Antiguo 04/12/2008, 18:54
Avatar de Acron_0248  
Fecha de Ingreso: junio-2005
Ubicación: 127.0.0.1
Mensajes: 1.648
Antigüedad: 18 años, 10 meses
Puntos: 18
Respuesta: duda post

Es una variable, eso es cierto, pero no cualquier variable de tipo cadena, es un array, es decir, una matriz compuesta de una serie de valores ordenados por índices.

a manera de prueba, cambia ese echo $ppresups a
Código PHP:
print_r($ppresups); 
y entenderás a qué me refiero.

No se realmente cómo quieres que te llegen los valores, tal vez un ejemplo más gráfico sería útil para entender qué quieres realmente. Por ejemplo, deseas que sea una cadena con varios valores separados por una coma? (Arreglos: arreglo1, arreglo2, arreglo3...)

De ser algo así podrías entonces que utilizar foreach para crear una nueva variable que contenga los valores del array $ppresups en una sola cadena separada por comas, pero como dije, relamente no queda muy claro cómo esperas que el resultado sea
__________________
Usuario Reigistrado de linux #399288
  #7 (permalink)  
Antiguo 04/12/2008, 19:04
 
Fecha de Ingreso: agosto-2008
Mensajes: 173
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: duda post

Cita:
Iniciado por Acron_0248 Ver Mensaje
Es una variable, eso es cierto, pero no cualquier variable de tipo cadena, es un array, es decir, una matriz compuesta de una serie de valores ordenados por índices.

a manera de prueba, cambia ese echo $ppresups a
Código PHP:
print_r($ppresups); 
y entenderás a qué me refiero.

No se realmente cómo quieres que te llegen los valores, tal vez un ejemplo más gráfico sería útil para entender qué quieres realmente. Por ejemplo, deseas que sea una cadena con varios valores separados por una coma? (Arreglos: arreglo1, arreglo2, arreglo3...)

De ser algo así podrías entonces que utilizar foreach para crear una nueva variable que contenga los valores del array $ppresups en una sola cadena separada por comas, pero como dije, relamente no queda muy claro cómo esperas que el resultado sea
ok... mira ...

el objetivo de guardar esos programas (11AD0900QA417500) que son numeros y letras... es que identifican una obra de construccion... pero cada obra puede tener varios programas ..

entonces lo que quiero es almacenar esos programas en una variable.. y poder leerla al cambiar de pagina ... por que los voy "recorriendo" y voy mostrando la informacion de cada uno de ellos entre una pagina y otra....

entonces por eso la paso con post...
entonces no se como pueda hacerlo...

por ejemplo...
la obra M0001.... tiene los programas 11AD0900QA417500 Y 11AD09....01.

el primer programa tiene su configuracion financiera... estos montos son vaciados a unos textbox... estos textbox estan en un formulario.. por si son modificados por el usuario... al momento de dar click en guardar... en la otra pagina se reciben estos text box y se insertan en la BD,,

y mando la variable de ppresup como hidden... para poder recibirla y leerla en la pagina nueva ... y mostrar la informacion finaciera del siguiente programa... y asi sucesivamente..

por eso considere que fuera un arreglo... no se si te revolvi?
  #8 (permalink)  
Antiguo 04/12/2008, 19:17
Avatar de Acron_0248  
Fecha de Ingreso: junio-2005
Ubicación: 127.0.0.1
Mensajes: 1.648
Antigüedad: 18 años, 10 meses
Puntos: 18
Respuesta: duda post

Ok, solo para definir entonces una estructura que podrías usar en tu código, coloca el output de
Código PHP:
print_r($ppresups); 
A menos claro que decidas hacerlo tú, en cuyo caso, lo que podrías usar es algo similar a esto:
Código PHP:
foreach($ppresups as $k) {
    
$programas .= $k ' ,';

y luego en el formulario en vez de $ppresup, usas $programas

Pero preferiría el output de $ppresups que te dije antes porque no queda muy claro si la matriz es associativa o no.
__________________
Usuario Reigistrado de linux #399288
  #9 (permalink)  
Antiguo 04/12/2008, 19:32
 
Fecha de Ingreso: agosto-2008
Mensajes: 173
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: duda post

Cita:
Iniciado por Acron_0248 Ver Mensaje
Ok, solo para definir entonces una estructura que podrías usar en tu código, coloca el output de
Código PHP:
print_r($ppresups); 
A menos claro que decidas hacerlo tú, en cuyo caso, lo que podrías usar es algo similar a esto:
Código PHP:
foreach($ppresups as $k) {
    
$programas .= $k ' ,';

y luego en el formulario en vez de $ppresup, usas $programas

Pero preferiría el output de $ppresups que te dije antes porque no queda muy claro si la matriz es associativa o no.
mmmmm... mira el print_r .. para que me sirviria?..
si esa variable no la quiero para imprimir en pantalla...
sino para control interno...

es asociativa? <-- como?

y el foreach... lo que hace es almacenarme los programas en linea separados por comas?... y luego para leerlos ?
  #10 (permalink)  
Antiguo 04/12/2008, 20:09
Avatar de Acron_0248  
Fecha de Ingreso: junio-2005
Ubicación: 127.0.0.1
Mensajes: 1.648
Antigüedad: 18 años, 10 meses
Puntos: 18
Respuesta: duda post

Como dije antes, lo del print_r es a modo de prueba, es decir, no necesariamente debes hacerlo en el servidor en producción (a menos que no tengas otro) y es solo para conocer realmente los datos dentro del array.

Si el $ppresups es una matriz numérica, significa:
Código PHP:
<?php

echo $ppresups[0]; // muestra el primer valor del array, supongamos que es 11AD0900QA417500

echo $ppresups[1]; // muestra el segundo valor, supongamos 11AD0900QA417501
Si en cambio es associativa, esos índices ([0], [1]...) son cadenas que identifican a un valor en particular, es decir:
Código PHP:
<?php
echo $usuarios['nombre']; // Ramón

echo $usuarios['apellido']; // Martinez

...
Lo importante de saber el tipo de array es que para foreach con un array numérico, el código que te mostré antes funcionará sin problemas, pero si es un array asociativo no funcionará como se espera, debería ser foreach($ppresups as $k => $v)

El foreach, si, eso es lo que hace, pero claro, tú puedes definirlos como quieras, como te dije, no se realmente cómo quieres presentarlos (se que los quieres obtener con post y que quieres una "lista" de esos programas, pero eso en realidad no sirve para saber la estructura de la cadena)

Para leerlos simplemente lo harías como ibas a hacer antes usando $_POST['ppresups']
__________________
Usuario Reigistrado de linux #399288
  #11 (permalink)  
Antiguo 05/12/2008, 09:32
 
Fecha de Ingreso: agosto-2008
Mensajes: 173
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: duda post

disculpas... tuve que dejar el internet...

ok!.. perfecto ya entendi...

si es una matriz numerica $ppresups[0], $ppresups[1]...

lo unico que tendria duda.. es que si utilizo el foreach... y me lo almacena con comas...

como le hago para leerlos .. despues de haberlos recibido con el post...

para acceder al programa en la segunda posicion. por ejemplo;.. {11AD0900QA417500, 11AD0900QA417501}....

seria todo..
  #12 (permalink)  
Antiguo 05/12/2008, 09:38
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: duda post

Pues si ya te lo almacena con comas, usa explode() para pasarlos a un arreglo y entonces para leer el segundo elemento solo haces $matriz[1].

Saludos.
  #13 (permalink)  
Antiguo 05/12/2008, 10:51
 
Fecha de Ingreso: agosto-2008
Mensajes: 173
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: duda post

Cita:
Iniciado por GatorV Ver Mensaje
Pues si ya te lo almacena con comas, usa explode() para pasarlos a un arreglo y entonces para leer el segundo elemento solo haces $matriz[1].

Saludos.
ah pues si vdd!!..
gracias!!!!!
a los 2!!!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:26.