Re: [PHP] Global Var Disappearing After Function

2010-03-22 Thread Shawn McKenzie
APseudoUtopia wrote:
> On Mon, Mar 22, 2010 at 5:13 PM, Peter van der Does
>  wrote:
>> On Mon, 22 Mar 2010 16:58:33 -0400
>> APseudoUtopia  wrote:
>>
>>> Hey list,
>>>
>>> I have a very odd problem which has been driving me crazy for two
>>> days. I've been trying to debug my code and gave up. I finally coded a
>>> very simple representation of what the code does, and I get the same
>>> problem. However, I still don't understand what's causing it.
>>>
>>> The representational code:
>>> http://pastie.org/private/fz3lgvsjopz3dhid8cf9a
>>>
>>> As you can see, it's very simple. A variable is set, then a function
>>> is called which modifies the variable in the global scope. However,
>>> the modifications CANNOT BE SEEN after the function is called.
>>>
>>> The output from the script is here:
>>> http://pastie.org/private/29r5mrr1k7rtqmw7eyoja
>>>
>>> As you can see, the modifications in do_test() cannot be seen after
>>> the function is called.
>>>
>>> What is causing this? And how can I fix it?
>>>
>>> Thanks!
>>>
>> From PHP.net:
>>
>> If a globalized variable is unset() inside of a function, only the
>> local variable is destroyed. The variable in the calling environment
>> will retain the same value as before unset() was called. [1]
>>
>> [1] http://php.net/manual/en/function.unset.php
>>
>>
> 
> Ah ha! I was looking on the php.net/global page for hints, but didn't
> see any. I should've looked on the unset page. Thanks!


Really no reason to unset() it anyway since you do this:

$Session = $UserInfo;

-- 
Thanks!
-Shawn
http://www.spidean.com

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Global Var Disappearing After Function

2010-03-22 Thread APseudoUtopia
On Mon, Mar 22, 2010 at 5:13 PM, Peter van der Does
 wrote:
> On Mon, 22 Mar 2010 16:58:33 -0400
> APseudoUtopia  wrote:
>
>> Hey list,
>>
>> I have a very odd problem which has been driving me crazy for two
>> days. I've been trying to debug my code and gave up. I finally coded a
>> very simple representation of what the code does, and I get the same
>> problem. However, I still don't understand what's causing it.
>>
>> The representational code:
>> http://pastie.org/private/fz3lgvsjopz3dhid8cf9a
>>
>> As you can see, it's very simple. A variable is set, then a function
>> is called which modifies the variable in the global scope. However,
>> the modifications CANNOT BE SEEN after the function is called.
>>
>> The output from the script is here:
>> http://pastie.org/private/29r5mrr1k7rtqmw7eyoja
>>
>> As you can see, the modifications in do_test() cannot be seen after
>> the function is called.
>>
>> What is causing this? And how can I fix it?
>>
>> Thanks!
>>
>
> From PHP.net:
>
> If a globalized variable is unset() inside of a function, only the
> local variable is destroyed. The variable in the calling environment
> will retain the same value as before unset() was called. [1]
>
> [1] http://php.net/manual/en/function.unset.php
>
>

Ah ha! I was looking on the php.net/global page for hints, but didn't
see any. I should've looked on the unset page. Thanks!

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Global Var Disappearing After Function

2010-03-22 Thread Peter van der Does
On Mon, 22 Mar 2010 16:58:33 -0400
APseudoUtopia  wrote:

> Hey list,
> 
> I have a very odd problem which has been driving me crazy for two
> days. I've been trying to debug my code and gave up. I finally coded a
> very simple representation of what the code does, and I get the same
> problem. However, I still don't understand what's causing it.
> 
> The representational code:
> http://pastie.org/private/fz3lgvsjopz3dhid8cf9a
> 
> As you can see, it's very simple. A variable is set, then a function
> is called which modifies the variable in the global scope. However,
> the modifications CANNOT BE SEEN after the function is called.
> 
> The output from the script is here:
> http://pastie.org/private/29r5mrr1k7rtqmw7eyoja
> 
> As you can see, the modifications in do_test() cannot be seen after
> the function is called.
> 
> What is causing this? And how can I fix it?
> 
> Thanks!
> 

From PHP.net:

If a globalized variable is unset() inside of a function, only the
local variable is destroyed. The variable in the calling environment
will retain the same value as before unset() was called. [1]

[1] http://php.net/manual/en/function.unset.php


-- 
Peter van der Does

GPG key: E77E8E98

IRC: Ganseki on irc.freenode.net
Twitter: @petervanderdoes

WordPress Plugin Developer
Blog: http://blog.avirtualhome.com
Forums: http://forums.avirtualhome.com
Twitter: @avhsoftware

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Global Var Disappearing After Function

2010-03-22 Thread Andrew Ballard
On Mon, Mar 22, 2010 at 4:58 PM, APseudoUtopia  wrote:
> Hey list,
>
> I have a very odd problem which has been driving me crazy for two
> days. I've been trying to debug my code and gave up. I finally coded a
> very simple representation of what the code does, and I get the same
> problem. However, I still don't understand what's causing it.
>
> The representational code:
> http://pastie.org/private/fz3lgvsjopz3dhid8cf9a
>
> As you can see, it's very simple. A variable is set, then a function
> is called which modifies the variable in the global scope. However,
> the modifications CANNOT BE SEEN after the function is called.
>
> The output from the script is here:
> http://pastie.org/private/29r5mrr1k7rtqmw7eyoja
>
> As you can see, the modifications in do_test() cannot be seen after
> the function is called.
>
> What is causing this? And how can I fix it?
>
> Thanks!
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

I believe line 8 detaches the variable $Session that exists inside the
function from the global variable that exists outside the function.

Andrew

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] global var.

2003-03-31 Thread Jason Wong
On Tuesday 01 April 2003 11:59, Sebastian wrote:
> Hmm, interesting.. i dunno why it doesn't work for me, here is a bit of the
> code, $var isn't getting the output of $id, any ideas?

Are you sure that $id contains what you think it contains?

Also could you explain the reason why your code is laid out the way it is?

Line 1
> $var = &$id;

Line 2
> if( ! $forg = resizer_main("image","image_$var",   blah, blah");

Line 3
> $org = getimagesize( "$root/$forg" );

Line 4
> $result = @mysql_query("INSERT INTO images blah blah.");

Line 5
> $id = mysql_insert_id();


In Line 2, $var will contain whatever $id contained in Line 1. IOW if the 
value of $id was not defined before Line 1, then $var will be similarly 
"undefined". Is that your intention?

-- 
Jason Wong -> Gremlins Associates -> www.gremlins.biz
Open Source Software Systems Integrators
* Web Design & Hosting * Internet & Intranet Applications Development *
--
Search the list archives before you post
http://marc.theaimsgroup.com/?l=php-general
--
/*
Logic is a systematic method of coming to the wrong conclusion with 
confidence.
*/


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] global var.

2003-03-31 Thread Sebastian
Hmm, interesting.. i dunno why it doesn't work for me, here is a bit of the
code, $var isn't getting the output of $id, any ideas?

$var = &$id;

if( ! $forg = resizer_main("image","image_$var",   blah, blah");

$org = getimagesize( "$root/$forg" );

$result = @mysql_query("INSERT INTO images blah blah.");

$id = mysql_insert_id();

cheers,
Sebastian

- Original Message -
From: "Marcus Rasmussen" <[EMAIL PROTECTED]>


Putting an & sign in front of the $id in the first line should do the trick:

$variable = &$id;


A short example:
$bar = 0;
$foo = &$bar;
$bar = 2;
print $foo; //prints 2

__
Marcus Rasmussen
[EMAIL PROTECTED]
www.marcusr.dk

-
On 31-03-2003 at 19:56 Sebastian wrote:
-

hello all,

$variable = $id;

// some other stuff

@mysql_query here
$id = mysql_insert_id();


to the question: How do I get $id from insert_id() to pass to $variable
above? Hard to explain the situation i am in, but the query has to be below
$variable, is it possible to 'globalize' $id so it passes to the top
$variable?

first time i ever ran into this problem.

Thanks in advanced.

cheers,
- Sebastian




--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] global var.

2003-03-31 Thread Marcus Rasmussen
Putting an & sign in front of the $id in the first line should do the trick:

$variable = &$id;


A short example:
$bar = 0;
$foo = &$bar;
$bar = 2;
print $foo; //prints 2

__
Marcus Rasmussen
[EMAIL PROTECTED]
www.marcusr.dk

-
On 31-03-2003 at 19:56 Sebastian wrote:
-

hello all,

$variable = $id;

// some other stuff

@mysql_query here
$id = mysql_insert_id();


to the question: How do I get $id from insert_id() to pass to $variable
above? Hard to explain the situation i am in, but the query has to be below
$variable, is it possible to 'globalize' $id so it passes to the top
$variable?

first time i ever ran into this problem.

Thanks in advanced.

cheers,
- Sebastian




--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



RE: [PHP] global var.

2003-03-31 Thread Jon Haworth
Hi Sebastian,

> $variable = $id;
> // some other stuff
> @mysql_query here
> $id = mysql_insert_id();
> 
> How do I get $id from insert_id() to pass to $variable
> above? Hard to explain the situation i am in, but the 
> query has to be below $variable

::blink::

Perhaps something like:

$loc = $PHP_SELF. "?variable=". $id;
header("Location:". $loc);

You'd have to put something in to stop an infinte loop though.

Cheers
Jon


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php