With error_reporting(E_ALL)
;去掉,我的腳本工作正常,但是當我取消它,會出現如下通知:注意:未定義變量
注意:未定義的變量:消息在/home/www/test/register/html/form_1.html.php第11行
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 -->
第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;
}
}
我添加了if條件來檢查它是否爲空,因爲有時我會傳遞一個空數組。
這是這三個文件的一小部分,它應該是一個登記表:
- 的index.php
- output.php
- form_1.html.php
此處全部(http://pastie.org/1062886)
索引文件檢查用戶是否填寫了值並驗證它們,但是如果它們沒有在相應的錯誤數組中放置錯誤,則顯示錯誤函數應該顯示它們,如果數組中有值傳遞給它。
我敢打賭,解決方案是非常基本的,但我是一個noob,它使我拉我的頭髮。
Just FYI - '!empty($ something)'意味着'isset($ something)'。 http://php.net/empty – gnarf 2010-07-27 22:03:42