ID:               20583
 Comment by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
 Status:           Open
 Bug Type:         Variables related
 Operating System: RedHat 7.2
 PHP Version:      4CVS-2002-11-22 (stable)
 New Comment:

I experienced the described problem with one of my scripts, too, since
I upgraded the server to PHP 4.3.0. I use sessions, MySQL, and have
cookies turned on in my browser.
In my script I process post data and assign three values to session
variables inside an if-statement.

Changing the order in which the assignments are made (I moved the first
statement after the other two) solved the problem, and all variables
contain their correct values.

I use Debian 3.0 (Woody), Apache 1.3.27 with statically linked PHP
4.3.0.
PHP configuration: http://bigben171.wutallan.net/phpinfo.php


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

[2002-12-30 10:58:02] [EMAIL PROTECTED]

Well perhaps I initially reported the bug in the wrong category from
the dropdown selection, since it seemed like it was a variables related
problem. 

At this point, if I remove basically any of the lines from the code
segment given above, the error goes away. So based on this, here are
the three factors that I have been able to deduce are required to
recreate the bug.

1) Turn off cookies
2) Use sessions
3) Use the OCI module.

Basically, do everything I'm doing above in the code segment I sent
you. If I could have simplified it any more, than I would have.
However, the removal of any lines caused the problem to go away, which
is what leads me to believe it's a combination of all three of the
things I just listed.

>From the sample output I gave you, you can see that it's interpretting
a simple string assignment statement to the $sql variable as some sort
of object/resource. This is why I reported the bug as a variables
related issue, but maybe it isn't. Maybe it's all related to the OCI
module and PHP sessions.

Thank you.

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

[2002-12-19 19:30:54] [EMAIL PROTECTED]

you're focussing on the wrong issue. It should be *self-contained*. Can
you still reproduce the issue, when you strip the ora_* stuff and
without sessions? If not, add sessions back in, then the ora_*.

>From what you're reporting:
<?php
$one='one';
$two='two';
print "$one $two";
?>
should result in 'one one'.

If this isn't the case, then it's not a variable issue, but specific to
some module. Unless we find out what module causes the behavior,
there's not much we can do.

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

[2002-12-19 15:25:15] [EMAIL PROTECTED]

Ok, I've been able to narrow this bug down to a much simpler PHP
script. We have also confirmed that it is definitely a problem with the
newer version of PHP since we are running an identical script on
production, with an older version of PHP, and it is error free.

The following script should allow you to recreate the problem. You
should disable cookies on the browser in order to have the error
recreated each subsequent refresh. Otherwise, the error will only
happen the first time you view the page, and will be gone on
refreshes.

______________________________________________________
<?
  session_start();

    $db_sid = "SID_VALUE";
    $oralogin = "scott";
    $orapass = "tiger";
          $conn_ora = OCIPLogon($oralogin, $orapass, $db_sid);

  if (empty($_GET["view_all"])) {
    $_GET["view_all"] = $_SESSION["view_all"];
  }
  $view_all = $_GET["view_all"];
  session_register("view_all");

  $sql = "select SOME_FIELDS_FROM_DATABASE ";
  if ($mgt_user_row["SUPER_USER_FLAG"] == "Y" && $_GET["view_all"] ==
"Y") {
    $sql .= "from SOME_TABLE_NAMES ";
  } else {
    $sql .= "from SOME_TABLE_NAMES ";
  }
  $another = "hello world";
        $obviously_messed_up = "php";
  $stmt = OCIParse($conn_ora, $sql);
  print "SQL = $sql<br>";
        print "Another = $another<br>";
        print "Obviously Messed Up = $obviously_messed_up<br>";
?>
____________________________________________________

Output of Above Code:
SQL = Resource id #3
Another = Resource id #3
Obviously Messed Up = Resource id #3

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

[2002-12-11 01:03:31] [EMAIL PROTECTED]

Please provide us a complete, self-contained and short script which can
be used to reproduce this.
(you're most likely doing something wrong..)


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

[2002-12-10 19:12:37] [EMAIL PROTECTED]

We have upgraded our PHP to the version given below, and are still
experiencing the same problems. 

Thanks

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

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/20583

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

Reply via email to