kostenloser Webspace werbefrei: lima-city


Fehlermeldung undefined Index

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    htbib

    htbib hat kostenlosen Webspace.

    Hallo zusammen,

    auf meiner lokalen Testumgebung bekomme ich seit dem neusten XAMPP-Update oft Fehlermeldungen à la

    Notice: Undefined index: XXXX in C:\xampp\htdocs\XXX on line 21


    Wie kann ich diese einfach ausblenden?

    Die Anwendungen zu aktualisieren und immer zu prüfen, ob die Variablen schon gesetzt sind, würde zu lange dauern...

    Vielen Dank!
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. s***k

    Das hat eher mit dem von Dir verwendetem Code zu tun.


    The error message is caused by the fact that you never check that $_GET['page'] exists before attempting to use it. You should never reference external data without first verifying that it exists with a function such as isset() or empty().


    Benutzt Du denn in Deinem PHP Code sowas ähnliches?

    $_GET['irgendwas'] $_POST['irgendwas']


    Ich vermute das der Fehler in der Variablendeklaration liegt. Kannst Du nicht mal ein bisschen mehr Quälcode posten?

    Beitrag zuletzt geändert: 14.2.2012 16:18:37 von siwek
  4. Mit

    ini_set('display_errors','off');

    blendest du alle fehler aus...

    Musst du nur am Anfang der Datei einfügen, am einfachsten ist es in die Datei die alle anderen Included.

    Beitrag zuletzt geändert: 14.2.2012 16:18:27 von dexus85
  5. Die Fehlermeldung besagt, dass du auf einen Index (meist den Index eines Arrays) zugreifen möchtest, den es aber nicht gibt.

    Hast du beispielsweise folgenden Array:
    $array = array(
      1 => 'foo',
      2 => 'bar',
    );


    Und versuchst diesen Code auszuführen:
    echo $array['gibts_nicht'];


    So bekommst du eine solche Meldung.

    Du kannst natürlich über die Einstellung vom Error-Reporting in PHP unterdrücken, dass es zu solchen Fehlermeldungen kommt. In einer Live-Anwendung solltest du sowieso sämtliche Fehlermeldungen deaktivieren:

    error_reporting(0);


    In der Entwicklung solltest du dir die Meldungen aber anzeigen lassen. Gerade solche Notices wie die von dir erwähnte machen das Entwickler-Leben oft massiv einfacher und ermöglichen eine gute Fehlerdiagnose. Um Notices generell zu deaktivieren, aber andere Fehler-Meldungen zuzulassen:

    error_reporting(E_ALL ^ E_NOTICE);
  6. htbib schrieb:
    Die Anwendungen zu aktualisieren und immer zu prüfen, ob die Variablen schon gesetzt sind, würde zu lange dauern...


    das ist aber der einzige sinnvolle Weg

    if ( !isset($_GET['deinidex']) ) { 
    $_GET['deinidex'] = '';  // --- Leerstring oder false oder null 
    }


    dann kannst Du später im Code mit $_GET['deinidex'] arbeiten,
    ... ist halt dann "leer" aber eben "definiert" somit kein Notice: Undefined index

  7. Autor dieses Themas

    htbib

    htbib hat kostenlosen Webspace.

    Alles klar. Wie es richtig geht, weiß ich, ich habe nur keine Zeit die selten genutzten lokalen Anwendungen in der Hinsicht umzuschreiben. Vielen Dank, das mit dem Ausblenden der Fehlermeldungen hat geklappt!
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!