Foros del Web » Programando para Internet » PHP »

paso de variables

Estas en el tema de paso de variables en el foro de PHP en Foros del Web. Hola. se que este tema se ha tocado en otros temas pero no veo la solución. El tema es tengo dos php, uno tiene un ...
  #1 (permalink)  
Antiguo 08/10/2008, 12:36
overon37
Invitado
 
Mensajes: n/a
Puntos:
paso de variables

Hola.

se que este tema se ha tocado en otros temas pero no veo la solución. El tema es tengo dos php, uno tiene un formulario, el otro tomo el valor de un text de ese formulario y debe devolver un valor a mostrar en otro text del primer formulario, pero nada, no hay manera, he mirado por red en muchisimos sitios, paso de variables por dirección... y nada, no hay manera.
Me gustaría saber como hacerlo. Es el el código

<html>
<head>
<title>Ejemplo 1, paso de valores del form a php</title>
</head>
<body>
<form name="mio" id="mio" action="2.php" method="post">
Nombre:
<input type="text" name="txt1">
<input type="submit" name="sbm1" value="Enviar">
<br />
Valor devuelto
<input type="text" name="txt2" value="<? $_POST['txt1'] ?>">
</form>
</body>
</html>


y el otro


<?php
echo "Su nombre es ".$_POST['txt1'];
echo "<br />";
echo "<a href=1.php>Volver al formulario</a>";
?>

en resumen será mostrar en el txt2 lo que tiene el uno, como ejemplo, en realidad se realizaría un cálculo sobre lo del txt1, y el txt2 mostraría el resultado. pero para hacerlo mas sencillo.

espero que me ayudeis, no omitais nada, soy nuevo en php y si hay que hacer algo en algún archivo de configuración no lo omitais, muchas gracias
  #2 (permalink)  
Antiguo 08/10/2008, 12:46
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: paso de variables

no haces el echo de la variable
prueba asi

<input type="text" name="txt2" value="<? echo $_POST['txt1']; ?>">
  #3 (permalink)  
Antiguo 08/10/2008, 12:48
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: paso de variables

Hola overon37,

Si lo que quieres es motrar en txt2 el valor de txt1, necesitas ocupar Javascript, no es necesario que envies el formulario por PHP para poner el mismo texto.

Saludos.
  #4 (permalink)  
Antiguo 08/10/2008, 13:06
Avatar de punk_not_dead  
Fecha de Ingreso: octubre-2008
Ubicación: Zantiasko
Mensajes: 24
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: paso de variables

Al final de la primera hoja pones:



<?PHP
$txt1=$_POST['txt1'];
?>
</body>
</html>


y en a página 2;

<body>
Su nomnre es:
<?PHP
echo $_POST['text'];
?>
</body>
  #5 (permalink)  
Antiguo 08/10/2008, 13:48
overon37
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: paso de variables

hola de nuevo, lo he logrado de este modo

<?php
echo "Su nombre es ".$_POST['txt1'];
echo "<br />";
$variable="pepe";
echo "<a href=1.php?variable=$variable>Volver al formulario</a>";
?>

pero claro, la paso por direccion porque tengo globals como on, pero evidentemente eso afecta a la seguridad. yo programo en asp.net, tengo ese camón, y claro alli defines una variable de sesión y santas pascuas solo hay que llamarla y listo.

entonces, sino quiero que se pase por url,

la cosa es que por ejemplo tenga tres text, y al ejecutar el php, los sume y en el tercero coloque la suma. se que se puede hacer en javascript, lo tengo, pero estoy empezando con esto, y si no lo práctico.....

he probado lo que me ha comentado punk_not_dead y no funciona
  #6 (permalink)  
Antiguo 08/10/2008, 13:57
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: paso de variables

las register en ON no son inseguras, lo inseguro puede ser tu script

ten en cuenta que en php6 las register estaran en ON por defecto y no se podran cambiar a off, o eso tengo entendido
  #7 (permalink)  
Antiguo 08/10/2008, 14:09
overon37
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: paso de variables

ok, pero que otro modo tengo de pasar esa variable, ya que ahora pasa otra cosa, si la variable tiene mas de una palabra solo muestra la primera, he visto por la web que cuando se pasan cadenas de texto las palabras van con "+", pero claro mi variable puede tener el valor
$variable="que tal estas";

y esto se debería pasar como ?variable=hola+que+tal+estas

gracias por la anterior aclaración, pero si alguien en lal ruta teclea otra cosa donde va mi variable ese valor será el que tome esa web, y eso es bastante inseguro.

yo recibo así la variable
http://localhost/ejemplo_1/1.php?es=mayor

si se cambia por
http://localhost/ejemplo_1/1.php?es=menor

pues hará todo lo contrario.
  #8 (permalink)  
Antiguo 08/10/2008, 14:12
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: paso de variables

ahora ya no te entiendo
  #9 (permalink)  
Antiguo 08/10/2008, 14:12
overon37
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: paso de variables

header("location: 1.php?es=$es");
exit();

con esto asunto resuelto no me pasa toda la cadena no solo la primera palabra
  #10 (permalink)  
Antiguo 08/10/2008, 14:16
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: paso de variables

esta resuelto o no, explicate mejor
  #11 (permalink)  
Antiguo 08/10/2008, 14:21
overon37
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: paso de variables

ya recibo los valores por url, no es como quería pero los recibe el formulario,
coloco el ćodigo definitivo

<?php
## pasamos el txt1 a una variable
$ed=$_POST['txt1'];
## si esta es numerica comprobamos su valor
if (is_numeric($ed)) {
if ($ed<18){
$es="menor de edad";
} else {
$es="mayor de edad";
}
## si no es numerico su valor
} else {
$es="Valor no numerico";
}
## volvemos a cargar el formulario y presentamos la edad y el resultado
header("location: 1.php?es=$es&ed=$ed");
exit();
?>


y para presentar el valor el campos text del formulario

<input type="text" name="txt1"value="<? echo $ed; ?>">
<input type="text" name="txt2" value="<? echo $es; ?>">

funciona perfectamente, la unica pega es que si alguien cambia la url, donde estan ed y es por otros valores pues la web mostrará otros valores, evidentemente.
  #12 (permalink)  
Antiguo 08/10/2008, 14:26
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: paso de variables

pues no presentes los valores en un imput muestralos solo con un echo y no lo podran cambiar y usa sesiones para pasar variables de un script a otro
  #13 (permalink)  
Antiguo 09/10/2008, 12:56
overon37
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: paso de variables

Cita:
Iniciado por jaronu Ver Mensaje
pues no presentes los valores en un imput muestralos solo con un echo y no lo podran cambiar y usa sesiones para pasar variables de un script a otro
he probado con las variables de sesión, pero no tira la cosa, algo haré mal,
puedes poner un ejemplo

gracias por todo
  #14 (permalink)  
Antiguo 09/10/2008, 13:07
overon37
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: paso de variables

el ejemplo con variables de sesion que tengo es asi

formulario con php

<html>
<head>
<title>Ejemplo 2</title>
</head>
<body>
<form name="mio" action="2.php" method="post">
Nombre:
<input type="text" name="txt1" id="txt1">
Resultado:
<input type="text" name="txt2" id="txt2" value="<? echo $_SESSION['variable']; ?>">
<input type="submit" name="btn1" id="btn1" value="enviar">
</form>
</body>
</html>


y el otro fichero tiene

<?php
session_start();
$_SESSION['variable']="procesado";
header("location: 1.php");
exit();
?>


esto no funciona......
  #15 (permalink)  
Antiguo 09/10/2008, 13:13
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: paso de variables

haber te lo soluciono amigo del foro:
1. el primer fichero, que creo es 1.php, no tiene inicializada la session como esta en el otro fichero, por lo que no reconoce la variable, es decir tambien agregalo al inicio: session_start();
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #16 (permalink)  
Antiguo 09/10/2008, 13:15
overon37
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: paso de variables

Cita:
Iniciado por masterojitos Ver Mensaje
haber te lo soluciono amigo del foro:
1. el primer fichero, que creo es 1.php, no tiene inicializada la session como esta en el otro fichero, por lo que no reconoce la variable, es decir tambien agregalo al inicio: session_start();
al ponerlo también en el 1.php me da este error

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /opt/lampp/htdocs/ejemplo_2/1.php:5) in /opt/lampp/htdocs/ejemplo_2/1.php on line 5
  #17 (permalink)  
Antiguo 09/10/2008, 13:18
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: paso de variables

eso es por que no puede haber espacios ni al inicio ni al final.
es decir, session_start(); debe estar al inicio de todo tu codigo y procura suprimir espacios y reglones en blanco al final de todo el codigo.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #18 (permalink)  
Antiguo 09/10/2008, 13:18
overon37
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: paso de variables

Cita:
Iniciado por overon37 Ver Mensaje
al ponerlo también en el 1.php me da este error

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /opt/lampp/htdocs/ejemplo_2/1.php:5) in /opt/lampp/htdocs/ejemplo_2/1.php on line 5
y si la coloca al unicio del formulario, antes de la <html>, al cargar el formulario ya muestra la variable de sesion....
  #19 (permalink)  
Antiguo 09/10/2008, 13:19
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: paso de variables

por eso ps amigo, debe estar al inicio...
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
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 09:54.