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?
--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php