PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fehlermeldung wenn nicht vorhandeler Parameter gelesen werden soll


sfmike
18.06.2004, 11:00:31
Hallo,

bin neu hier und hab da wahrscheinlich nur ein kleines Problem.

Wenn ich versuche einen nicht vorhandenen Parameter mit GET audzulesen bekomme ich eine Fehlermeldung. Ich kann nicht immer sicherstellen kann das der Parameter 'lng' vorhanden ist.


$lng = $_GET["lng"];
if ($lng == "") $lng = "en";

Danke,
sfmike

SK85
18.06.2004, 11:06:29
versuchs doch einfach mal mit echo $_GET["lng"]

sfmike
18.06.2004, 11:15:34
Ne geht nicht.

Das ist die Meldung:
Notice: Undefined index: lng in c:inetpubwwwrootpaperlightscripthtml_top.inc on line 4

Das Problem ist auch erst seit mein Testserver unter Win2003 läuft.

feuervogel
18.06.2004, 11:23:55
dann liegt es daran, dass das error-reporting des php auf höchster stufe steht...bei mir in der php-ini steht folgendes:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Error handling and logging ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; error_reporting is a bit-field. Or each number up to get desired error
; reporting level
; E_ALL - All errors and warnings
; E_ERROR - fatal run-time errors
; E_WARNING - run-time warnings (non-fatal errors)
; E_PARSE - compile-time parse errors
; E_NOTICE - run-time notices (these are warnings which often result
; from a bug in your code, but it's possible that it was
; intentional (e.g., using an uninitialized variable and
; relying on the fact it's automatically initialized to an
; empty string)
; E_CORE_ERROR - fatal errors that occur during PHP's initial startup
; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's
; initial startup
; E_COMPILE_ERROR - fatal compile-time errors
; E_COMPILE_WARNING - compile-time warnings (non-fatal errors)
; E_USER_ERROR - user-generated error message
; E_USER_WARNING - user-generated warning message
; E_USER_NOTICE - user-generated notice message
;
; Examples:
;
; - Show all errors, except for notices
;
;error_reporting = E_ALL & ~E_NOTICE
;
; - Show only errors
;
;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR
;
; - Show all errors except for notices
;
error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR

allerdings benutze ich den apache...ich weiß nicht, ob das mit dem IIS (hast du den?) auch so geht.

zweitens...seit wann gibt es ein win2003? davon hab ich ja noch nie gehört?!?

sfmike
18.06.2004, 11:29:39
ich meinte win2003server, ist aber nur win2000server mit IIS5. ok dann verglaich ich mal die inis

Danke.

bazubi
18.06.2004, 11:37:12
Das Errorreporting auf E_ALL (also alle Meldungen ausspucken die es nur gibt) ist immer eine gute (!) Idee, denn so programmiert man sauberer. Um das Problem aus dem Ursprungspost zu lösen:


if (isset($_GET['lng'])) {
$lng = $_GET['lng'];
} else {
$lng = 'en';
}

sfmike
18.06.2004, 11:52:21
Ja, denk ich auch das es besser ist alles anzuzeigen.

Danke für die Lösung ;)