Foros del Web » Programando para Internet » PHP »

enviar variable a traves de un formulario

Estas en el tema de enviar variable a traves de un formulario en el foro de PHP en Foros del Web. tengo una pagina.php donde se encuentra un formulario y este envia los datos a procesar.php , hay le envio una serie de variables, pero quiero ...
  #1 (permalink)  
Antiguo 15/06/2006, 07:58
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 874
Antigüedad: 14 años, 6 meses
Puntos: 2
enviar variable a traves de un formulario

tengo una pagina.php donde se encuentra un formulario y este envia los datos a procesar.php, hay le envio una serie de variables, pero quiero enviar una variable que no se encuentra en el formulario, como le paso esa variable a procesar.php????

Lo voy a explicar mejor, tengo un formulario, del que extraigo una serie de datos: altura, peso, color del pelo, etc y estos los datos los envio mediante variables a procesar.php, pero tengo un dato, el nombre de la persona, que lo obtengo consultando una base de datos en pagina.php y lo guardo una variable, hasta aqui todo bien, pero como envio esta variable a procesar.php?

bichomen
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332

Última edición por bichomen; 15/06/2006 a las 08:06
  #2 (permalink)  
Antiguo 15/06/2006, 08:16
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 13 años, 1 mes
Puntos: 1
guardalo en el formulario asi:

<input type="hidden" name="nombre" id="nombre" value="<?echo $nombre?>">

asi no se muestra pero lo mandas en el submit con el resto de los datos
__________________
ALOZORRO v5.0 (ahora en .es)
  #3 (permalink)  
Antiguo 15/06/2006, 08:19
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Podrías usar un simple campo hidden del formulario HTML. Aunque lo más seguro sería usar una variable de sesión .. Pero todo depende de donde provenga esa variable que dices tener ya en "pagina.php" y que ha de pasar a "pagina.php".

Usando un campo oculto ...

Código PHP:
<input type="hidden" name="variable_no_tan_oculta" value="su valor"
Y la obtienes en procesar.php por su name en el $_POST o $_GET método que usastes en tu formulario ...

Usando una sesión (ejemplo muy básico):
Código PHP:
<?
session_start
();
$_SESSION['varible_oculta']="valor";

// resto de tu pagina.php
y en procesar.php
Código PHP:
<?
session_Start
();
echo 
$_SESSION['variable_oculta'];

// resto de proceso
?>
Usando sesiones (o incluso "cookies" .. ) usas (en el caso de sesiones) de "puente" al servidor para almacenar esa variable y accederla en siguientes llamadas a otros scripts (siempre que estén dentro de la misma secuencia de llamadas: sesión una tras otra).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 15/06/2006, 09:55
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 874
Antigüedad: 14 años, 6 meses
Puntos: 2
No es una variable de sesión, lo que puse era un ejemplo, haber, e probado esto:

Código PHP:
echo "<input type=\"hidden\" name=\"tabla\" value=\"$tabla\">"
la variable es el nonbre de una tabla, pero en el name tanto como si pongo el $ como si no, no me pasa el dato, yo en la página procesar.php

la recupero asi:

Código PHP:
$sql="insert into $tabla () values (); 
bichomen
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332
  #5 (permalink)  
Antiguo 15/06/2006, 10:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero .. de donde sale $tabla?. Donde le das valor .. Ese campo hidden lo tienes bajo tu formulario (definición de formulario) .. Pon todo el código que uses!!!! (sino es dificil hacerse una idea de lo que estás o pretendes hacer).

Por cierto .. no deberías acceder a $tabla así .. usa su array asociado!!!: $_GET['tabla'] o $_POST['tabla']

Tampoco creo que entendistes la propuesta de usar una variable de sesión .. Se trata de que en "pagina.php" -defines- esa variable de sesión .. y en procesar.php la accedes .. La "definición" de esa variable de sesión será con el valor que quieras .. ya sea otra variable a su vez o algún dato directo (cadena/script o número).


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 15/06/2006, 10:39
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 874
Antigüedad: 14 años, 6 meses
Puntos: 2
la variable $tabla, es:

Código PHP:
$tabla $row2['encuesta']; 
que la obtengo de una DB, he puesto al principio de pagina.php:

Código PHP:
<?php

session_start
();
$_SESSION['tabla']="$tabla";
y el input:

Código PHP:
echo "<input type=\"hidden\" name=\"tabla\" value=\"$tabla\">"
y en procesar.php:

Código PHP:
<?php
session_Start
();
......
......
.....

$tabla $_SESSION['tabla'];

$sql="insert into $tabla () values ();

y nada, las variables que paso por el formulario, las paso por en el name y value y me las pasa sin problema.

bichomen
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332

Última edición por bichomen; 15/06/2006 a las 10:58
  #7 (permalink)  
Antiguo 15/06/2006, 10:50
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Menudo lio tienes ...

Yo expuse un par de métodos para hacer tu taréa .. No los confundas!!! (los estás mezclando)

Si te vas por el lado más simple .. PON! tu formulario .. el que usas actualmente y todo tu código! (ya no sé como decirlo) .. Ahora hablas de una variable "$total" .. y luego de una $tabla .. (así confundes)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 15/06/2006, 10:59
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 874
Antigüedad: 14 años, 6 meses
Puntos: 2
me lie al escribir el post es $tabla

bichomen
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332
  #9 (permalink)  
Antiguo 15/06/2006, 11:40
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 874
Antigüedad: 14 años, 6 meses
Puntos: 2
hice cambios, ya no e mezclado los metodos, es que ando ya un poco espeso con todo esto.

En pagina.php:

Código PHP:
session_start();
$_SESSION['tabla'] = $row2['encuesta']; 
en procesar.php:

Código PHP:
session_start();

$tabla $_SESSION['tabla'];
$sql="insert into $tabla () values (); 
sin el input....

El problema es que la variable $row2['encuesta']; la obtengo de la base de datos, que no consulto, hasta que no se cumple una condición if (!isset(), dentro del codigo de la página por eso, no se si session_start(); deberia estar al principio de la página o dentro de esta condición.

bichomen
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332
  #10 (permalink)  
Antiguo 15/06/2006, 12:09
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Olvidate del uso de sesiones por el momento .. podrías tener otro tipo de problemas con sesiones (de configuración).

Intenta usar la opción del campo oculto .. es muy simple y te enseñará como hacer el proceso .. Luego intenta resolver el problema usando sesiones (por seguridad).

Según lo que describes sería algo tipo:

Código PHP:
<form .. tu formulario>
echo 
"<input type=\"hidden\" name=\"tabla\" value=\"".$row['encuesta']."\">";  
otros campos del formulario ...
</
form
Asegurate de que el código que generas sea correcto con los valores esperados (en tu navegador -> ver código fuente).

Toma tus valores del formulario por su array asociado correcto:
Código PHP:
echo $_POST['tabla']; 
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #11 (permalink)  
Antiguo 15/06/2006, 12:47
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 874
Antigüedad: 14 años, 6 meses
Puntos: 2
jeje, me vas matar cluster, el problema no estaba en esa variable, el problema esta en procesar.php:

Me habia comido esta línea:

Código PHP:
mysql_query($sql$db) or die ("problema con query"); 
No estaba realizando la consulta, por esa razon no quedaba registrado nada y yo pensaba que era un problema de pasar variables


bichomen
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332
  #12 (permalink)  
Antiguo 15/06/2006, 13:40
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por bichomen
jeje, me vas matar cluster, el problema no estaba en esa variable, el problema esta en procesar.php:

Me habia comido esta línea:

Código PHP:
mysql_query($sql$db) or die ("problema con query"); 
No estaba realizando la consulta, por esa razon no quedaba registrado nada y yo pensaba que era un problema de pasar variables


bichomen


Bueno .. por eso mismo e insistido tanto en este mensaje en que expusieras TODO! el código que usas .. así si no te hubieras dado cuenta de ese detalle tu mismo .. lo hubiera hecho alguien de los que intentó participar en este mensaje.

¿Te das cuenta lo importante que es cuando uno pregunta dar toda la información posible sobre el problema y/o lo que lo origina (código)?

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 08:31.