Article View: chile.comp.programacion
Article #2870Re: utas, php
From: Eduardo Quiroz Salinas
Date: Sat, 13 Aug 2005 19:15
Date: Sat, 13 Aug 2005 19:15
107 lines
4066 bytes
4066 bytes
Si bien est� correcto el "concepto" de variable global, es aplicable
para C, etc. pero en php tambi�n existen las variables "globales" que no
son las que est�n fuera de una funci�n sino dentro de una p�gina php en
especial, sino que tu la declaras global y la puedes llamar desde
cualquier otro php y conservar� su valor. Sin embargo, no es seguro usar
ese concepto de variable global que entrega php y es m�s �til usar
variables de sesi�n, como bien se�alas, cookies, pasar variables por
formulario, etc.
Valga la aclaraci�n.
Salute!!
Vinko Vrsalovic wrote:
> 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.
--
Eduardo Quiroz Salinas
eduardoquiroz@gmail.com
--
Linux user number 344659
KDE User 2453
"...Los que pueden ser virtuosos sin dios,
son la desesperaci�n de los creyentes..."
---------------------------------------------------
Technical Details
Message-ID:
<ddl2k3$mg7$1@news1.nivel5.cl>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!news.glorb.com!nntp-server.pubsub.com!news1.nivel5.cl!not-for-mailReferences:
<42fa70b7$1_1@nova.entelchile.net> <42fe23b1@news.vcd.cl>Show Full Headers
Complete Article Headers
X-Google-Thread: 1593cb,e0867e43c338987 X-Google-Attributes: gid1593cb,public X-Google-Language: SPANISH,ASCII Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!news.glorb.com!nntp-server.pubsub.com!news1.nivel5.cl!not-for-mail From: Eduardo Quiroz Salinas <eduardoquiroz@vtr.net> Newsgroups: chile.comp.programacion Subject: Re: utas, php Date: Sat, 13 Aug 2005 15:15:16 -0400 Organization: Varios Lines: 107 Message-ID: <ddl2k3$mg7$1@news1.nivel5.cl> References: <42fa70b7$1_1@nova.entelchile.net> <42fe23b1@news.vcd.cl> NNTP-Posting-Host: pc-104-28-83-200.cm.vtr.net Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit X-Trace: news1.nivel5.cl 1123945923 23047 200.83.28.104 (13 Aug 2005 15:12:03 GMT) X-Complaints-To: news@news1.nivel5.cl NNTP-Posting-Date: Sat, 13 Aug 2005 15:12:03 +0000 (UTC) User-Agent: Mozilla Thunderbird 1.0.6-1.1.fc4 (X11/20050720) X-Accept-Language: en-us, en In-Reply-To: <42fe23b1@news.vcd.cl>