Solved

losing session variables

Posted on 2006-06-08
6
368 Views
Last Modified: 2008-02-26
Please take a look at this script and see why I'm losing my sessions:

www.owndesigns.com/deed-david/admin/menuorder.txt
0
Comment
Question by:weikelbob
  • 4
  • 2
6 Comments
 
LVL 5

Accepted Solution

by:
BobsRe earned 500 total points
Comment Utility
Try not using numbers as the session key.  I have never heard of that before, but for som reason when I downloaded your cod on my server it worked when I changed the keys from numbers.  As a quick exampl change your $_SESSION['100']="TESTING123"; to $_SESSION['thf']="TESTING123";

If you need additional help let me know.
0
 
LVL 5

Expert Comment

by:BobsRe
Comment Utility
Here I cleaned up the code a bit for you, but you need to readd your database stuff.  This is what I did to be able to troubleshoot, mostly just cleaning it up so I could read it.

<?php
session_cache_limiter('nocache');
session_cache_expire (40);
session_start();

error_reporting(E_ALL);
$errors=array();

if (isset($_POST['order2'])) {
      unset($_POST['submit']);
      foreach($_POST as $key => $value) {
            if(!is_numeric($value)) {
                  $errors[]="Your changes are not numeric";
            }
      }
      if(count($_POST) != count(array_unique($_POST))) {
            //there are some duplicates. Use a foreach to detect them.
            $errors[]="Your changes are invalid";
      }
      if (count($errors)==0) {
            // Array elements are NOT unique OR not integer - you can use $a_unique_ints to see all the unique ints available.
            if(isset($_POST['order2'])) {
                  for($j=1;$j<count($_POST) + 1;$j++) {
                        /* $a="order" . $j;
                        echo "a:" . $_POST[$a];
                        echo "<br><br>";
                        $query4="update deedtable set order1= '" . mysql_real_escape_string($_POST[$a]) . "' where order1= '" . mysql_real_escape_string($_SESSION[$j]) . "'";
                        $result4= mysql_query($query4); */
                  }
            }
      }
}

echo <<<END
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Admin Page</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div id="container">
   <div id="header">
      <img src="images/header1.jpg">
   </div>

   <div id="whitearea">
END;
print_r($_SESSION);
if (count($errors)>0) {
      $error = implode("<br />", $errors);
      $error = "<span style=\"color:red;font-weight:bold;\">" . $error . "</span>";
      echo $error;
}
echo "
   <p style='text-align:center'>
   To return to the admin home, click <a href='index.php'>here</a>.
   </p>
      <ul style='list-style-type:none'>
      <table cellpadding='1' cellspacing='1'>
      <form action='{$_SERVER['PHP_SELF']}' method='post'>
";

$i=0;
foreach (array(
                                 array("menu" => "Testqqq", "order1" => 1),
                                 array("menu" => "Testqqfdg", "order1" => 3),
                                 array("menu" => "dfgdg", "order1" => 5),
                                 array("menu" => "Tdfestdfg", "order1" => 6)
                                 ) as $row3) {
      echo "<tr>";
      echo "<td>";
      $i++;
echo <<<END
            <li>{$row3['menu']}
         </td>
         <td>  

       <input type="text" size="5" name="order<?php echo $i; ?>" value="{$row3['order1']}">
END;
       $_SESSION['DD' . $i] = $row3['order1'];
       $_SESSION['Thz'] = "TESTING123";      
            echo $_SESSION['DD' . $i];
echo "
            </li>
          </td>
          </tr>";
}

echo <<<END
     
<input type="submit" name="submit" value="Update a page's order">
       </form>
      </table>  
      </ul>
       <p style="text-align:center">
       click <a href="admin-new.php">here</a> to add a page.
       </p>
       
  </div>
<div id="clear1"></div>
</div>

</body>
</html>
END;
print_r($_SESSION);
?>
0
 
LVL 7

Author Comment

by:weikelbob
Comment Utility
It's working!

so far....
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 5

Expert Comment

by:BobsRe
Comment Utility
lol,  Good, glad I could help.

  Bobby
0
 
LVL 7

Author Comment

by:weikelbob
Comment Utility
I didn't use your script, but I went back to my script and added an "a" in the sessions because you suggested to make them not only just numbers. Everything started working.

Thanks a lot.

Bob
0
 
LVL 5

Expert Comment

by:BobsRe
Comment Utility
Ok I am glad it worked out.  Thanks for the points.
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Consider the following scenario: You are working on a website and make something great - something that lets the server work with information submitted by your users. This could be anything, from a simple guestbook to a e-Money solution. But what…
This article will explain how to display the first page of your Microsoft Word documents (e.g. .doc, .docx, etc...) as images in a web page programatically. I have scoured the web on a way to do this unsuccessfully. The goal is to produce something …
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now