mctrivia Posted June 1, 2010 Share Posted June 1, 2010 I am using SAJAX version 0.12 on my web site http://matthewandzabrina.com it works great for requesting data back from the server but it seems that anything I write to a session variable is ignored. The trouble code is below: function ajaxRequest($com) { //x_ajaxRequest(".picHTML",args1,arg2,...,returnFunction); //get list of arguments $vars=array_slice(func_get_args(),1); //get database global $conn; //Handle Picture List if ($com=='.picHTML') { //get vars if (isset($vars[0])) { $_SESSION['width']=$vars[0]; $temp=array( 'showtag' => $vars[1], 'showinmap' => $vars[2], 'mapN' => $vars[3], 'mapE' => $vars[4], 'mapS' => $vars[5], 'mapW' => $vars[6] ); $_SESSION['index' . CAT_NUM]=serialize($temp); } $indexvars=unserialize($_SESSION['index' . CAT_NUM]); $indexvars gets the values needed to sucessfully generate the result i want from the ajax command but if you reload the page it always reverts back to the original values and not the updated values. Link to comment https://forums.phpfreaks.com/topic/203554-ajax-and-session-variables-arent-working/ Share on other sites More sharing options...
mctrivia Posted June 2, 2010 Author Share Posted June 2, 2010 i found that i can read session variables in ajax requests but writing does not work so as a work around I used 1 session variable to hold an id number and a mySQL database entry to store the actual data. //open database $conn = mysql_connect(DB_HOST,DB_USER,DB_PASS) or die ('I cannot connect to the database because: ' . mysql_error()); mysql_select_db(DB_DATA, $conn); //setup default user vars: $GLOBALS['userVars']=array( 'showtag' => 'Show All', 'showinmap' => 0, 'mapN' => 999, 'mapE' => 999, 'mapS' => -999, 'mapW' => -999, 'width' => 800 ); if (!isset($_SESSION['id' . CAT_NUM])) { //if first entering site generate a session id and save default values $ip=ip2long($_SERVER['REMOTE_ADDR']); $sql = "INSERT INTO `aigaznet_mazpic`.`session` (`id`, `ip`, `time`, `cat`, `vars`) VALUES (NULL, '" . $ip . "', NOW()," . CAT_NUM . ", '" . serialize($GLOBALS['userVars']) . "');"; mysql_query($sql,$conn); $_SESSION['id' . CAT_NUM]=mysql_insert_id($conn); } else { //if already enterd load saved user values $sql='SELECT `vars` FROM `session` WHERE `id`=' . $_SESSION['id' . CAT_NUM]; $res = mysql_query($sql,$conn); if ($user = mysql_fetch_assoc($res)) { $GLOBALS['userVars']=unserialize($user['vars']); } } function updateUserVars() { $sql="UPDATE `session` SET `time`=NOW(), `vars` = '" . serialize($GLOBALS['userVars']) . "' WHERE `id`=" . $_SESSION['id' . CAT_NUM]; global $conn; mysql_query($sql,$conn); } Link to comment https://forums.phpfreaks.com/topic/203554-ajax-and-session-variables-arent-working/#findComment-1066710 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.