Ver Mensaje Individual
  #6 (permalink)  
Antiguo 22/07/2004, 06:19
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues si que puedes hacerlo todo en un mismo "script" ("programa") .. pero lo que tienes que tener claro es como funciona PHP:

PHP como lo usas funciona bajo "cliente-servidor" .. En tu "cliente" tienes a tu formulario y presentas los datos que el "servidor" genera. Cada vez que tu envias datos de tu formulario (cliente) al script PHP (servidor) estás haciendo una "petición" al servidor. PHP al terminar la ejecución de "una petición" de un script .. elimina toda variable usada, cierra conexiones .. etc entre otras cosas. Por ende .. si necesitas "conservar" N variables entre esos "procesos/peticiones" las tienes que almacenar en algún sitio "común" para el resto de peticiones que hagas a tu mismo script u otros, para eso tienes las sesiones.

EL hecho de que UN mismo script pueda hacer várias acciones ante diferentes "peticiones" (lease: apuntar un link a la misma página, un formulario que haga su "submit" a si mismo .. etc) es lo de menos .. cara a PHP y a tu servidor HTTP ya estás haciendo una "nueva petición" con los efectos que ves que sucede: "perdida de variables" que no es tan así .. sino que sucede por qué así funciona PHP en este entorno (y no sólo PHP, sino ASP, Perl, y cualquier lenguaje "del lado del servidor" ejecutandose bajo un servidor HTTP al cual se le "piede" ejecutar algo y este entrega su resultado y ahí queda todo esperando a que "vuelvas" a pedirle algo más .. sea lo mismo (el mismo script o proceso) o cualquier otro script).

Esta "teoría" es la que debes conocer si vas a realizar aplicaciones "cliente-servidor" .. por qué no es lo mismo que cuando realizas una aplicación "de escritorio" con VB, C .. etc donde el "programa" lo inicias una vez y todas las demás iteracciones con el mismo se producen ante eventos del própio programa que así los controlas (pulsación de teclas, movimiento del ratón .. lectura de datos de un puerto .. lecturas constantes de otro médio .. etc). Pero en "PHP" bajo "cliente-servidor" no es así, tu "pides" (al servidor) y el te "dá" (o ejecuta .. ) termina su ejecución y está a la espera de la próxima "petición".


Un saludo,