Foros del Web » Programando para Internet » PHP »

Variables supersuperglobales

Estas en el tema de Variables supersuperglobales en el foro de PHP en Foros del Web. Buenas a todos! Una pregunta existencial sobre el alcance de las variables. Una vez que se acaba un script en PHP y se muestra el ...
  #1 (permalink)  
Antiguo 26/12/2010, 21:59
 
Fecha de Ingreso: noviembre-2009
Mensajes: 10
Antigüedad: 14 años, 5 meses
Puntos: 0
Variables supersuperglobales

Buenas a todos!

Una pregunta existencial sobre el alcance de las variables. Una vez que se acaba un script en PHP y se muestra el HTML, ¿ya no es posible recuperar alguna constante o variable global a menos que se "redeclaren"?

Entiéndase redeclarar como hacer el include de nuevo al archivo CONSTANTES.PHP o CONFIG.PHP.

Intenté guardar variables en $_SESSION, $_SERVER, $GLOBALS y con ninguna he podido lograr lo que quiero. ¿Así funciona este paradigma o estoy haciendo algo mal?

Dejaré un poco más claro lo que intento hacer:

Tenemos este archivo index.php:

Código:
<?php
	$foo = 'HOLA';
	define(BAR, ' MUNDO');
?>
<html>
    <body>
	<?php 
            echo $foo;
            echo BAR;
        ?>
        <form action="hola.php" method="post" name="hola">
            <input type="text" name="inputX" />
        </form>
    </body>
</html>
Cuando envíe el form lo procesará el hola.php que está en el mismo directorio y su contenido es el siguiente:

Código:
<?php 
	echo $foo;
	echo BAR;
?>
<html>
    <body>
    	<b>Te aseguro que no se mostrará el HOLA MUNDO</b>
    </body>
</html>
Pero NO se pasaron mis variables. ¿Es normal?, ¿no existen variables "supersuperglobales" para lograr esto?

Saludos y gracias por adelantado!
  #2 (permalink)  
Antiguo 26/12/2010, 22:06
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Variables supersuperglobales

Sí, eso es normal. Las variables, constantes, y demás elementos en un script están vigentes sólo durante la ejecución del script.

Si quieres propagar variables (o datos) entre un script u otro, puedes usar cookies, sesiones, almacenar en bases de datos, formularios (campos ocultos), variables de url (script.php?v1=valor&v2=...), etc.

Si se trata de datos que vayas a necesitar siempre en todos los scripts, como datos de conexión a bases de datos, pues para eso se hicieron las construcciones include/requiere.

Todo depende de qué tipo de información es la que quieres propagar,,,
  #3 (permalink)  
Antiguo 26/12/2010, 22:18
 
Fecha de Ingreso: noviembre-2009
Mensajes: 10
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Variables supersuperglobales

¡Muchísimas gracias!

Según yo intenté usar las variables de sesión pero no me funcionan o no sé qué esté haciendo mal. He aquí mi código:

index.php
Código:
<?php
	session_start();
	$_SESSION['foo'] = 'HOLA';
?>
<html>
    <body>
		<?php 
            echo 'Variable de sesion '.$_SESSION['foo'];
        ?>
        <form action="hola.php" method="post" name="hola">
            <input type="text" name="inputX" />
        </form>
    </body>
</html>
hola.php
Código:
<?php 
	echo 'Variable de sesion '.$_SESSION['foo'];
?>
La salida de hola.php es:

Código:
Variable de sesion
Gracias!
  #4 (permalink)  
Antiguo 26/12/2010, 22:24
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Variables supersuperglobales

necesitas iniciar la sesión en el script donde recuperas la sesión también...

te invito a leer el manual...
http://www.php.net/manual/en/book.session.php
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: variables
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 22:56.