Bastein - Correct 100%. I feel rather stupid. A POST or GET will cause session variables to be transferred. From another post to the UNIX list, this works..... <script type="text/JavaScript"> <!-- window.open("HandleFood.php","_self") //-->\ </script> and the SESSION variables transfer. Sorry for bothering you with such trivia. Ethan -- On 01/01/2015 11:21 PM, Bastien Koert wrote:
Ethan, As was explained in another post, sessions DO NOT WORK when you call shell_exec because the browser the user is using holds the session cookie WHICH IS NOT AVAILABLE during a shell_exec This is totally expected behavior. If you need to call the second script via a cron for example, no session variables will exist. Your script would have to generate those values (perhaps from a database call to some table) to have those available in the script. If your first script is calling shell_exec ( calling shell_exec from a script to another script in processing a browser call is just weird) then you would have to pass the session values you need in the shell_exec call as parameters. Bastien On Thu, Jan 1, 2015 at 11:13 PM Ethan Rosenberg, PhD <erosenberg@xxxxxxxxxxxxxxxxxxxx <mailto:erosenberg@xxxxxxxxxxxxxxxxxxxx>> wrote: Dear List - I can make it work, but I do not know why??? I have two scripts, HandleWeight and HandleFood. I call HandleWeight from a form ... echo "<form method= 'post' action='HandleWeight.php'>"; echo "<center><strong><input type = 'submit' value= 'WEIGH'></strong></center>"; echo "</form>"; and the session variables appear in HandleWeight. I call HandleFood with a shell_exec, $output = shell_exec('php HandleFood.php'); and the variables do not appear in HandleFood. If I call it from a form, the variables appear. What is going on?? TIA Ethan -- On 01/01/2015 07:39 PM, David OBrien wrote: > > > On Thursday, January 1, 2015, Stuart Dallas <stuart@xxxxxxxx <mailto:stuart@xxxxxxxx> <mailto:stuart@xxxxxxxx <mailto:stuart@xxxxxxxx>>> wrote: > > Before I look at the code in any sort of detail, what do you mean by "from > the terminal"? > > On Friday, January 2, 2015, Ethan Rosenberg <erosenberg@hygeiabiomedical.__com <mailto:erosenberg@xxxxxxxxxxxxxxxxxxxx> <javascript:;>> > wrote: > > > Dear List - > > > > My session variables do not seem to propagate.... > > > > a.php > > > > <?php > > > > session_name("STORE"); > > session_set_cookie_params( '24000', '/' ); > > session_start(); > > ?> > > > > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > > http://www.w3.org/TR/xhtml1/__DTD/xhtml1-transitional.dtd <http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>"> > > > > <snip> > > > > global $cxn; > > global $sale; > > global $tax_rate; > > global $tax; > > $upc = $_POST['UPC']; > > $_SESSION['UPC'] = $_POST['UPC']; > > <snip> > > > > case 'step3': > > { > > echo 'step3'; > > global $cxn; > > global $sale; > > global $tax_rate; > > global $tax; > > $upc = $_POST['UPC']; > > $_SESSION['UPC'] = $_POST['UPC']; > > echo 'sess'; > > print_r($_SESSION); > > echo '<br />'; > > if(strlen($upc)< 5) // the value is a 4 digit > > // code, which is used for fruits and vegatables > > { > > $sql7 = "select WeightFlag from Food where PLU = > > $upc"; > > $result7 = mysqli_query($cxn, $sql7); > > $row7 = mysqli_fetch_row($result7); > > > > } > > echo 'row7'; > > print_r($row7); > > if($row7[0] != 0) > > { > > > > > > echo "<form method= 'post' > > action='HandleWeight.php'>"; > > echo "<center><strong><input type = 'submit' > > value= 'WEIGH'></strong></center>"; > > echo "</form>"; > > exit(); > > } > > echo 'SQL11'; > > $sql11= "$row[7] IS NULL OR $row[7] == '' "; > > if($sql11) > > print_r($_POST); > > print_r($_SESSION); > > { > > > > $output = shell_exec('php HandleFood.php'); > > echo $output; > > > > } > > break; > > > > } //end step3 > > ------------------ > > From the terminal - > > > > step3sessArray > > ( > > [UPC] => 3127 > > ) > > > > row7Array > > ( > > [0] => 0 > > ) > > SQL11Array > > ( > > [UPC] => 3127 > > [welcome_already_seen] => already_seen > > [next_step] => step3 > > ) > > Array > > ( > > [UPC] => 3127 > > ) > > > > > > -------- > > > > HandleFood.php > > > > <?php > > session_name("STORE"); > > session_set_cookie_params( '24000', '/' ); > > set_time_limit(2400); > > session_start(); > > ?> > > > > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > > http://www.w3.org/TR/xhtml1/__DTD/xhtml1-transitional.dtd <http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>"> > > > > <snip> > > > > echo 'sess<br />'; > > print_r($_SESSION); > > global $cxn; > > global $sale; > > global $tax_rate; > > global $tax; > > $upc = $_SESSION['UPC']; > > > > echo 'ses2<br />'; > > print_r($_SESSION); > > ----- > > From the terminal -- > > > > sess > > Array > > ( > > ) > > ses2 > > Array > > ( > > ) > > > > What am I doing wrong?? > > > > TIA > > > > Ethan > > > > > > > > > > > > -- > > PHP General Mailing List (http://www.php.net/) > > To unsubscribe, visit: http://www.php.net/unsub.php > > > > > > -- > -Stuart > > -- > Stuart Dallas > 3ft9 Ltd > http://3ft9.com/ > > > > Besides running from the terminal which won't set a session since the browser controls cookies and > stuff > > shouldn't session_start go first?
-- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php