0

我继承了一些自定义 CMS 的代码,这有点超出我的范围,并且一直在遇到同样的错误,注意:未定义变量:/Applications/MAMP/htdocs/Chapman/Chapman_cms/admin/team-2.php 中的媒体在第 48 行。这应该是创建新用户和编辑旧用户。但是,当我尝试添加新用户时它不起作用。

以下是相关代码:

$db = new database("mysql",$dbHost,$dbName,$dbUser,$dbPass);
$target = 'add';
if ($_GET['task'] == 'edit') {
$media = $db->get_row(edit_media_item($db, $_GET['team_id']));
$target = 'update';

<p><label for="copy">Full Name:</label>
    <input type="text" name="title" value="<?=$media['title']?>" />
    <textarea name="media" id="media" cols="30" rows="5" style="width: 100%"><?=$media['copy']?></textarea></p>
    <input type="hidden" name="process" value="<?=$target.",copy,4,team-1,".$media['id'].""?>">
    <p><input type="submit" name="save" value="Submit" />
    <input type="reset" name="reset" value="Reset" /></p>
    </form>

任何帮助将非常感激。

4

6 回答 6

6

以正确的方式删除通知是使用代码执行此操作

<?php if(isset($media['copy'])){ echo $media['copy']; } ?>
于 2008-10-01T09:53:53.630 回答
2

可能很难像这样帮助你,但是,我会看到这个 $db->get_row() 调用去哪里以及它返回什么(使用 var_dump() 或其他东西......)

作为一般提示,我建议在您的系统中设置调试器,以便您可以跟踪调用。在 Windows 平台上,当我不确定调用层次结构时,我使用 xdebug 和 WinCacheGrind 来跟踪调用。在 Linux 上,设置类似(xdebug、kcachegrind...)。

于 2008-10-01T09:19:33.743 回答
1

该通知无关紧要,但此代码不会创建任何内容。这发生在它提交到的页面上。查看前几行的 if 语句。我猜你需要在 URL 中使用 task=edit 来调用它。

于 2008-10-01T09:16:43.407 回答
1

you can also use the at symbol like this:

if($_GET['undefined_key']) {
    // blah...
}

if(@$_GET['undefined_key']) {
    // blah...
}

it suppresses warnings, however some will argue that the best time to use the at symbol is to avoid warnings you couldn't do otherwise.

于 2008-10-01T19:53:11.910 回答
0

您发布的代码没有进行任何创建,因此该问题并非源于这段代码。

未定义的通知来自<?=$media['copy']?>位。$media 从未被定义。如果这不是问题,忽略它并告诉 PHP 不要输出通知。这不是一个好的做法,但如果你没有得到报酬来解决每一件小事,我会说这是一个可行的选择。

要禁止通知,请在通知发生之前的任何位置添加此代码,或者更好地添加到全局包括:

error_reporting(E_ERROR | E_WARNING | E_PARSE);

欲了解更多信息:http ://www.php.net/error_reporting

于 2008-10-01T09:41:38.167 回答
0

该错误消息不是来自此代码。

$media在您提供的代码的第 6 行中分配 ( $media = $db->get_row(..))。我猜你要么已经删除了相关代码(这是第 48 行,给予/接受),要么是错误的文件(这是来自/Applications/MAMP/htdocs/Chapman/Chapman_cms/admin/team-2.php?)。

于 2008-10-02T08:09:04.933 回答