Am i passing the session wrong way? can someone please check

i have page findroom.php that will redirect to the page DisplayDetails.php.

i wanted the DisplayDetails.php page to display data from the query in the page findroom.php. The data that i wanted to display from the query from page DisplayDetails is ‘room_price’ and ‘room_type’.

However, when i clik the Book Now link, it dosesnt’t display the value.

Since i’m just a starter in php, can someone tell me am i treating the session the right way as it doesn’t diplay any result for the data that i wanted to take from the query in the findroom.php. But, for the the others data which is ‘checkin’, ‘checkout’ and others, it just show perfectly.

I do hope if someone can tell me am i using the session in the right way or not.

below is the code: findroom.php


<?php
session_start();
unset($_SESSION['error']);
// echo variable from the session, we set this on our other page
$_SESSION['checkin'] = $_POST['checkin'];
//$_SESSION['checkin']=$checkin;
$_SESSION['checkout'] = $_POST['checkout'];
$_SESSION['rooms']= $_POST['rooms'];
$_SESSION['adults']= $_POST['adults'];
$_SESSION['children']= $_POST['children'];
$days = (strtotime($_POST['checkout']) - strtotime($_POST['checkin'])) / (60 * 60 * 24);

$_SESSION['days']=$days;

$_SESSION['room_price']=$data['room_price'];
$room_price=$_SESSION['room_price'];

$_SESSION['room_type']=$data['room_type'];
$room_type=$_SESSION['room_type'];
?>

<html>
<body>
<form action="DisplayDetails.php" method="post">
<p>

<?php

//$result = mysql_query("SELECT id_no,room_type,room_price from room1 WHERE room_no NOT IN ( SELECT id_room_no
//FROM reservation1 WHERE datein >='$datein' AND dateout <='$dateout')");

$result = mysql_query("SELECT room_price, room_type from room1 WHERE room_no NOT IN ( SELECT id_room_no
FROM reservation1 WHERE datein >='$datein' AND dateout <='$dateout')");
?>

<?php 
    /*if(isset($_POST['Check']) && $_POST['Check']=='Submit') 
    { 
          echo "The rooms availale on the date of :";
		  echo $datein;
		  echo "  until  ";
          echo $dateout; 
    } */
?> 

</p>
<p><strong><strong>Room Availbility</strong> </p>
<td><table width="61%" height="64" border="1" cellpadding="0" cellspacing="0" bordercolor="#CC66CC" class="report2">
      <tr>
        <td width="190" bgcolor="#E8E8E8"><div align="center"><strong>Room Type </strong></div></td>
        <td width="218" bgcolor="#E8E8E8"><div align="center"><strong>Room Price </strong></div></td>
        <td bgcolor="#E8E8E8"><strong>Task</strong></div></td>
      </tr>
      <?php
		//$counter=1;
		while ($data = mysql_fetch_array($result)):
		?>
      <tr>
     
        <td><?php echo $data['room_type']; ?></td>
        <td><?php echo $data['room_price']; ?></td>
  <td width="153"><label><a href="DisplayDetails.php?id_no=<?php echo $data['id_no'];?>"><strong>Book Now</strong></a></label></td>

 
    </tr>
      <?php
  		//$counter++;
  		endwhile;
		?>
    </table>
  <table width="373" border="1">
     <tr>
       <td colspan="2"><strong>Reservation Summary</strong></td>
      </tr>
     <tr>
       <td>Check In :</td>
       <td><label>
         <?php echo $_SESSION['checkin']; ?>
       </label></td>
      </tr>
     <tr>
       <td>Check Out :</td>
       <td><label><?php echo $_SESSION['checkout']; ?></label></td>
      </tr>
     <tr>
       <td>Rooms :</td>
       <td><label><?php echo $_SESSION['rooms']; ?></label></td>
      </tr>
     <tr>
       <td>Adults Per Room :</td>
       <td><label><?php echo $_SESSION['adults']; ?></label></td>
      </tr>
     <tr>
       <td>Children Per Room :</td>
       <td><label><?php echo $_SESSION['children']; ?></label></td>
      </tr>
     <tr>
       <td>Days :</td>
       <td><?php echo $_SESSION['days']; ?></td>
     </tr>
   </table>
   <p>
    <label></label>
   </form>
  </body>
</html>


below is the code for : DisplayDetails.php



<?php
session_start();
$_SESSION['days']= $_POST['days'];
$_SESSION['room_price']= $_POST['room_price'];
$_SESSION['room_type']= $_POST['room_type'];

// echo variable from the session, we set this on our other page
//$_SESSION['checkin'] = $_POST['checkin'];
//$_SESSION['checkout'] = $_POST['checkout'];
//$_SESSION['rooms']= $_POST['rooms'];
//$_SESSION['adults']= $_POST['adults'];
//$_SESSION['children']= $_POST['children'];

?>

<html>
<body>
<h3><center>
   Room's Reservation
</center></h3>
<form action="DisplayDetails.php" method="post">

  <table width="373" border="1">
    <tr>
      <td colspan="2"><strong>Reservation Summary</strong></td>
    </tr>
    <tr>
      <td>Check In :</td>
      <td><label> <?php echo $_SESSION['checkin']; ?> </label></td>
    </tr>
    <tr>
      <td>Check Out :</td>
      <td><label><?php echo $_SESSION['checkout']; ?></label></td>
    </tr>
    <tr>
      <td>Rooms :</td>
      <td><label><?php echo $_SESSION['rooms']; ?></label></td>
    </tr>
    <tr>
      <td>Adults Per Room :</td>
      <td><label><?php echo $_SESSION['adults']; ?></label></td>
    </tr>
    <tr>
      <td>Children Per Room :</td>
      <td><label><?php echo $_SESSION['children']; ?></label></td>
    </tr>
    <tr>
      <td>Days :</td>
      <td><?php echo $_SESSION['days']; ?></td>
    </tr>
    <tr>
      <td>Room Type</td>
      <td><?php echo $_SESSION['room_type']; ?></td>
    </tr>
    <tr>
      <td>Room Price</td>
      <td><?php echo $_SESSION['room_price']; ?></td>
    </tr>
  </table>
</form>

</body>
</html>


any kinds of help really apprecited

Add this after the session_start() in DisplayDetails.php

echo "<pre>";
var_dump($_SESSION);
echo "</pre>";

This will allow you to see what session data you have stored for the session. What session data does it output?

it show that my room_type and room_price which is the data that i wanted to take from the query at the page findroom.php is NULL. i windering if i’m using this kind of code to take the data from query is right or not…can someone tell me is this sysntax is right or not?

$_SESSION[‘room_price’]=$data[‘room_price’];
$room_price=$_SESSION[‘room_price’];

$_SESSION[‘room_type’]=$data[‘room_type’];
$room_type=$_SESSION[‘room_type’];

however, this is the output after i paste the SpacePheonic code:



array(8) {
  ["checkin"]=>
  string(12) " 	2010-03-01"
  ["checkout"]=>
  string(12) " 	2010-03-24"
  ["rooms"]=>
  string(1) "1"
  ["adults"]=>
  string(1) "1"
  ["children"]=>
  string(1) "1"
  ["days"]=>
  int(23)
  ["room_price"]=>
  NULL
  ["room_type"]=>
  NULL
}



In the query you have

SELECT room_price, room_type from room1 WHERE room_no NOT IN ( SELECT id_room_no
FROM reservation1 WHERE datein >='$datein' AND dateout <='$dateout')

Where are the $datein and $dateout variables supposed to get their values from? Are they meant to get their values from $_SESSION[‘checkin’] and $_SESSION[‘checkout’] ?

btw a little tip to help with dignosing problems with quieries:

Instead of submitting the query as (taking your query as an example):

$result = mysql_query("SELECT room_price, room_type from room1 WHERE room_no NOT IN ( SELECT id_room_no
FROM reservation1 WHERE datein >='$datein' AND dateout <='$dateout')");

submit the query by doing:

$sql="SELECT room_price, room_type from room1 WHERE room_no NOT IN ( SELECT id_room_no
FROM reservation1 WHERE datein >='$datein' AND dateout <='$dateout')";

$result = mysql_query($sql);

It allows you to echo the query and try to verify that your variables being used in it are as expected.

the checkin and checkout value is get from the page lookroom.php.

the code for lookroom.php is :



<?php
session_start();
//unset($_SESSION['error']);

$_SESSION['checkin']=$checkin;
$_SESSION['checkout']=$checkout;
$_SESSION['rooms']=$rooms;
$_SESSION['adults']=$adults;
$_SESSION['children']=$children;

?> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" type="text/css" media="all" href="calendar-win2k-1.css" title="win2k-cold-1" />
<script type="text/javascript" src="Kalendar/calendar.js"></script>
<script type="text/javascript" src="Kalendar/calendar-en.js"></script>
<script type="text/javascript" src="Kalendar/calendar-setup.js"></script>
<script type="text/javascript" src="Kalendar/ew.js"></script>
<script type="text/javascript"></script>
<title>SistemAPOS</title>
<style type="text/css">
<!--
.style7 {color: #FFFFFF}
.style8 {
	color: #000000;
	font-weight: bold;
}
.style10 {color: #FFFFFF; font-weight: bold; }
.style11 {font-weight: bold}
-->
</style>

</head>

<body>

<form action="findroom.php" method="post">

  <p>Check Room Availbility</p>
  <p>Check In
    <label>
      <input type="text" name="checkin" value="<?php $checkin ?>"/>
      <input name="datein" type="image" id="dateA" src="Kalendar/ew_calendar.gif" width="16" height="15" border="0" />
  <script type="text/javascript">
					</script>
            </strong>
  <script type="text/javascript">Calendar.setup(
					{
						inputField : "datein", // ID of the input field
						ifFormat : "%Y-%m-%d", // the date format
						button : "dateA" // ID of the button
					}
					);
					document.write(ifFormat);
					</script>
      </label>
  </p>
  <p>Check Out 
    <input name="checkout" type="text" id="checkout" value="<?php $checkout ?>"/>
    <input name="dateout" type="image" id="dateB" src="Kalendar/ew_calendar.gif" width="16" height="15" border="0" />
    </strong>
    <script type="text/javascript">Calendar.setup(
					{
						inputField : "dateout", // ID of the input field
						ifFormat : "%Y-%m-%d", // the date format
						button : "dateB" // ID of the button
					}
					);
					document.write(ifFormat);
					</script>
  </p>
  <p>Rooms : 
    <label>
    <select name="rooms" id="rooms" value="<?php $rooms;?>">
      <option>1</option>
      <option>2</option>
      <option>3</option>
      <option>4</option>
      <option>5</option>
    </select>
    </label>
  Adults Per Room : 
  <label>
  <select name="adults" id="adults" value="<?php $adults;?>">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
  </select>
  </label>
  Children Per Room : 
  <label>
  <select name="children" id="children" value="<?php $children;?>">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
  </select>
  </label>
  </p>
  <p>
    <label>
      <input type="submit" name="Check" id="Check" value="Submit" />
    </label>
  </p>
</form>
</body>
</html>


actually i did echoed the query and it’s display the results perfectly.
here’s the code for echo the query result:


$result = mysql_query("SELECT room_price, room_type from room1 WHERE room_no NOT IN ( SELECT id_room_no
FROM reservation1 WHERE datein >='$datein' AND dateout <='$dateout')");

      <?php
		while ($data = mysql_fetch_array($result)):
	?>
      <tr>
     
        <td><?php echo $data['room_type']; ?></td>
        <td><?php echo $data['room_price']; ?></td>

  <td width="153"><label><a href="DisplayDetails.php?id_no=<?php echo $data['id_no'];?>"><strong>Book Now</strong></a></label></td>
</tr>


but, i do really need to confirmation if i’m assigning the query result as session or am i doing it the wrong way for this part below. Because as i try to sent to value at th DisplayDetails.php page, it doesnt show anything value but for the others data, it show others data perfectly.


$_SESSION['room_price']=$data['room_price'];
$room_price=$_SESSION['room_price'];

$_SESSION['room_type']=$data['room_type'];
$room_type=$_SESSION['room_type'];

For findroom.php try:

<?php
session_start();
unset($_SESSION['error']);
// echo variable from the session, we set this on our other page

if (isset($_POST['checkin'])) {
    $_SESSION['checkin'] = $_POST['checkin'];
}

if (isset($_POST['checkout'])) {
    $_SESSION['checkout'] = $_POST['checkout'];
}

if (isset($_POST['rooms'])) {
    $_SESSION['rooms'] = $_POST['rooms'];
}

if (isset($_POST['adults'])) {
    $_SESSION['adults'] = $_POST['adults'];
}

if (isset($_POST['children'])) {
    $_SESSION['children'] = $_POST['children'];
}

$datein=$_SESSION['checkin'];
$dateout=$_SESSION['checkout'];

$days = (strtotime($_POST['checkout']) - strtotime($_POST['checkin'])) / (60 * 60 * 24);

$_SESSION['days']=$days;

$_SESSION['room_price']=$data['room_price'];
$room_price=$_SESSION['room_price'];

$_SESSION['room_type']=$data['room_type'];
$room_type=$_SESSION['room_type'];
?>

<html>
<body>
<form action="DisplayDetails.php" method="post">
<p>

<?php

//$result = mysql_query("SELECT id_no,room_type,room_price from room1 WHERE room_no NOT IN ( SELECT id_room_no
//FROM reservation1 WHERE datein >='$datein' AND dateout <='$dateout')");

$result = mysql_query("SELECT room_price, room_type from room1 WHERE room_no NOT IN ( SELECT id_room_no
FROM reservation1 WHERE datein >='$datein' AND dateout <='$dateout')");
?>

<?php 
    /*if(isset($_POST['Check']) && $_POST['Check']=='Submit') 
    { 
          echo "The rooms availale on the date of :";
          echo $datein;
          echo "  until  ";
          echo $dateout; 
    } */
?> 

</p>
<p><strong><strong>Room Availbility</strong> </p>
<td><table width="61%" height="64" border="1" cellpadding="0" cellspacing="0" bordercolor="#CC66CC" class="report2">
      <tr>
        <td width="190" bgcolor="#E8E8E8"><div align="center"><strong>Room Type </strong></div></td>
        <td width="218" bgcolor="#E8E8E8"><div align="center"><strong>Room Price </strong></div></td>
        <td bgcolor="#E8E8E8"><strong>Task</strong></div></td>
      </tr>
      <?php
        //$counter=1;
        while ($data = mysql_fetch_array($result)):
        ?>
      <tr>
     
        <td><?php echo $data['room_type']; ?></td>
        <td><?php echo $data['room_price']; ?></td>
  <td width="153"><label><a href="DisplayDetails.php?id_no=<?php echo $data['id_no'];?>"><strong>Book Now</strong></a></label></td>

 
    </tr>
      <?php
          //$counter++;
          endwhile;
        ?>
    </table>
  <table width="373" border="1">
     <tr>
       <td colspan="2"><strong>Reservation Summary</strong></td>
      </tr>
     <tr>
       <td>Check In :</td>
       <td><label>
         <?php echo $_SESSION['checkin']; ?>
       </label></td>
      </tr>
     <tr>
       <td>Check Out :</td>
       <td><label><?php echo $_SESSION['checkout']; ?></label></td>
      </tr>
     <tr>
       <td>Rooms :</td>
       <td><label><?php echo $_SESSION['rooms']; ?></label></td>
      </tr>
     <tr>
       <td>Adults Per Room :</td>
       <td><label><?php echo $_SESSION['adults']; ?></label></td>
      </tr>
     <tr>
       <td>Children Per Room :</td>
       <td><label><?php echo $_SESSION['children']; ?></label></td>
      </tr>
     <tr>
       <td>Days :</td>
       <td><?php echo $_SESSION['days']; ?></td>
     </tr>
   </table>
   <p>
    <label></label>
   </form>
  </body>
</html>

thanks SpacePheonix for all the efforts to help me.I see that the flow of my code is not rihgt. That’s why it doesn’t display any value and that’s why it didn’t bring any result to the DisplayDetails.php page.

What you said make sense and it was i’m the one who didn’t make sense here.
i’m still newbie so there’s realy a lot of logic that i don’t understand…

Finally i managed to settle this prob and manaaged to get the data that i wanted to display af fixed the code.

Thanks again:)