0

カスタム CMS の一部のコードを継承しましたが、これは私のリーグから少し外れており、同じエラーに遭遇し続けています。 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 プラットフォームでは、呼び出し階層が不明な場合に WinCacheGrind で xdebug を使用して呼び出しをトレースします。Linux では、セットアップは似ています (xdebug、kcachegrind...)。

于 2008-10-01T09:19:33.743 に答える
1

次のようにアットマークを使用することもできます。

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

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

警告を抑制しますが、アットマークを使用するのに最適な時期は、他の方法では実行できない警告を回避することであると主張する人もいます。

于 2008-10-01T19:53:11.910 に答える
1

通知は関係ありませんが、このコードは何も作成しません。これは、送信先のページで発生します。最初の数行の if ステートメントを見てください。URL に task=edit を指定して呼び出す必要があると思います。

于 2008-10-01T09:16:43.407 に答える
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 に答える