Foros del Web » Programando para Internet » PHP »

Paso´de variables entre archivos php

Estas en el tema de Paso´de variables entre archivos php en el foro de PHP en Foros del Web. Hola a todos. En primer lugar, dar las gracias a todos por este foro, ya que es el mas animado de todos cuantos he visitado, ...
  #1 (permalink)  
Antiguo 30/06/2004, 08:06
 
Fecha de Ingreso: junio-2004
Mensajes: 11
Antigüedad: 19 años, 10 meses
Puntos: 0
Paso´de variables entre archivos php

Hola a todos. En primer lugar, dar las gracias a todos por este foro, ya que es el mas animado de todos cuantos he visitado, para tratar de resolver mi duda.

LLevo una semanilla con esto del PHP, y la cosa no va mal del todo, aunque aveces me asaltan dudas que me cuestan resolver.

Ahora estoy intentando pasar una variable de un script php a otro script php (cada uno en archivos distintos), pero no tengo ni idea de como hacerlo. Pensaba que con $HTTP_SESSION_VARS se podia, pero creo que no se puede.

Pasar variables de un formulario a un script no presenta problemas, pero esto me supera ¿me podeis ayudar?

Gracias
  #2 (permalink)  
Antiguo 30/06/2004, 08:12
Avatar de Kelpie  
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 22 años, 2 meses
Puntos: 8
¿Cómo llamas al otro script?
__________________
Kelpie
  #3 (permalink)  
Antiguo 30/06/2004, 08:41
 
Fecha de Ingreso: junio-2004
Mensajes: 11
Antigüedad: 19 años, 10 meses
Puntos: 0
Hola Kelpie, gracias por contestar tan rapido. Voy a ver si soy un poco mas explicito.

Estoy haciendo (tratando mejor dicho) de hacer un conjunto de scripts PHP, que permitan hacer a los usuarios test de autoescuelas desde internet.

Dado que los test son de 40 preguntas, no queria meter las 40 preguntas dentro de la misma pagina (por estetica mas que nada y comodidad), por lo que el test se divide de 8 formularios de 5 preguntas cada uno (8 * 5 = 40 ¿no?). Hasta aqui creo que todo claro.

Mi problema es el juntar las respuestas del usuario, en alguna estructura de datos, de modo que al final de todo, se pueda corregir el test. Esta parte la he puesto en un segundo script, para que el primero (el que presenta las preguntas) no me las saque todas a la vez (no se si me explico bien).

El segundo script recibe los datos del formulario, pero no funciona porque aun así necesito controlar una variable que deben modificar tanto el primer como el segundo script (esta variable me sirve para controlar la paginacion de los formularios que sirven para contestar a las preguntas del test).

¿Como hago para que los dos scripts modifiquen el valor de esa variable, y el resultado de esa modificacion sea visible por ambos scripts?

Esa era mi pregunta, espero que quede un poco mas claro. Gracias, de nuevo.
  #4 (permalink)  
Antiguo 01/07/2004, 06:51
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Puedes usar perfectamente una sesión (o cookie) para propagar esas variables (sus valores) de tus formularios que vas "recolectando" en tus N formulario (= páginas).

Piensa en una "sesión" como un lugar temporal donde almacenas tus variables y su valor correspondiente para que puedas ir "acomulando" variables en el o bien modificar y borrar el valor o dato concreto de ella.

El objetivo es ir guardando en cada proceso de tu formulario esas variables en una sesión y al final del último formulario será donde leas esas N variables (pueden ir bajo un array para recorrerlo mejor ...) y realizar tu proceso final con todas esas variables. Por el camino (entre tus N formularios) puedes ir validando esas variables si corresponde ademas de verificar bajo la misma filosofía si está siguiendo la secuencia de páginas de tu test o está intentado "saltarse" (entrando directo por el URL) a cierta página de tu test cuando la lógica dice que se ha de seguir tal secuencia concreta.

La secuencia básica sería algo tipo:

formulario1.php
Código PHP:
<form action="procesa1.php" method="post">
<
input type="text" name="variable1_form1">
<
boton submit>
</
form
procesa1.php
Código PHP:
<?
// inicio uso sesiones
session_start();
// Registrar las variables en la sesión.
$_SESSION['variable1_form1']=$_POST['variable1_form1'];
// Redirecciono al siguiente formulario ...
header ("Location: formulario2.php");
?>]
formulario2.php
Código PHP:
<form action="procesa2.php" method="post">
<
input type="text" name="variable1_form2">
<
input type="text" name="variable2_form2">
<
boton submit>
</
form
procesa2.php
Código PHP:
<?
// inicio uso sesiones
session_start();
// Registrar las variables en la sesión
$_SESSION['variable1_form2']=$_POST['variable1_form2'];
$_SESSION['variable2_form2']=$_POST['variable2_form2'];
// Redirecciono al siguiente formulario ...
header ("Location: formulario3.php");
?>]
Y el último "procesaN.php" podrás leer las variables de la sesión y usarlas para tu fin:

Código PHP:
<?
echo $_SESSION['variable1_form1'];
echo 
$_SESSION['variable1_form2'];
echo 
$_SESSION['variable2_form2'];
?>
Como veras .. lo ideal para este caso es usar un array el cual iras añadiendo elementos a ella y despues lo guardas en tu sesión bajo un nombre (así trabaja por ejemplo un carrito de compras .. es la misma filosofía).

Luego tendrías que empezar a validar tus variables y la existencia de estas para ver si están siguiendo la secuencia correcta de formularios tan sólo viendo si en el script "Par" de proceso están creadas las variables de sesión que creastes en el anterior (podrías usar una variable extra tipo "control" donde guardas el nº de formulario que se está ejecutó: 1,2,3,4 para verificar la secuencia correcta).

Un saludo,

Última edición por Cluster; 09/07/2004 a las 07:36
  #5 (permalink)  
Antiguo 19/08/2008, 10:31
 
Fecha de Ingreso: agosto-2008
Mensajes: 3
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Paso´de variables entre archivos php

Pues yo lo he probado y me ha funcionado muy bien, gracias por tu aporte.
  #6 (permalink)  
Antiguo 09/11/2009, 12:25
Avatar de Cero_Cool  
Fecha de Ingreso: abril-2007
Ubicación: Chile
Mensajes: 113
Antigüedad: 17 años
Puntos: 6
Respuesta: Paso´de variables entre archivos php

Compadre, me as ayudado de una forma que no te imaginas, muchas gracias amigo.
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




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