Fehlermeldungen allgemein unterdrücken

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Fehlermeldungen allgemein unterdrücken

    Hi Leute,

    ich habe ein PHP-Projekt auf Apache entwickelt. Das funkt zwar auch auf IIS fehlerfrei, nur gibt er mir bei manchen Befehlen einfach eine Fehlermeldung aus, wie z.B. "Undefined Variable", obwohl genau das einen Zweck hat, dass diese Variable leer bleibt.

    Kann ich diese Fehlermeldungen irgendwie unterdrücken? Ich weiß, dass ein "@" das kann, aber geht das vielleicht auch globaler? Ich möchte nicht alle meine Files durchsuchen...

    Tnx 4 Help!

    MfG Lukas

  • #2
    in der php.ini die warnings ausschalten.

    aber warum prüfst du nicht mit isset() ab, ob eine var existiert. das ist sogar sauberer.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      set_error_reporting(0);
      TBT

      Die zwei wichtigsten Regeln für eine berufliche Karriere:
      1. Verrate niemals alles was du weißt!


      PHP 2 AllPatrizier II Browsergame

      Kommentar


      • #4
        es geht um folgendes:

        Ich habe einige Formularfelder. Davon sind ein paar Felder optional. Wenn ich nun in der Eintragsdatei die Eingaben abfrage, bzw. diese verwenden möchte, bekomme ich den Fehler "Undefined Variable".

        Ist das unter "assert.warning"?

        MfG Lukas

        Kommentar


        • #5
          unter ERROR_REPORTING müsstest du das finden.

          aber ...
          PHP-Code:
          if (isset($_POST["name"]) && trim($_POST["name"])!="") .... 
          ... ist meiner meinung nach die sauberste lösung
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            Original geschrieben von Abraxax
            php]if (isset($_POST["name"]) && trim($_POST["name"])!="") ....[/php]... ist meiner meinung nach die sauberste lösung
            was ist dieses "trim"?

            MfG Lukas

            Kommentar


            • #7
              die php.ini oder ähnliches zu verändern is suboptimal imho, da du das ja wahrscheinlich auch irgendwann online stellen willst und da hast du (außer mit root-zugriff) keine zugriff auf die konfiguration

              bleibt dir also nur noch die varinate das im skript zu lösen und da denke ich, ist die abfrage mittels isset, bzw. empty eleganter als einfach komplett alle fehler zu unterdrücken
              EDIT:
              @skalu: trim

              @Abraxax
              wenn das formularfelder sind, sind die doch immer gesetzt, d.h. er muss auff empty prüfen

              Zuletzt geändert von mrhappiness; 27.05.2003, 22:14.
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                Original geschrieben von skalu
                was ist dieses "trim"?
                http://de.php.net/manual/de/function.trim.php
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  also set_error_reporting(0); funzt bei mir nicht. Da bekomme ich am Apache folgenden Fehler:


                  Fatal error: Call to undefined function: set_error_reporting() in /home/www/web/html/index/index.php on line 4

                  Habe den Befehl ganz oben unter einer Kommentarzeile eingefügt.

                  Greetz Lukas
                  Zuletzt geändert von skalu; 27.05.2003, 23:10.

                  Kommentar


                  • #10
                    Original geschrieben von mrhappiness
                    @Abraxax
                    wenn das formularfelder sind, sind die doch immer gesetzt, d.h. er muss auff empty prüfen[/edit]
                    hab erst jetzt deinen edit gesehen....

                    soviel ich meine, reicht das isset() aus. wenn ein feld nciht gefüllt ist, solle es in $_POST nicht als index auftauchen. zumindest habe ich die erfahrung gemacht. und ich prüfe meine dinge eh meist so...
                    PHP-Code:
                    if (isset($_POST["name"]) && trim($_POST["name"])!="") .... 
                    .... wie oben schon beschrieben.
                    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                    Kommentar


                    • #11
                      heißt auch error_reporting, aber abgeshene davon würd ich mir die posts nochmal durchlesen und überlegen ob die anderen vorschlägenicht evtl. besser geeignet sind
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #12
                        Original geschrieben von skalu
                        also set_error_reporting(0); funzt bei mir nicht. Da bekomme ich am Apache folgenden Fehler:
                        verwende einfach isset() und empty(). s.o. damit fährst du eh besser...
                        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                        Kommentar


                        • #13
                          @Abraxax
                          von nem formular wird immer alles übermittelt außer du hast bei ner radiogroup/dropdownlist (select) keinen default-wert angegeben und der user hat da nirgendwo geklickt bevor er das dingen abschickt (textfelder u.ä. sind immer vorhanden)


                          und dann ist
                          PHP-Code:
                          if (isset($irgendwas) && trim($irgendwas)==''
                          das gleiche wie
                          PHP-Code:
                          if (empty($irgendwas)) 
                          Ich denke, also bin ich. - Einige sind trotzdem...

                          Kommentar


                          • #14
                            wenn du meinst.

                            ich teste das mal bei gelegenheit aus. da könnte ich mir wieder etwas code sparen. nur empty() hat wohl noch einen nachteil. weiss nur nicht mehr welchen. daher habe ich das nie verwendet.
                            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                            Kommentar


                            • #15
                              empty gibt dir ne notice wenn das dingen !isset is (was hier ja ausscheidet denk ich)

                              wenn du noch nen nachteil hast immer her damit, man lernt ja nie aus *g*
                              Ich denke, also bin ich. - Einige sind trotzdem...

                              Kommentar

                              Lädt...
                              X