Peinlich! Undefined Variable kann ich nich mehr sehen!!!

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

  • Peinlich! Undefined Variable kann ich nich mehr sehen!!!

    Hi,

    oh mann, das ist ja echt peinlich, immerhin kann ich schon so einiges mit PHP realisieren, bloss eine Sache stoert mich ... LOL ... ich bekomme von PHP andauernd die Meldung:

    "Warning: Undefined variable: z3 in C:/XITAMI/webpages/php/eigene mysql/auswertung.php3 on line xxx

    Warning: Undefined variable: z4 in C:/XITAMI/webpages/php/eigene mysql/auswertung.php3 on line xxx

    Warning: Undefined variable: z5 in C:/XITAMI/webpages/php/eigene mysql/auswertung.php3 on line xxx"

    UND ICH KANN DAS NICHT MEHR SEHEN!!!

    ...macht sich vor Allem nicht schoen auf der Seite

    ne ne, also, was kann ich dagegen tun?

    KANN man wirklich diese Variablen vorabdefinieren? (...das kam bisher noch nicht in meinem Buch vor )

    ODER

    kann ich PHP sagen, es soll ueber diese Fehler hinweg sehen??

    Danke fuer Eure Antworten,

    so long,

    Duncan McLord


  • #2
    poste bitte das script!

    So kann man nicht viel dazu sagen wo der Fehler genau liegt.


    Kaffi
    Errare humanum est

    W32.Schmalle.H@mm

    Kommentar


    • #3
      hm,

      das hat nix mit "einem" Skript zu tun, ist ein generelles Problem bei mir.

      mal angenommen ich schreibe:

      $number=mysql_num_rows($result);

      (NUR ALS BEISPIEL!!!)

      dann erhalte ich zwar eine korrekte Bearbeitung, aber auch im Browser eine Fehlermeldung:

      Warning: Undefined variable: number in XXX on line XXX

      Ich glaube es liegt einfach daran, dass ich die variable einfach mal so ins Pogramm setze und nicht vorher sage:
      "definiere variable number als integer"
      oder so. Muss man schliesslich bei java oder c++ auch immer, da kann man auch nicht einfach so mit den Variablen locker flockig um sich werfen.

      ABER es wundert mich halt, dass es nur zu einer solchen WARNUNG kommt, d.h. es duerfte doch eigentlich KEIN Programmfehler sein, da das Scrpit ja auch richtig bearbeitet wird.

      Es muesste doch vielleicht direkt in PHP selbst eine Moeglichkeit geben, diese Warnungsmeldungen zu unterdruecken.
      Gibts da so was???

      so long,

      Duncan McLord

      Kommentar


      • #4
        ne du hast in dem fall die variable $result nicht definiert. wenn result ein text ist ode rne mysql query dann musst du es in anführungszeichen setzten also

        $result = "SELECT * FROM blubb WHERE flup...";
        erst dann kannst du
        $number = mysql_rows($result);

        machen.
        Die variable result kann narürlich auch von nem formular übergeben sein egal, achte darauf, dass du die anführungszeichen nicht vergisst.

        Kommentar


        • #5
          Ok. achtung, hier kommt jetzt ein Killer:

          So, in dem Listing habe ich auch wieder das Problem,
          hier wird mir gesagt, dass $action1 nicht definiert sei.
          Was nu?

          Ach ja, dass mit dem in "" schreiben klappt leider nicht, da ich den Fehler auch bei solchen Dingen, wie s.u. habe!


          <?
          if($action1) {
          // if files have been uploaded, process them
          ?>

          <HTML>
          <head>
          <title>File Upload Results</title>
          </head>
          <body bgcolor="#FFFFFF" text="#000000">
          <p><font face="Arial, Helvetica, sans-serif">
          <font size="+1">File Upload Results</font><br><br>
          <?
          set_time_limit(60);
          $path1="upload/";
          for($i=0;$i<4;$i++) {
          switch($i) {
          case 0:
          $source=$file1;
          $source_name=$file1_name;
          break;
          case 1:
          $source=$file2;
          $source_name=$file2_name;
          break;

          case 2:
          $source=$file3;
          $source_name=$file3_name;
          break;

          case 3:
          $source=$file4;
          $source_name=$file4_name;
          break;
          }
          if (($source<>"none") && ($source<>"")) {
          if ($error1<>1) {
          $dest=$path1.$source_name;
          if (copy($source,$dest)) {
          echo "$source_name has been uploaded<br>\n";
          } else {
          echo "Upload dir not write-enabled\n";
          $error=1;
          }
          }
          unlink($source);
          }
          }
          ?>
          <br><a href="FileUpload.php">Back</a>
          </font></p>
          </body>
          </html>
          <?
          } else {
          ?>
          <html>
          <head>
          <title>File Upload</title>
          </head>
          <body bgcolor="#FFFFFF" text="#000000">
          <p><font face="Arial, Helvetica, sans-serif">
          <font size="+1">File Upload</font><br><br>
          If your browser is upload-enabled, you will see &quot;Browse&quot; (Netscape, IE) or &quot;. . .&quot; (Opera) buttons below. Use them to select file(s) to upload, then click the &quot;Upload&quot; button. After the files have been uploaded, you will see a results screen.<br>
          <form method="post" enctype="multipart/form-data" action="FileUpload.php">
          <input type="hidden" name="MAX_FILE_SIZE" value="400000">
          <input type="hidden" name="action1" value="1">
          File 1: <input type="file" name="file1" size="30"><br>
          File 2: <input type="file" name="file2" size="30"><br>
          File 3: <input type="file" name="file3" size="30"><br>
          File 4: <input type="file" name="file4" size="30"><br>
          <input type="submit" value="Upload">
          </form>
          </font></p>
          </body>
          </html>
          <?
          }
          ?>

          Kommentar


          • #6
            il problemo ist: du hast das error_reporting zu hoch gesetzt.

            In der php.ini gibt es eine Zeile, die mit error_reporting = anfängt, als Standard steht hier
            error_reporting = E_ALL & ~E_NOTICE ; Show all errors except for notices
            Hier wird festgelegt, wie pingelig der Interpreter ist. Fehlt das ~E_NOTICE, so wird auch jedesmal gemeckert wenn eine Variable zum ersten Mal benutzt wird, denn das Deklarieren ist in php nicht möglich.
            Warning: Undefined variable sollte zwar eigentlich nur eine Notice sein; aber wenn das mit obigem setting nicht klappt, füg eben einfach noch & ~E_WARNING dazu.


            mein Sport: mein Frühstück: meine Arbeit:

            Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

            Kommentar


            • #7
              die einfache Methode ist, wenn du für deine Skripte das error_reporting runterschaltest.

              Wenn du deine Ruhe haben willst und denkst, alles klappt prima, dann ist error_reporting(0); am Beginn des Skriptes ganz fein.

              Kommentar


              • #8
                Kein Fehler

                Yupp

                Ich würde wirklich mal die php.ini durchsehen, denn ich bekomme keine Fehlermeldung; bis auf die Fehlermeldung dass die Datei FileUpload.php nicht vorhanden ist =:-)

                Kommentar

                Lädt...
                X