空表上的未定义索引
Undefined Index on Empty Form
此错误仅出现在启用了错误的本地开发系统上,否则编程工作正常,但我如何才能消除错误?
此代码段是从列名称半动态生成表单的代码的一部分,错误来自 addslashes($row[$val])
最初打开空表单时。用数据填充表单后,错误就消失了,但在此之前,每个字段都会在页面顶部给出错误。
// Build WHERE clause to prevent errors when loading page with no values
$Where = (isset($PostID)) ? "WHERE `ID`='$PostID'" : "";
// Open record for viewing
$sqlView = "SELECT * FROM $TableName $Where";
$row = DBConnect($sqlView, "Select", $siteDB);
// Attempt to eliminate Undefined Index errors
if (!is_array($row)) $row = [];
// Get array of column names from tableaddslashes($row[$val])
$FieldNames = ListColumns($TableName, $siteDB);
// Create variable variables from table column names and populate on post or from existing entry
foreach ($FieldNames as $val) :
$$val = (isset($_POST[$val])) ? safeData($_POST[$val]) : addslashes($row[$val]);
endforeach;
$FieldNames
,在这种情况下,包含:
Array
(
[0] => ID
[1] => PageTitle
[2] => MenuTitle
[3] => PageText
[4] => DateUpdated
[5] => ShowPage
)
实际错误是:
Notice: Undefined index: ID in /var/www/html/form.php on line 88
Notice: Undefined index: PageTitle in /var/www/html/form.php on line 88
Notice: Undefined index: MenuTitle in /var/www/html/form.php on line 88
Notice: Undefined index: PageText in /var/www/html/form.php on line 88
Notice: Undefined index: DateUpdated in /var/www/html/form.php on line 88
Notice: Undefined index: ShowPage in /var/www/html/form.php on line 88
您的 $row
是空数组:
$$val = (isset($_POST[$val])) ? safeData($_POST[$val])
: (isset($row[$val]) ? addslashes($row[$val]) : '');
此错误仅出现在启用了错误的本地开发系统上,否则编程工作正常,但我如何才能消除错误?
此代码段是从列名称半动态生成表单的代码的一部分,错误来自 addslashes($row[$val])
最初打开空表单时。用数据填充表单后,错误就消失了,但在此之前,每个字段都会在页面顶部给出错误。
// Build WHERE clause to prevent errors when loading page with no values
$Where = (isset($PostID)) ? "WHERE `ID`='$PostID'" : "";
// Open record for viewing
$sqlView = "SELECT * FROM $TableName $Where";
$row = DBConnect($sqlView, "Select", $siteDB);
// Attempt to eliminate Undefined Index errors
if (!is_array($row)) $row = [];
// Get array of column names from tableaddslashes($row[$val])
$FieldNames = ListColumns($TableName, $siteDB);
// Create variable variables from table column names and populate on post or from existing entry
foreach ($FieldNames as $val) :
$$val = (isset($_POST[$val])) ? safeData($_POST[$val]) : addslashes($row[$val]);
endforeach;
$FieldNames
,在这种情况下,包含:
Array
(
[0] => ID
[1] => PageTitle
[2] => MenuTitle
[3] => PageText
[4] => DateUpdated
[5] => ShowPage
)
实际错误是:
Notice: Undefined index: ID in /var/www/html/form.php on line 88
Notice: Undefined index: PageTitle in /var/www/html/form.php on line 88
Notice: Undefined index: MenuTitle in /var/www/html/form.php on line 88
Notice: Undefined index: PageText in /var/www/html/form.php on line 88
Notice: Undefined index: DateUpdated in /var/www/html/form.php on line 88
Notice: Undefined index: ShowPage in /var/www/html/form.php on line 88
您的 $row
是空数组:
$$val = (isset($_POST[$val])) ? safeData($_POST[$val])
: (isset($row[$val]) ? addslashes($row[$val]) : '');