i'm trying to develop a deeper understanding of sessions, and I found this article on php.net regarding sessions with the following script;
<?php
// Get the private context
session_name('Private');
session_start();
$private_id = session_id();
$b = $_SESSION['pr_key'];
session_write_close();
// Get the global context
session_name('Global');
session_id('TEST');
session_start();
$a = $_SESSION['key'];
session_write_close();
// Work & modify the global & private context (be ware of changing the global context!)
?>
<html>
<body>
<h1>Test 2: Global Count is: <?=++$a?></h1>
<h1>Test 2: Your Count is: <?=++$b?></h1>
<h1>Private ID is <?=$private_id?></h1>
<h1>Gloabl ID is <?=session_id()?></h1>
<pre>
<?php print_r($_SESSION); ?>
</pre>
</body>
</html>
<?php
// Store it back
session_name('Private');
session_id($private_id);
session_start();
$_SESSION['pr_key'] = $b;
session_write_close();
session_name('Global');
session_id('TEST');
session_start();
$_SESSION['key']=$a;
session_write_close();
?>
[EDIT BY danbrown AT php DOT net: Contains a bugfix provided by (lveillette AT silexmultimedia DOT com) on 19-NOV-09.]
I do not understand line 21 and 22.
<h1>Test 2: Global Count is:<?=++$a?></h1>
If I change this to;
<h1>Test 2: Global Count is:<?php echo =++$a; ?></h1>
or
<h1>Test 2: Global Count is:<?php =++$a ?></h1>
I would get a parse error, unexpected "=" in line 21. Can anyone explain why this is? * Why is it being echoed * Why can I not use echo in this case * Why does the code not start with <?php ? * What does line 21 even mean? =++$a?
Thanks in advance guys!