Let's try to make a long story short.
I'm writing a (not too complex) system visible to authorized users only. My
users are stored in a MySQL database table with "usr_id" and "usr_typ" (user
type) among other fields.
When a user logs in, I retrieve those values from the database and store them
into separate session variables:
$_SESSION["usr_id"] = $rs["usr_id"];
$_SESSION["usr_typ"] = $rs["usr_typ"];
When the user visits a restricted page, I read those session variables to
validate the user. So far so good. Problem started when I added a new script
named "usr_frm.php".
This page accepts the user's id and type from the query string, like this:
$id = (integer)$HTTP_GET_VARS["id"];
$usr_typ = (integer)$HTTP_GET_VARS["typ"];
The call comes from a list of users displayed by another script, "usr_lst.php",
like this (within a loop, of course):
print("<a
href='usr_frm.php?id=".$row["usr_id"]."&typ=".$row["usr_typ"]."'>");
Problem is, that, once the page "usr_frm.php" have been hit, the session
variable $_SESSION["usr_type"] gets changed (unexpectedly) to exactly the same
value passed to the script via GET variable "typ".
But even worse: this code works perfectly well on my developer machine
(Windows) but in doesn't on the actual server (Linux).
I realized that the server uses a different PHP configuration, specially:
"register_globals" set to ON. I already got them to change this value to OFF...
but this did not solve the problem.
I will appreciate any help, suggestion, idea.... currently I am (honestly) clue
less...
Thank you in advance.
--Armando--.