I have a form which has a intermediary handler on it to prevent 'page expired'
messages. I have other examples working after queries on this forum but now anew problem has occured since my initial query was resolved.
Here is my form:
<?php
include("include/session.php");
include("connect.php");
// query
$sql = "SELECT * FROM qualityuser WHERE username = '".$username."'";
$result = mysql_query($sql);
// if we have rows, fetch them
if(mysql_num_rows($result) > 0) {
$row = mysql_fetch_array($result);
} else {
$row = array('time'=>'','demand'=>'','external_support'=>'','training'=>'','complexity'=>'','depth'=>'','partuse'=>''
,'cost'=>'' ,'orgwhole'=>'','external_validated'=>'');
}
?>
<select name="time">
<?php
$values = array('Flexible', '12 months +', '0-12 months');
foreach($values as $val)
{
printf("<option%s>$val</option>\n", ($val == $row['time']) ? " selected" : "");
}
?>
</select>
</div></td>
<td> </td>
<td> </td>
<td width="158"> </td>
</tr>
<tr>
<td height="28"> </td>
<td>Demand on staff </td>
<td colspan="2" valign="top"><select name="demand" id="demand">
<?php
$values = array('Low', 'Medium', 'High');
foreach($values as $val)
{
printf("<option%s>$val</option>\n", ($val == $row['demand']) ? " selected" : "");
}
?>
</select></td>
//////etc
and the intermediary formhandler (condensed as there is over 600 lines)
<?php
include("include/session.php");
include("connect.php");
if (isset($_POST['submit'])) {
//array to hold form errors
$form_error = array();
//validate your form data
if(!isset($_POST['time'])){
$form_error[] = "Time not selected";
}
if(!isset($_POST['demand'])){
$form_error[] = "Demand not selected";
}
if(count($form_error) > 0){
//hold the error in session so you can display the error in your form page.
$_SESSION['form_error'] = $form_error;
//redirect to the form
header("Location: http://www.mindseyemidlands.co.uk/notts_quality/info_resource/selfassess_page2a_v1.php");
} else {
$username = $_SESSION['username'];
if (isset($_POST['submit'])) {
$answer = array();
$answer[1] = $_REQUEST['time'];
$answer[2] = $_REQUEST['demand'];
$answer[3] = $_REQUEST['external_support'];
$answer[4] = $_REQUEST['training'];
$answer[5] = $_REQUEST['depth'];
$answer[6] = $_REQUEST['partuse'];
$answer[7] = $_REQUEST['cost'];
$answer[8] = $_REQUEST['orgwhole'];
$answer[9] = $_REQUEST['external_validated'];
function pqasso($answer)
{
//time needed
if ($answer[1] == "Flexible") {$pqasso_score = $pqasso_score + 1000;}
if ($answer[1] == "0-12 months") {$pqasso_score = $pqasso_score - 0;}
if ($answer[1] == "12 + months") {$pqasso_score = $pqasso_score - 0;}
//demand on staff time
if ($answer[2] == "Low") {$pqasso_score = $pqasso_score - 0;}
if ($answer[2] == "Medium") {$pqasso_score = $pqasso_score + 1000;}
if ($answer[2] == "High") {$pqasso_score = $pqasso_score - 0;}
//need for external support
if ($answer[3] == "Self assessment") {$pqasso_score = $pqasso_score + 1000;}
if ($answer[3] == "Guidance") {$pqasso_score = $pqasso_score - 0;}
if ($answer[3] == "None required") {$pqasso_score = $pqasso_score - 0;}
/// level of training
if ($answer[4] == "Low") {$pqasso_score = $pqasso_score + 1000;}
if ($answer[4] == "Medium") {$pqasso_score = $pqasso_score - 0;}
if ($answer[4] == "High") {$pqasso_score = $pqasso_score - 0;}
// complexity
if ($answer[5] == "Low") {$pqasso_score = $pqasso_score + 1000;}
if ($answer[5] == "Medium") {$pqasso_score = $pqasso_score - 0;}
if ($answer[5] == "High") {$pqasso_score = $pqasso_score - 0;}
if ($answer[5] == "Flexible") {$pqasso_score = $pqasso_score - 0;}
//relevance to voluntary sector
if ($answer[6] == "Low") {$pqasso_score = $pqasso_score - 0;}
if ($answer[6] == "Medium") {$pqasso_score = $pqasso_score + 500;}
if ($answer[6] == "High") {$pqasso_score = $pqasso_score + 1000;}
//facility for part use
if ($answer[6] == "Yes") {$pqasso_score = $pqasso_score + 1000;}
if ($answer[6] == "Not when accredited") {$pqasso_score = $pqasso_score - 0;}
if ($answer[6] == "No") {$pqasso_score = $pqasso_score - 0;}
// cost
if ($answer[7] == "Low") {$pqasso_score = $pqasso_score + 1000;}
if ($answer[7] == "Medium") {$pqasso_score = $pqasso_score - 0;}
if ($answer[7] == "High") {$pqasso_score = $pqasso_score - 0;}
//looks at organisation as whole
if ($answer[8] == "Yes") {$pqasso_score = $pqasso_score + 1000;}
if ($answer[8] == "No") {$pqasso_score = $pqasso_score - 0;}
//is externally validated
if ($answer[9] == "Yes") {$pqasso_score = $pqasso_score - 0;}
if ($answer[9] == "No") {$pqasso_score = $pqasso_score + 1000;}
return $pqasso_score;}
////iip rules
function iip($answer)
{
//time needed
if ($answer[1] == "Flexible") {$iip_score = $iip_score + 0;}
if ($answer[1] == "0-12 months") {$iip_score = $iip_score - 0;}
if ($answer[1] == "12 + months") {$iip_score = $iip_score + 1000;}
//demand on staff time
if ($answer[2] == "Low") {$iip_score = $iip_score - 0;}
if ($answer[2] == "Medium") {$iip_score = $iip_score + 1000;}
if ($answer[2] == "High") {$iip_score = $iip_score - 0;}
//need for external support
if ($answer[3] == "Self assessment") {$iip_score = $iip_score + 0;}
if ($answer[3] == "Guidance") {$iip_score = $iip_score + 1000;}
if ($answer[3] == "None required") {$iip_score = $iip_score - 0;}
/// level of training
if ($answer[4] == "Low") {$iip_score = $iip_score + 0;}
if ($answer[4] == "Medium") {$iip_score = $iip_score + 1000;}
if ($answer[4] == "High") {$iip_score = $iip_score - 0;}
// complexity
if ($answer[5] == "Low") {$iip_score = $iip_score + 1000;}
if ($answer[5] == "Medium") {$iip_score = $iip_score - 0;}
if ($answer[5] == "High") {$iip_score = $iip_score - 0;}
if ($answer[5] == "Flexible") {$iip_score = $iip_score - 0;}
//relevance to voluntary sector
if ($answer[6] == "Low") {$iip_score = $iip_score - 0;}
if ($answer[6] == "Medium") {$iip_score = $iip_score + 1000;}
if ($answer[6] == "High") {$iip_score = $iip_score - 0;}
//facility for part use
if ($answer[6] == "Yes") {$iip_score = $iip_score + 0;}
if ($answer[6] == "Not when accredited") {$iip_score = $iip_score + 1000;}
if ($answer[6] == "No") {$iip_score = $iip_score - 0;}
// cost
if ($answer[7] == "Low") {$iip_score = $iip_score + 0;}
if ($answer[7] == "Medium") {$iip_score = $iip_score + 1000;}
if ($answer[7] == "High") {$iip_score = $iip_score - 0;}
//looks at organisation as whole
if ($answer[8] == "Yes") {$iip_score = $iip_score + 0;}
if ($answer[8] == "No") {$iip_score = $iip_score + 1000;}
//is externally validated
if ($answer[9] == "Yes") {$iip_score = $iip_score + 1000;}
if ($answer[9] == "No") {$iip_score = $iip_score - 1000;}
return $iip_score;}
// Store the result of the function in a variable
$pqasso_result = pqasso($answer);
$iip_result = iip($answer);
if (isset($_POST['submit'])) {
include "connect.php";
$username = $_SESSION['username'];
$scorearray[1] = $pqasso_result;
$scorearray[2] = $iip_result;
$qualitysystem[1] = "PQASSO";
$qualitysystem[2] = "Investors in People";
$searchurl[1] = "http://www.mindseyemidlands.co.uk/notts_quality/info_resource/qualitysystem_complete_details.php?quality_name=PQASSO";
$searchurl[2] = "http://www.mindseyemidlands.co.uk/notts_quality/info_resource/qualitysystem_complete_details.php?quality_name=IIP+(Investors+in+People)";
$values = array();
foreach($scorearray as $key => $score)
{
// each element will be a parenthesized list of values:
$values[] = sprintf("('%s','%s',%d,'%s')", $username, $qualitysystem[$key], $score, $searchurl[$key]);
}
// merge values into sequence of comma-separated value lists:
$valueList = implode(',', $values);
// create the SQL:
$sql = "INSERT INTO `qualityuserscores` (`username`, `qualitysystem`, `score`, `search_url`) VALUES $valueList";
$result = mysql_query($sql) or exit(mysql_error());
}
}
}
}
header("Location: http://www.mindseyemidlands.co.uk/notts_quality/info_resource/selfassess_page2b_v1.php");
?>
and par 2 of the form that echoes results
<?php
include ("connect.php");
$sql1 = "SELECT * FROM qualityuserscores WHERE username = '$username' AND timeentered = NOW() ORDER BY score DESC";
$result1 = mysql_query($sql1) or die(mysql_error());
if (mysql_num_rows($result1) > 0) {
while ($row = mysql_fetch_assoc($result1)) {
echo '
<TABLE BORDER=1 CELLPADDING=2>
<TR> <TH COLSPAN=2 BGCOLOR="#99CCFF"></TH> </TR>
<TR> <TD WIDTH=400><a href="' . $row['search_url'] . '">' . $row['qualitysystem'] . '</a></TD> <TD WIDTH=250>' . $row['score'] . '</TD> </TR>
</TR>
</TABLE>';
}
?>
the error message is
Notice: Undefined variable: pqasso_score in /disk1/home3/mindseye/public_html/notts_quality/info_resource/selfassess_part2_intermediary.php on line 44
Notice: Undefined variable: iip_score in /disk1/home3/mindseye/public_html/notts_quality/info_resource/selfassess_part2_intermediary.php on line 102
i do not know why though as when I have the traditional form part1 and subsequent formhandler it works fine. Can anyone see where im going wrong?