about to start taking responses
"; $query_values = ""; foreach ($_POST as $key=>$response) { fwrite($of,"post: $key => $response\n"); //if session var submit_stimulus_id == TRUE, then submit the stimulus_id, else don't (submit NULL). For handling stim vs. non-stim forms. $_SESSION['submit_stimulus_id'] ? $record_stimulus_id = $_SESSION['stimulus_id'] : $record_stimulus_id = NULL; fwrite($of,"stimulus id $record_stimulus_id\n"); //if response should be encrypted, set appropriate encryption text if($_SESSION['encrypted_response_table']) { $enc_key = subinfo_encryption_key(); $resp_submit = sprintf("aes_encrypt(%s,%s)",GetSQLValueString($response,"text"),GetSQLValueString($enc_key,"text")); } else { $resp_submit = sprintf("%s",GetSQLValueString($response,"text")); } if (preg_match("/^questid_([[:digit:]]+)_formquest_([[:digit:]]+)_iter_([[:digit:]]+)_subquest_([[:digit:]]+)_type_([[:digit:]]+)/",$key,$questnum)) { $questid = $questnum[1]; $formquestnum = $questnum[2]; $questiter = $questnum[3]; $subquest = $questnum[4]; $df_id = $questnum[5]; fwrite($of,"stim $stimid, qnum $questid, fqn $formquestnum, qiter $questiter, sq $subquest, dfid $df_id\n"); } else { fwrite($of,"malformed response string\n"); die("malformed response string: " . $key . "->" . $response . "
"); } //for //add this response as response_text to the query string $new_response_record = sprintf("(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)", GetSQLValueString($_SESSION['response_order'],"int"), GetSQLValueString(date("Y-m-d H:i:s"),"date"), $resp_submit, //response_text field GetSQLValueString("","text"), //response_enum field sent as NULL GetSQLValueString($questid,"int"), GetSQLValueString($formquestnum,"int"), GetSQLValueString($questiter,"int"), GetSQLValueString($subquest,"int"), GetSQLValueString($record_stimulus_id,"int"), GetSQLValueString($_SESSION['form_id'],"int"), GetSQLValueString($_SESSION['last_visited'],"int"), GetSQLValueString($_SESSION['session_id'],"int"), GetSQLValueString($_SESSION['subject_id'],"text"), GetSQLValueString($_SESSION['experiment_id'],"int")); fwrite($of,"resp record: $new_response_record\n"); if(empty($query_values)) { $query_values = $new_response_record; //print "\nnew response record: $new_response_record\n"; } else { $query_values = $query_values.",".$new_response_record; //print "concat: $query_values\n"; } } //for //submit all responses from the form in one query fwrite($of,"query values: " . sizeof($query_values) . "\n"); if(sizeof($query_values) > 0) { $query_insert_response = sprintf("INSERT INTO %s (response_order,date_time,response_text,response_enum,question_id,form_question_num,question_iteration,subquestion,stimulus_id,form_id,form_order,session_id,subject_id,experiment_id) ",$_SESSION['response_table']) . sprintf("VALUES ".preg_replace("/%/","%%",$query_values).";"); //print "\n\nquery: $query_insert_response\n\n"; mysql_select_db($database_subject,$subject); mysql_query($query_insert_response,$subject) or die(mysql_error()); //print "" . mysql_affected_rows() . " rows inserted
"; fwrite($of,mysql_affected_rows() . " inserted\n"); $_SESSION['response_order']++; } else { //print "no rows inserted
"; } include($questionnaire_dir."form_processing/update_session.php"); ?>