Uzaree
asked on
Help with Sessions
I have a web site that that has 4 pages to get information from the user. The problem I am having I was trying to use sessions to keep the data entered on pages 1-4 then on page 5 after the user reviews their information they would submit it and it would post to the mysql database. I can pass session information to the next page but can't keep it going to the other pages. Here is an example.
page 1
Enter First Name:
Page 2
Enter Last Name:
Page 3
Enter Address:
Page 4
Enter State:
Page 5
Review the data built in the session array then submit and enter into database.
I know how to submit the data to the database but I can't seem to build the array even though I'm using session_start(); on every page.
I am looking for exact information here as I am knew to PHP and have purchased 3 PHP books so far yet nope give me an example to passing information like I am wanting.
Using PHP 4.3.5.5 on a windows platform but once this proto type is complete will be moving to a unix server.
Thanks
page 1
Enter First Name:
Page 2
Enter Last Name:
Page 3
Enter Address:
Page 4
Enter State:
Page 5
Review the data built in the session array then submit and enter into database.
I know how to submit the data to the database but I can't seem to build the array even though I'm using session_start(); on every page.
I am looking for exact information here as I am knew to PHP and have purchased 3 PHP books so far yet nope give me an example to passing information like I am wanting.
Using PHP 4.3.5.5 on a windows platform but once this proto type is complete will be moving to a unix server.
Thanks
how are you adding and reading data from the session?
ASKER
I do have session_start() on every page but here is teh code from all 3 pages that I was trying to do tests with.
Page login.htm
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<table width="140" border="1">
<tr>
<td>
<form name="login" method="post" action="login.php">
Login: <input type="text" name="name">
<br>
Password: <input type="text" name="textfield2">
<input type="submit" name="submit" value="Login">
</form>
</td>
</tr>
</table>
</body>
</html>
page login.php
<?php
session_start();
header("Cache-control: private");
$name = $_POST['name'];
$_session['name']=$name;
?>
Welcome <? echo $_session['name'];?>
<a href="login1.php">Login <a/>
Page login1.php
<?php
session_start();
header("Cache-control: private");
?>
Welcome <? echo $_session['name'];?>
When I get to the last page I can't seem to get the $_session['name'] to display anything
My luck its going to be something really easy that I'm missing
Page login.htm
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<table width="140" border="1">
<tr>
<td>
<form name="login" method="post" action="login.php">
Login: <input type="text" name="name">
<br>
Password: <input type="text" name="textfield2">
<input type="submit" name="submit" value="Login">
</form>
</td>
</tr>
</table>
</body>
</html>
page login.php
<?php
session_start();
header("Cache-control: private");
$name = $_POST['name'];
$_session['name']=$name;
?>
Welcome <? echo $_session['name'];?>
<a href="login1.php">Login <a/>
Page login1.php
<?php
session_start();
header("Cache-control: private");
?>
Welcome <? echo $_session['name'];?>
When I get to the last page I can't seem to get the $_session['name'] to display anything
My luck its going to be something really easy that I'm missing
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thanks Fatagui that fixed me up just right. I didn't notice the case change on the superglobals and I haven't read anything about it but that explains alot now. Once again thanks.
e.g. after page 5 you get redirect to page '6', that page 6 need to call session start() also. In case after page 5 you are doing a form submit to e.g. process_form.php the file needs to call session_start(), then within this process_form.php you can do whatever is required (in your case insert/update data to database) then can you only redirect to other pages without session_start()
To summarize:
Page 1 (session_start() required)
Page 2 (session_start() required)
Page 3 (session_start() required)
Page 4 (session_start() required)
Page 5 (session_start() required)
[form submit to process_form.php (session_start() required)]
Redirect to Page 6