Re: SESSIONS - SOLVED

From: Date: Fri, 02 Jan 2015 04:58:43 +0000
Subject: Re: SESSIONS - SOLVED
References: 1 2 3 4 5  Groups: php.db 
Request: Send a blank email to php-db+get-48939@lists.php.net to get a copy of this message
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@hygeiabiomedical.com <mailto:erosenberg@hygeiabiomedical.com>> 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@3ft9.com <mailto:stuart@3ft9.com>
    <mailto:stuart@3ft9.com <mailto:stuart@3ft9.com>>> 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@hygeiabiomedical.com> <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?


« previous php.db (#48939) next »