随着error_reporting(E_ALL); 删除,我的脚本工作正常,但是当我取消注释它时,会出现以下通知:
注意:未定义的变量:第11行/home/www/test/register/html/form_1.html.php中的消息
form_1.html.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta name="generator" content=
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
<title>Sign in or Register</title>
</head>
<body>
<p><?php displayMessages($messages) ?></p><!-- line 11 -->
Run Code Online (Sandbox Code Playgroud)
在第11行有一个函数调用,它基本上遍历一个数组参数:
function displayMessages($array)
{
if (!empty($array) && isset($array))
{
foreach ($array as $number => $error)
{
echo '<font size="3" color="#990000">' . "* $error" . "</font></br>";
}
}
elseif (empty($array) || !isset($array) )
{
echo "";
}
elseif (empty($array) || !isset($array))
{
$array = array();
$array = null;
}
}
Run Code Online (Sandbox Code Playgroud)
我添加了if条件来检查它是否为空,因为有时我会传递一个空数组.
这是这三个文件的一小部分,它应该是一个注册表格:
全部在这里找到(http://pastie.org/1062886)
索引文件检查用户是否已填写值并验证它们,但是如果它们没有在相应的错误数组中放置错误,则显示错误函数应该显示它们如果有值数组传递给它.
我打赌解决方案非常基本,但我是一个菜鸟,它让我把头发拉出来.
<p><?php displayMessages($messages) ?></p>
Run Code Online (Sandbox Code Playgroud)
那个变量在那个时间点不存在.
<p><?php if(isset($messages)) displayMessages($messages); ?></p>
Run Code Online (Sandbox Code Playgroud)
isset稍后在函数中调用将无法解决这个问题:您的参数已经设置为null(因为$ messages不存在),并且$array肯定作为函数参数存在.
| 归档时间: |
|
| 查看次数: |
6186 次 |
| 最近记录: |