无法修复代码中的"PHP Notice: Undefined variable"和"Undefined index"



我已经运行了一个Web应用程序了一段时间。该应用程序即使在多个PHP错误后也可以工作,但是每隔几周后,错误日志文件就会不断占据我的空间1 GB,迫使我手动删除它们。该错误位于faucet.php文件

我对PHP不熟悉,我已经尽一切可能解决此错误,甚至检查类似的问题,但没有一个事实证明是我问题的重点。

这是四个错误消息,并且全天不断重复。

Undefined variable
PHP Notice:  Undefined variable: refer_file in /home/countnet/public_html/faucet/network/mine/doge/faucet.php on **line 318**
PHP Notice:  Undefined variable: refer_file in /home/countnet/public_html/faucet/network/mine/doge/faucet.php on **line 393**
And Undefined index
PHP Notice:  Undefined index: status in /home/countnet/public_html/faucet/network/mine/doge/faucet.php on **line 604**
PHP Notice:  Undefined index: status in /home/countnet/public_html/faucet/network/mine/doge/faucet.php on **line 608**

**Line 318**     if (!$refer_file) {
**Line 393**     if (!$refer_file) { // the user was referred and the referral isn't saved 
**Line 604**     echo ''status': '' . htmlspecialchars($result['status'], ENT_QUOTES|ENT_SUBSTITUTE|ENT_DISALLOWED|ENT_HTML5) . '',';
**Line 608**
echo '<dl><dt>Status</dt><dd>' . htmlspecialchars($result['status'], ENT_QUOTES|ENT_SUBSTITUTE|ENT_DISALLOWED|ENT_HTML5) . '</dd><dt>Message</dt><dd>' . htmlspecialchars($result['message'], ENT_QUOTES|ENT_SUBSTITUTE|ENT_DISALLOWED|ENT_HTML5) . '</dd></dl>';

任何帮助都将不胜感激,即使存在这些错误,该应用程序也可以正常工作,但是随着交通的增长,它们现在正在成为一场噩梦。

您需要使用isset((或eatper((检查变量或数组索引是否定义。

行318和393可以更改为

if (!empty($refer_file)) {

第604行和608添加以下内容604之前:

$result['status'] = isset($result['status']) ? $result['status'] : 'default_status';
$result['message'] = isset($result['message']) ? $result['message'] : 'default_message';

使用isset检查数组的变量/索引是否存在。

if (isset($refer_file)) {
    if (!$refer_file) { // the user was referred and the referral isn't saved 
    if(isset($result['status']) && isset($result['message'])){
        echo ''status': '' . htmlspecialchars($result['status'], ENT_QUOTES|ENT_SUBSTITUTE|ENT_DISALLOWED|ENT_HTML5) . '',';}
        echo '<dl><dt>Status</dt><dd>' . htmlspecialchars($result['status'], ENT_QUOTES|ENT_SUBSTITUTE|ENT_DISALLOWED|ENT_HTML5) . '</dd><dt>Message</dt><dd>' . htmlspecialchars($result['message'], ENT_QUOTES|ENT_SUBSTITUTE|ENT_DISALLOWED|ENT_HTML5) . '</dd></dl>';
    }

相关内容

最新更新