ID:               26994
 User updated by:  kavol at email dot cz
 Reported By:      kavol at email dot cz
 Status:           Bogus
 Bug Type:         Arrays related
 Operating System: linux (any?)
 PHP Version:      4.3.4
 New Comment:

> RTFM about sessions and how to use them correctly. 
 
please could you be more specific? 
of course I have read about sessions and I can't remeber of 
any place saying that the contents of $_SESSION[something] 
can be randomly overwritten ... 
 
or do you mean that i left out session_start() from the 
example so as many other lines of the original code? 
 
> This has nothing to do with extract(). 
 
if a variable's value is changed after calling extract() 
then it has to do something with what? 
 
 
p.s. as for reproducing the error with newer snapshot: I 
decided to try to recompile apache - now I'm stuck with 
that, damn :-(


Previous Comments:
------------------------------------------------------------------------

[2004-01-24 23:52:38] [EMAIL PROTECTED]

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php

RTFM about sessions and how to use them correctly. This has nothing to
do with extract().


------------------------------------------------------------------------

[2004-01-23 17:45:08] kavol at email dot cz

unfortunately, I am unable to build the apache module from 
that source ... "configure --with-apxs2=/usr/sbin/apxs2" 
says this: 
 
[...] 
checking for Apache 2.0 filter-module support via DSO 
through APXS... no 
checking for Apache 2.0 handler-module support via DSO 
through APXS... expr: non-numeric argument 
./configure: line 5114: test: : integer expression expected 
./configure: line 5116: test: : integer expression expected 
yes 
[...] 
 
which seems to be a bit suspicious (although the result is 
"yes") and then "make" goes well except that the module is 
missing ... I got cli version (working...) but that's all 
 
I'll try to work it out asap, until then I can't confirm if 
the CVS version is ok for me, sorry ...

------------------------------------------------------------------------

[2004-01-21 11:55:49] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php4-STABLE-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php4-win32-STABLE-latest.zip

Works fine with latest CVS of PHP4. 

------------------------------------------------------------------------

[2004-01-21 11:02:56] kavol at email dot cz

Description:
------------
after extract()ing an array containing a "key" => "data" with "key"
being the same name as in $_SESSION, not only $key = "data", but the
content of $_SESSION["key"] gets overwritten with "data" too

Reproduce code:
---------------
$jazyky = array (array ("jazyk" => "Čeština", "kod" => "cs", "jak"
=> "česky"), array ("jazyk" => "English", "kod" => "en", "jak" =>
"English"));

$_SESSION["jazyk"] = "cs";

$jazyk = $_SESSION["jazyk"]; // this IS NOT assigment by reference !
(from manual: "the assignment copies the original variable to the new
one")

echo $_SESSION["jazyk"];
foreach ($jazyky as $j) {
  extract ($j);
  echo "<a href='?jazyk=$kod'><img alt=\"$jak\" class=\"vlajka\"
src=\"images/flag-$kod.png\"> $jazyk</a><br>";
  echo $_SESSION["jazyk"];
};
$jazyk = $_SESSION["jazyk"]; // this is the problem - I wanted to
restore the previosly overwritten $jazyk but I found $_SESSION["jazyk"]
to be overwritten too!

Expected result:
----------------
cs
<a href='?jazyk=cs'><img alt="&#269;esky" class="vlajka"
src="images/flag-cs.png"> &#268;eština</a><br>
cs
<a href='?jazyk=en'><img alt="English" class="vlajka"
src="images/flag-en.png"> English</a><br>
cs


Actual result:
--------------
cs
<a href='?jazyk=cs'><img alt="&#269;esky" class="vlajka"
src="images/flag-cs.png"> &#268;eština</a><br>
&#268;eština
<a href='?jazyk=en'><img alt="English" class="vlajka"
src="images/flag-en.png"> English</a><br>
English



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=26994&edit=1

Reply via email to