🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: chile.comp.programacion
Article #2870

Re: utas, php

#2870
From: Eduardo Quiroz Salinas
Date: Sat, 13 Aug 2005 19:15
107 lines
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-mail
References: <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>