Forum Moderators: coopster

Message Too Old, No Replies

Error on session vars

Undefined index

         

kr4mer

6:22 pm on May 24, 2006 (gmt 0)

10+ Year Member



Hi folks,
First of all I'm definitely not a skilled PHP programmer.
I have a problem here with session vars.
I have 3 pages: page1.php is just a silly login/authentication form (no session there!), in page2.php I collect credentials from page1.php (login password), I check them with a mysql db and I use some user's details to store them into session variables.
Everything works fine till here. In page2.php I have a search form and I use the information the user types here, together with the value of session vars to create page3.php.
Unfortunately although in page3.php I can get the right value of the $_POST variables I cannot get the session vars.
If I echo this $_SESSION['1ST_VAR'] I receive an 'Undefined index 1ST_VAR' error.
Could some of you tell me why is that?
Thanks

----------------
#
# page2.php
#
?php>
session_start();

echo '<script language="JavaScript" src="scriptfile.js"></script>';/* see down below */
// some mysql queries here to validate users and get some information about them

$_SESSION['1ST_VAR']=userinfo_1;
$_SESSION['2ND_VAR']=userinfo_2;

// some html stuff here to make the page less boring

echo '<form name="form1" method=POST action="page3.php">';
echo 'Data_1:<input type="text" name="box1" size=30>';
echo 'Data_2: <input type="text" name="box2" size=30>';
echo '<a href="javascript:funct_check();">
echo '<img name="submitbutton" src="submit.jpg" border=0>';
echo '</form>';

echo $_SESSION['2ND_VAR']; /* it actually echoes the right userinfo_2 value */
?>

-------------------
#
# page3.php
#
?php>
session_start();

echo $_SESSION['1ST_VAR']; /* Undefined index error comes from here and the similar following one */
echo $_SESSION['2ND_VAR'];
$info1=$_POST['box1'];/* these have the right values typed in page2.php */
$info2=$_POST['box2'];

// stuff...

?>
-------------------
#
# scriptfile.js
#
function func_check()
{
if (document.form1.box1.length==0 && document.form1.box2.length==0)
alert('You can't do that!');
else
document.form1.submit();
}

whoisgregg

8:21 pm on May 24, 2006 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Try naming them differently:

$_SESSION['FIRST_VAR'];
$_SESSION['SECOND_VAR'];

From [us2.php.net...] "A valid variable name starts with a letter or underscore, followed by any number of letters, numbers, or underscores."

Added: Doh! Where are my manners? Welcome to WebmasterWorld [webmasterworld.com], kr4mer!

kr4mer

8:40 pm on May 24, 2006 (gmt 0)

10+ Year Member



Those variables are actually named differently (I used 1st_var and 2nd_var as example) but I'll check it.
Anyway, thanks for the link.
cheers