Senshi86
Erfahrenes Mitglied
N'abend zusammen
Vorweg - ja ich weiß was das für ein Fehler ist, woher er kommt und wie ich ihn beheben kann.
Mir geht es momentan um eine elegante Lösung der ganzen Geschichte, bei der ich eigentlich nur zwei Möglichkeiten habe:
a) ignorieren und error reporting rauf setzen
b) wirklich was gegen tun
Punkt a) ist einfach aber eigentlich will ich mir schon nen guten Programmierstil angewöhnen, und dazu gehört eigentlich nicht Variablen abzurufen die nicht existieren, auch wenn PHP da sehr freizügig ist hat es wohl durchaus recht mit der Meldung.
Nun, eine anständige Lösung dafür zu finden bereitet mir momentan ein paar Kopfschmerzen, daher wollte ich mir ein paar Ideen dazu einholen.
Mit isset() kann ich zwar prüfen ob die Variable gesetzt ist, fehlt aber die Hälfte der Prüfungen drin die ich bräuchte. Ergebnis: Ich müsste mit isset() prüfen, wenn vorhanden die Variable bearbeiten (Leerzeichen entfernen, etc.) und dann wieder prüfen ob sie gefüllt ist, da sie ja nur Leerzeichen enthalten haben könnte.
Dann bin ich über empty() gestolpert. Dachte ich mir erst gut und schön, klingt doch mal super. Angefangen das zu übernehmen und mittendrin auf den Gedanken gekommen, was denn eigentlich mit Leerzeichen passiert. Ergebnis, Leerzeichen werden als nicht leer angenommen. Um dem Ganzen noch eins oben drauf zu setzen interpretiert es auch eine numerische oder alphanumerische 0 als leer. Passt also auch nicht.
Gut, hab ich mir gedacht, schau ich mal auf die php Seite bei empty() ob die da irgendwelche interessanten Lösungswege für haben. Haben sich welche das empty in ne eigene Funktion eingebettet und da zusätzliche Abfragen eingefügt. Hab ich dann mal prompt so übernommen. Problem nun: Bei der Übergabe der zu prüfenden Variablen bekomme ich jetzt wieder die gleiche Undefined index Nachricht wie vorher auch ...
Nun die große Quizfrage, gibt es eine Möglichkeit, eine Variable ohne den Undefined index Fehler an eine Funktion zu übergeben, die dann prüft ob die Variable gesetzt ist oder nicht?
Ich denke mir mal dafür muss es doch einen praxistauglichen Weg geben, ohne PHP Meldungen zu ignorieren aber auch ohne eine Variable doppelt und dreifach überprüfen zu müssen, was insbesondere bei vielen Eingabewerten etwas viel Code produzieren kann ...
Danke und Gruß
Marcel
Vorweg - ja ich weiß was das für ein Fehler ist, woher er kommt und wie ich ihn beheben kann.
Mir geht es momentan um eine elegante Lösung der ganzen Geschichte, bei der ich eigentlich nur zwei Möglichkeiten habe:
a) ignorieren und error reporting rauf setzen
b) wirklich was gegen tun
Punkt a) ist einfach aber eigentlich will ich mir schon nen guten Programmierstil angewöhnen, und dazu gehört eigentlich nicht Variablen abzurufen die nicht existieren, auch wenn PHP da sehr freizügig ist hat es wohl durchaus recht mit der Meldung.
Nun, eine anständige Lösung dafür zu finden bereitet mir momentan ein paar Kopfschmerzen, daher wollte ich mir ein paar Ideen dazu einholen.
Mit isset() kann ich zwar prüfen ob die Variable gesetzt ist, fehlt aber die Hälfte der Prüfungen drin die ich bräuchte. Ergebnis: Ich müsste mit isset() prüfen, wenn vorhanden die Variable bearbeiten (Leerzeichen entfernen, etc.) und dann wieder prüfen ob sie gefüllt ist, da sie ja nur Leerzeichen enthalten haben könnte.
Dann bin ich über empty() gestolpert. Dachte ich mir erst gut und schön, klingt doch mal super. Angefangen das zu übernehmen und mittendrin auf den Gedanken gekommen, was denn eigentlich mit Leerzeichen passiert. Ergebnis, Leerzeichen werden als nicht leer angenommen. Um dem Ganzen noch eins oben drauf zu setzen interpretiert es auch eine numerische oder alphanumerische 0 als leer. Passt also auch nicht.
Gut, hab ich mir gedacht, schau ich mal auf die php Seite bei empty() ob die da irgendwelche interessanten Lösungswege für haben. Haben sich welche das empty in ne eigene Funktion eingebettet und da zusätzliche Abfragen eingefügt. Hab ich dann mal prompt so übernommen. Problem nun: Bei der Übergabe der zu prüfenden Variablen bekomme ich jetzt wieder die gleiche Undefined index Nachricht wie vorher auch ...
Nun die große Quizfrage, gibt es eine Möglichkeit, eine Variable ohne den Undefined index Fehler an eine Funktion zu übergeben, die dann prüft ob die Variable gesetzt ist oder nicht?
Ich denke mir mal dafür muss es doch einen praxistauglichen Weg geben, ohne PHP Meldungen zu ignorieren aber auch ohne eine Variable doppelt und dreifach überprüfen zu müssen, was insbesondere bei vielen Eingabewerten etwas viel Code produzieren kann ...
Danke und Gruß
Marcel