Article View: chile.comp.programacion
Article #2869Re: utas, php
From: Vinko Vrsalovic
Date: Sat, 13 Aug 2005 17:45
Date: Sat, 13 Aug 2005 17:45
82 lines
2908 bytes
2908 bytes
SocketE <malice@mizer.jp> wrote:
> como se trabaja el uso de variables globales??
> si en "funciones.php"
> tengo la variable global $ass;
>
> en "index.php" yo le doy un valor
> $ass = "nice";
>
> y luego en "otrapagina.php" yo quiero imprimir ese valor
> echo "tu tienes un ass very ".$ass;
>
> pero la variable viene vacia... q onda??
> por su ayuda muuuuuuuuchas gracias
Si comprendi bien, tu no quieres variables globales, tu quieres
variables de sesion.
Igual te explico las dos, por si acaso:
Variables globales:
Permanecen durante la ejecucion de un script (que puede estar en varios
archivos si usaste include() y amigos), pero no permanecen en el
tiempo entre la ejecucion de un script y el otro o dos ejecuciones del
mismo script.
<?php
$esta_es_global = "SI";
function funcion1() {
$esta_es_local = "SI";
global $esta_es_global;
echo $esta_es_global."\n";
}
funcion1();
?>
Imprimira "SI\n"
En otras palabras, tienes que declarar las variables globales que usaras
en una funcion especifica usando la keyword 'global'.
Ahora si, como estimo, lo que quieres es una variable que permanezca
seteada entre ejecuciones de scripts, tienes varias opciones (si estas
usando HTTP/HTML). Una es usar formularios y elegir entre GET y POST y
la otra es usar variables de sesion:
<?php
session_start();
$_SESSION['Esta_variable_permanecera_en_todos_los_scripts'] = true;
?>
Ahora $_SESSION['Esta_variable_permanecera_en_todos_los_scripts'] estara
disponible en todos los scripts en que hagas session_start();
Usando tu ejemplo:
<?php /*index.php*/
include("funciones.php");
session_start();
$_SESSION['ass'] = $ass;//Esta declarado en funciones.php, como no
//estamos en una funcion, no necesitamos
//hacer global $ass;
?>
<?php /*otrapagina.php*/
session_start();
echo "tu ass es very ".$_SESSION['ass'];
?>
A veces es mas complejo que solo esto (hacer que permanezca el
session_id, serialize(), etc.), pero para eso tienes el manual.
V.
Technical Details
Message-ID:
<42fe23b1@news.vcd.cl>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!news.glorb.com!nntp-server.pubsub.com!news1.nivel5.cl!news.vcd.cl!not-for-mail!not-for-mailReferences:
<42fa70b7$1_1@nova.entelchile.net>Show Full Headers
Complete Article Headers
X-Google-Thread: 1593cb,e0867e43c338987
X-Google-Attributes: gid1593cb,public
X-Google-Language: SPANISH,ASCII-7-bit
Message-ID: <42fe23b1@news.vcd.cl>
From: Vinko Vrsalovic <el@vinko.invalid>
Subject: Re: utas, php
Newsgroups: chile.comp.programacion
References: <42fa70b7$1_1@nova.entelchile.net>
User-Agent: tin/1.7.6-20040906 ("Baleshare") (UNIX) (Linux/2.6.10-5-386 (i686))
NNTP-Posting-Host: 200.113.115.145
X-Original-NNTP-Posting-Host: 200.113.115.145
Date: 13 Aug 2005 13:45:39 -0400
X-Trace: news.vcd.cl!not-for-mail 1123951539 200.113.115.145 (13 Aug 2005 13:45:39 -0400)
X-Original-Trace: 13 Aug 2005 13:45:39 -0400, 200.113.115.145
Lines: 82
X-Authenticated-User: vinko
Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!news.glorb.com!nntp-server.pubsub.com!news1.nivel5.cl!news.vcd.cl!not-for-mail!not-for-mail