Re: SESSIONS - SOLVED
| From: | Ethan Rosenberg | 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??TIAEthan --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 <?phpsession_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 andstuff shouldn't session_start go first?