Path: csiph.com!usenet.pasdenom.info!aioe.org!newsfeed1.swip.net!xlned.com!feeder5.xlned.com!npeer.de.kpn-eurorings.net!npeer-ng0.de.kpn-eurorings.net!newsfeed.arcor.de!newsspool1.arcor-online.net!news.arcor.de.POSTED!not-for-mail Content-Type: text/plain; charset="UTF-8" Message-ID: <5344407.41oGB2pKJ7@PointedEars.de> From: Thomas 'PointedEars' Lahn Reply-To: Thomas 'PointedEars' Lahn Organization: PointedEars Software (PES) Date: Tue, 25 Feb 2014 03:37:42 +0100 User-Agent: KNode/4.11.5 Content-Transfer-Encoding: 8Bit X-Face: %i>XG-yXR'\"2P/C_aO%~;2o~?g0pPKmbOw^=NT`tprDEf++D.m7"}HW6.#=U:?2GGctkL,f89@H46O$ASoW&?s}.k+&. <530bdfbb$0$9512$9b4e6d93@newsspool1.arcor-online.net> <2cong990p92ikr3uconpk9jpofp1s4g18r@4ax.com> <530be89b$0$9505$9b4e6d93@newsspool1.arcor-online.net> MIME-Version: 1.0 Lines: 66 NNTP-Posting-Date: 25 Feb 2014 03:37:47 CET NNTP-Posting-Host: a335884a.newsspool1.arcor-online.net X-Trace: DXC=@i^a8ZdD_1a;VhLfW0gj>9>Ao X-Complaints-To: usenet-abuse@arcor.de Xref: csiph.com comp.lang.php:12942 Christoph Michael Becker wrote: > Richard Yates wrote: >> On Tue, 25 Feb 2014 01:11:40 +0100, Christoph Michael Becker >> wrote: >>> Richard Yates wrote: >>>> I inserted var_dump successively at each stage in the script to see >>>> where it changes from the (correct) array to a (incorrect) string. I >>>> narrowed it down to ONE statement, but cannot see how that could >>>> possibly change the variable. Here's the section with var_dump, then >>>> the one statement, and then the var_dump repeated exactly. >>>> >>>> var_dump($_SESSION['to']); >>>> $to=$_SESSION['to'][$ct]['email']; >>>> var_dump($_SESSION['to']); >>>> >>>> The output of the two var_dumps is: >>>> >>>> The first: >>>> array(1) { [0]=> array(3) >>>> { ["fname"]=> string(4) "Dick" >>>> ["lname"]=> string(5) "Yates" >>>> ["email"]=> string(23) "dyates@salemharvest.org" } >>>> } >>>> >>>> The second: >>>> string(23) "dyates@salemharvest.org" >>>> >>>> If I comment out the second line (that sets $to), the second var_dump >>>> comes out correct. Am I losing my mind? >>> >>> $to being a reference to $_SESSION['to'] would explain the behavior. >> >> Thanks, Christropher. In desperation I changed all instances of $to >> in the script to $tomail and it fixed the problem! >> >> But I don't understand how setting the variable: $to can affect the >> array: $_SESSION['to']? They are completely different variables. >> And why would it all work fine on other servers? > > Frankly, I don't know. If I had to examine the issue, I'd probably > check the value of $to at the start of the script execution and directly > after the session start. If $to is set in either case, that would give > a hint. If $to is null at the start of the script execution, but is set > to the value of $_SESSION['to'] after starting the session, checking the > session handler would be appropriate. And if $to is already set at the > beginning of the script execution, checking the register_globals > setting[1] seems appropriate (even if that wouldn't explain the strange > behavior per se). session_register('to'); (deprecated since 5.3, removed in 5.4) would explain it even if $to =& $_SESSION['to']; was missing. PointedEars -- > If you get a bunch of authors […] that state the same "best practices" > in any programming language, then you can bet who is wrong or right... Not with javascript. Nonsense propagates like wildfire in this field. -- Richard Cornford, comp.lang.javascript, 2011-11-14