Bug #16540 Updated: variables still exist after loading to a new page

From: Date: Fri, 12 Apr 2002 02:43:03 +0000
Subject: Bug #16540 Updated: variables still exist after loading to a new page
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-4712@lists.php.net to get a copy of this message
ID: 16540 Updated by: webmaster@ckeren.com Reported By: webmaster@ckeren.com Status: Feedback Bug Type: Variables related Operating System: win2K PHP Version: 4.1.2 New Comment: ok here is the simpler script, please try it and you'll see very clearly where the bug is. It should work but logically it doesn't. That is because php doesn't flush the variables after loading a new page which normally it should. Instead it passess the variables with an empty string MAGICALY. ********************* Start of line $header = "<html><head><title>BUGS</title></head><body><center><br><br><br><br>"; $log = "<br><form action=\"$PHP_SELF\" method=post>Username: <input type=text name=\"user\" size=25 maxlength=20><input type=submit></form>"; if((isset($HTTP_POST_VARS["user"]) || isset($HTTP_COOKIE_VARS["user"]))) { if(!isset($p)) { $m = 30; //m variable represent minutes $lifetime = time() + ($m * 60); //lifetime variable represent the setcookie("user", $user, $lifetime); //set the user variable value into cookie echo $header; //Just to print html header //Print contents of restricted area echo "this is <b>Restricted area</b><br><br>click <a href=\"$PHP_SELF?p=logout\">here</a> to logout"; } else if(isset($p) && $p == "logout") { setcookie("user"); //delete user cookie echo $header; echo "<font color=\"#FF0000\">Here is the bug: the variable user suppoused to be disapeared after clicking the link below.<br>And logically since there is no any existing variables it suppoused to display login form instead <b>restricted area</b></font><br><br>"; echo "you have been loged out click <a href=\"$PHP_SELF\">here</a> to login again"; } else { setcookie("user"); //delete user cookie echo $header; echo "Bad username or password"; echo $log; } } else echo $header.$log; if(isset($user)) echo "<br><br>username: \"$user\" , cookie user: ".@$HTTP_COOKIE_VARS["user"]; echo "</center></body></html>"; ********************* End of line Previous Comments: ------------------------------------------------------------------------ [2002-04-11 11:00:58] sander@php.net OK, but can you strip your sample script down to only a couple of lines. Your script is waaaaaay to long, and then the bug is likely to be caused by programming errors. Reopening. ------------------------------------------------------------------------ [2002-04-11 10:54:58] webmaster@ckeren.com This is not a support question (I KNOW WHAT I'M DOING AND I DO NOT NEED ANY HELP FROM SUPPORT) this is a bug that happened with your php version 4.1.2 under win2k platform the script is just there to help you to understand where the bug is. Just to tell you one more that this script is running perfectly under php version 4.0.6 I am just here to help you guys finding the bugs that's all!!!!!!!!!!! ------------------------------------------------------------------------ [2002-04-11 06:20:25] sander@php.net The bug system is not the appropriate forum for asking support questions. For a list of a range of more appropriate places to ask for help using PHP, please visit http://www.php.net/support.php ------------------------------------------------------------------------ [2002-04-11 02:49:07] webmaster@ckeren.com The variables value stay empty after logout and will remain empty forever eventhough you try to login again with different value of username and password ------------------------------------------------------------------------ [2002-04-11 02:17:58] webmaster@ckeren.com Below is the short script that produce quite stupid logics :) //*************** start here $header = "<html><head><title>BUGS</title></head><body><center><br><br><br><br>"; $min = 4; $log = "<br><form action=\"$PHP_SELF\" method=post><table border=0 cellspacing=1 cellpadding=3>"; $log .= "<tr><td class=login colspan=2>Username<br><input type=text name=\"mumzu\" size=25 maxlength=20></td></tr>"; $log .= "<tr><td class=login colspan=2>Password<br><input type=password name=\"mumzp\" size=16 maxlength=20> <input align=\"texttop\" type=submit value=\"Log In\" class=\"submit\"></td></tr>"; $log .= "<tr><td valign=top><input type=\"radio\" name=\"mumzr\" value=\"1\"></td><td width=150><font class=option>Keep me loged-in into this MUMZ unless I logout.</font></td></tr>"; $log .= "<tr><td valign=top><input type=\"radio\" name=\"mumzr\" value=\"0\" checked></td><td width=150><font class=option>Do nothing.</font></td></tr></table></form><br><br>"; if((isset($HTTP_POST_VARS["mumzu"]) && isset($HTTP_POST_VARS["mumzp"]) && isset($HTTP_POST_VARS["mumzr"])) || (isset($HTTP_COOKIE_VARS["mumzu"]) && isset($HTTP_COOKIE_VARS["mumzp"]) && isset($HTTP_COOKIE_VARS["mumzr"]))) { if(!isset($p)) { $m = 30; $lifetime = time() + ($m * 60); setcookie("mumzu", $mumzu, $lifetime); setcookie("mumzp", $mumzp, $lifetime); setcookie("mumzr", $mumzr, $lifetime); echo $header; echo "this is <b>Restricted area</b><br><br>click <a href=\"$PHP_SELF?p=logout\">here</a> to logout"; } else if(isset($p) && $p == "logout") { setcookie("mumzu"); setcookie("mumzp"); setcookie("mumzr"); echo $header; echo "<font color=\"#FF0000\">Here is the bug: the 3 variabels mumzu, mumzp, mumzr suppoused to be disapeared after clicking the link below.<br>And logically since there is no any existing variables it suppoused to display login form instead <b>restricted area</b> again</font><br><br>"; echo "you have been loged out click <a href=\"$PHP_SELF\">here</a> to login again"; } else { setcookie("mumzu"); setcookie("mumzp"); setcookie("mumzr"); echo $header; echo "Bad username or password"; echo $log; } } else echo $header.$log; if(isset($mumzu)) echo "<br><br>username: \"$mumzu\" , pass: \"$mumzp\", cookie mumzp: ".@$HTTP_COOKIE_VARS["mumzp"]; echo "</center></body></html>"; //***************End of Line ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=16540&edit=1

« previous php.bugs (#4712) next »