Re: [PHP] SESSIONS - SOLVED

[email protected] (Ethan Rosenberg) Thu, 01 Jan 2015 23:58:43 -0500
Newsgroups php.db
Message-ID <[email protected]>
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 <[email protected]
> <mailto:[email protected]>> 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 <[email protected] <mailto:[email protected]>
>     <mailto:[email protected] <mailto:[email protected]>>> 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:[email protected]> <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?
>
>
>