data assist multiple deletes script leaving ?> when re-entered a second time ...
Hey guys,
I've noticed a bug when re-entering delete multiple records server behavior
the script will give you this the first time out:
<?php
// WA DataAssist Multiple Deletes
if (isset($_POST["Delete"]) || isset($_POST["Delete_x"])) // Trigger
{
if (!session_id()) session_start();
$WA_loopedIDField = array("WADA_RepeatID_id");
$WA_loopedField = array("WADA_RepeatID_id");
$WA_connection = $conn_studiogear_mgr;
$WA_table = "sg_music_recital";
$WA_redirectURL = "?id=".((isset($_POST["WADADeleteRecordID"]))?$_POST["WADADeleteRecordID"]:"") ."";
if (function_exists("rel2abs")) $WA_redirectURL = $WA_redirectURL?rel2abs($WA_redirectURL,dirname(__FILE__)):"";
$WA_keepQueryString = false;
$WA_indexField = "recital_id";
$WA_columnTypesStr = "none,none,NULL";
$WA_fieldNames = explode("|", $WA_indexField);
$WA_columns = explode("|", $WA_columnTypesStr);
$WA_comparisions = array("=");
$WA_connectionDB = $database_conn_studiogear_mgr;
$WA_multipleDeleteCounter = 0;
mysql_select_db($WA_connectionDB, $WA_connection);
while (WA_AB_checkLoopedFieldsNotBlank($WA_loopedIDField, $WA_multipleDeleteCounter)) {
if (WA_AB_getLoopedFieldValue($WA_loopedIDField[0], $WA_multipleDeleteCounter) == WA_AB_getLoopedFieldValue($WA_loopedField[0], $WA_multipleDeleteCounter)) {
$WA_fieldValuesStr = WA_AB_getLoopedFieldValue($WA_loopedIDField[0], $WA_multipleDeleteCounter);
$WA_fieldValues = array($WA_fieldValuesStr);
$deleteParamsObj = WA_AB_generateWhereClause($WA_fieldNames, $WA_columns, $WA_fieldValues, $WA_comparisions);
$WA_Sql = "DELETE FROM `" . $WA_table . "` WHERE " . $deleteParamsObj->sqlWhereClause;
$MM_editCmd = mysql_query($WA_Sql, $WA_connection) or die(mysql_error());
}
$WA_multipleDeleteCounter++;
}
if ($WA_redirectURL != "") {
if ($WA_keepQueryString && $WA_redirectURL != "" && isset($_SERVER["QUERY_STRING"]) && $_SERVER["QUERY_STRING"] !== "" && sizeof($_POST) > 0) {
$WA_redirectURL .= ((strpos($WA_redirectURL, '?') === false)?"?":"&").$_SERVER["QUERY_STRING"];
}
header("Location: ".$WA_redirectURL);
}
}
?>
BUT then if re-entering the behavior, this is written to the page:
<?php
// WA DataAssist Multiple Deletes
if (isset($_POST["Delete"]) || isset($_POST["Delete_x"])) // Trigger
{
if (!session_id()) session_start();
$WA_loopedIDField = array("WADA_RepeatID_id");
$WA_loopedField = array("WADA_RepeatID_id");
$WA_connection = $conn_studiogear_mgr;
$WA_table = "sg_music_recital";
$WA_redirectURL = "?id=".((isset($_POST["WADADeleteRecordID"]))?$_POST["WADADeleteRecordID"]:"") ."";
if (function_exists("rel2abs")) $WA_redirectURL = $WA_redirectURL?rel2abs($WA_redirectURL,dirname(__FILE__)):"";
$WA_keepQueryString = false;
$WA_indexField = "recital_id";
$WA_columnTypesStr = "none,none,NULL";
$WA_fieldNames = explode("|", $WA_indexField);
$WA_columns = explode("|", $WA_columnTypesStr);
$WA_comparisions = array("=");
$WA_connectionDB = $database_conn_studiogear_mgr;
$WA_multipleDeleteCounter = 0;
mysql_select_db($WA_connectionDB, $WA_connection);
while (WA_AB_checkLoopedFieldsNotBlank($WA_loopedIDField, $WA_multipleDeleteCounter)) {
if (WA_AB_getLoopedFieldValue($WA_loopedIDField[0], $WA_multipleDeleteCounter) == WA_AB_getLoopedFieldValue($WA_loopedField[0], $WA_multipleDeleteCounter)) {
$WA_fieldValuesStr = WA_AB_getLoopedFieldValue($WA_loopedIDField[0], $WA_multipleDeleteCounter);
$WA_fieldValues = array($WA_fieldValuesStr);
$deleteParamsObj = WA_AB_generateWhereClause($WA_fieldNames, $WA_columns, $WA_fieldValues, $WA_comparisions);
$WA_Sql = "DELETE FROM `" . $WA_table . "` WHERE " . $deleteParamsObj->sqlWhereClause;
$MM_editCmd = mysql_query($WA_Sql, $WA_connection) or die(mysql_error());
}
$WA_multipleDeleteCounter++;
}
if ($WA_redirectURL != "") {
if ($WA_keepQueryString && $WA_redirectURL != "" && isset($_SERVER["QUERY_STRING"]) && $_SERVER["QUERY_STRING"] !== "" && sizeof($_POST) > 0) {
$WA_redirectURL .= ((strpos($WA_redirectURL, '?') === false)?"?":"&").$_SERVER["QUERY_STRING"];
}
header("Location: ".$WA_redirectURL);
}
}
?>
?>
?>
?>
?>
?>
the trailing ?> is extra and will show on the page at the top, if you go in and out many times... the ?> will repeat every time!
Tony