Fehlermeldung..."Undefined variable"?

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

  • Fehlermeldung..."Undefined variable"?

    Hab da ein Problem und bekomme es nicht hin.

    Nachdem ich meine php version auf 4.3.4 aktualisiert habe, funktioniert mein script zum bildupload nicht mehr? Er gibt mir jetzt immer die Fehlermeldung:

    Notice: Undefined variable: bilddatei in c:\www\ordner\login\bildformular.php on line 29

    Ich hab die zeile 29 makiert...

    ?


    PHP-Code:
    <?php
    include "../optik/oben.php";




    $extlimit "yes";    //Bildendung
    $endung = array(".gif",".jpg",".png",".jpeg",".JPG",".GIF",".PNG",".JPEG");  //endungen auswählen!
    $sizelimit "yes";   //yes oder no
    $sizebytes "100000";    //Bildgröße in byte      100000 muß hier stehen!!!!!!!!!!!!!

    if (isset($_POST['passwort'])) {
    $passwort $_POST['passwort'];
    }
    if (isset(
    $_POST['email'])) {
    $email $_POST['email'];
    }

    $sqlkommando "SELECT * FROM $tabelle where (email = '$email' AND passwort = '$passwort') ";
        
    $sqlanfrage mysql_query($sqlkommando) or die("Error: " mysql_error());

     if(
    $daten mysql_fetch_object($sqlanfrage))//anfrage
         
    {

    }
        if(
    $_POST['senden']) {
        

            if(
    $bilddatei!= "") {        // Hier ist zeile 29 


                
    if (($sizelimit == "yes") && ($bilddatei_size $sizebytes)) {

                    echo 
    "<center>Das Bild überschreitet die maximale Bildgröße von 100 Kilobyte.</center><br>";

                    
    $bilddatei "falsch";

               }

                
    $ext strrchr($bilddatei_name,'.');

                    if ((
    $extlimit == "yes") && (!in_array($ext,$endung))) {
                        if (
    $bilddatei_name == "") {
                        echo 
    "<center>Es wurde keine Bild ausgewählt.</center><br>";
                        }
                        else {
                       echo 
    "<center>Die Bilddatei hat nicht das richtige Format.</center><br>";
                           
    $bilddatei "falsch";
                           }
                    }
                else {


                  if (!(
    $bilddatei == "falsch")) {

                  
    $namedesaltenbildes "$bilddatei_name";
                  
    $bilddatei_name "$daten->id.jpg";

                    
    copy($bilddatei,"../image/$bilddatei_name");

                    
    $bilder "$bilddatei_name";

    //----------------Hier beginnt update----------------------------------------
      
    $sqlbefehl "UPDATE
                         
    $tabelle
                   SET
                         bilder = '"
    .$bilder."'


                   WHERE
                         passwort = '"
    .$passwort."'
                         AND email = '"
    .$email."'";

      
    $sqlanfrage mysql_query($sqlbefehl) or die("Error: " mysql_error());
    //-----------------Hier endet update-----------------------------------------

    echo "<center>Das Bild $namedesaltenbildes  wurde Erfolgreich hochgeladen!</center><br>";
                  }

                }
                }
            }

    ?>
    <html>
    <head>
    <style type="text/css">
    <!--
     form

     .senden
       { width:80px; }

     .durchsuchen
       { width:280px; }


    -->
    </style>
    </head>
    <body>

    <center>

    <table border='0' bgcolor='#efefef' cellspacing='0' cellpadding='0'><tr><td>

    <fieldset>

    <table border='0' bgcolor='#efefef' cellspacing='0' cellpadding='0'>
    <tr>
      <td colspan='2' width='300' height='200'>

    ...usw...

    echo "<center>";
    echo "<img src='../image/$daten->bilder' width=\"$neuebreite\" height=\"$neuehoehe\" alt=\"$daten->marke&nbsp;$daten->typ\">";
    echo "</center>";

    }
    else {
    echo "<center>Fehler, gehen Sie zur Startseite.</center>";
    }
    ?>
      </td>
    </tr>
      <td colspan='2'><center>
    <br>
    <form name='mf' action='bildformular.php' method='post' enctype='multipart/form-data'>


    <input type='file' name='bilddatei' value='durchsuchen' class='durchsuchen'>
    <br>
    <br>
    </center>
      </td>
    </tr>
      <td width='150' height='50'>

      </td>
      <td width='150' height='50'>
    <center>

    <?php
    echo "<input name='email' type='hidden'  class='kurz' size='5' value='$daten->email'>";
    echo 
    "<input name='passwort' type='hidden'  class='kurz' size='5' value='$daten->passwort'>";

    ?>

    <input type='submit' NAME='senden' VALUE='Hochladen' class='senden'>
    </center>

      </td></form>
    </tr>
    <tr>
      <td width='150' height='50'><?// echo "$ausgeben"; //zur kontrolle -----------?>

      </td>

    </tr>
    </table>

    </tr></td></table>

    </center>


    </body>
    </html>
    <?php

    include "../optik/unten.php";
    ?>
    Wie kann ich denn die variable bilddatei definieren? Muß da jetzt irgendwas mit http oder so davor? Mit meiner alten php version lief es.
    Zuletzt geändert von martinm79; 14.03.2004, 17:17.
    Gut geraten ist halb gewußt.

  • #2
    Tja, wie PHP schon bemerkt hat, wird die Variable $bilddatei nirgendwo definiert - wo soll die denn herkommen?

    das mit dem $_POST weißt du ja schon, aber es gibt auch $_FILES. In deinem Fall vermutlich $_FILES['bilddatei'] bzw. $_FILES['bilddatei']['size'] usw.

    Und um den Fehler abzufangen nicht nur prüfen mit
    PHP-Code:
    if($variable != "") {... 
    sondern grundsätzlich
    PHP-Code:
    if(isset($variable) && !empty($variable)) {... 
    hopka.net!

    Kommentar


    • #3
      btw: bei konkreten PHP-fehlern brauchst du nicht unter "brainstorming" zu posten, das ist nämlich eher für ideen-/konzeptsuche bestimmt.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        ja ich hab es ja schon mit $_POST und $_FILES probiert.
        Aber wenn ich $_FILES['bilddatei'] einsetzt zeigt er mir diese Fehlermeldung:

        Notice: Undefined variable: bilddatei_size in c:\www\ordner\login\bildformular.php on line 32

        Notice: Undefined variable: bilddatei_name in c:\www\ordner\login\bildformular.php on line 40

        Notice: Undefined variable: bilddatei_name in c:\www\ordner\login\bildformular.php on line 43

        Deswegen bin ich ja ratlos.

        Muß ich denn size und name auch noch vorher definieren?
        Gut geraten ist halb gewußt.

        Kommentar


        • #5
          Hallo....

          wenn die <input type="file" name="meinbild"> heisst, kann der source so aussehen:


          if(is_uploaded_file($_FILES['meinbild']['tmp_name']))
          {
          copy($_FILES['meinbild']['tmp_name'],'/home/www/htdocs/bilder/'.$_FILES['meinbild']['name']);
          }


          mit print_r($_FILES); kannst Du Dir einen Überblick über die hochgeladenen Datei(en) verschaffen.

          Ausserdem ist eine Notice kein Fehler. Dir wurde lediglich mitgeteilt das die aufgerufene Variable nicht gesetzt ist:

          error_reporting(E_PARSE);

          :-)
          [font=verdana] '][' .... düdeldüdel dü

          Gruss Socket
          -----
          Nein, ich programmiere kein Clan-Script für Dich, nein, auch nicht wenn Deine Schwester gut aussieht!
          [color=darkblue]
          Socket Funktionen[/color]
          [/font]

          Kommentar


          • #6
            Danke.

            Hab mir das mit print_r($_FILES); schon alles ausgegeben.
            Aber wie kann ich denn auf die einzelnen Variablen zugreifen, wie größe?
            Mit meiner neuen php version haut meine alte methode nicht mehr hin.
            Gut geraten ist halb gewußt.

            Kommentar


            • #7
              Original geschrieben von Hopka
              ... In deinem Fall vermutlich $_FILES['bilddatei'] bzw. $_FILES['bilddatei']['size'] usw.
              lesen kannst du?
              brauchst du nur noch ein bisschen denken.
              hopka.net!

              Kommentar


              • #8
                Ja na lesen und denken kann ich, aber vielleicht noch nicht gut genug. Ich hab alles probiert, aber egal wie ich $_FILES['bilddatei']['size'] einsetzte,
                bekomme ich immer eine meldung.
                Gut geraten ist halb gewußt.

                Kommentar


                • #9
                  PHP-Code:
                  //benutze in deinen Scripten folgendes
                  //wenn due die Warnhinweise nicht haben willst.

                  empty()
                  isset()
                  is_uploaded_file()

                  //siehe dazu auch ins Handbuch wie die Funktionen einzusetzen sind. 
                  siehe auch:

                  http://www.dclp-faq.de/q/q-fehler-variable.html
                  mfg
                  marc75

                  <Platz für anderes>

                  Kommentar


                  • #10
                    Original geschrieben von marc75
                    PHP-Code:
                    empty()
                    isset() 
                    siehe auch:
                    http://www.dclp-faq.de/q/q-fehler-variable.html
                    siehe auch: mein posting weiter oben.

                    Original geschrieben von martinm79
                    Ja na lesen und denken kann ich, aber vielleicht noch nicht gut genug. Ich hab alles probiert, aber egal wie ich $_FILES['bilddatei']['size'] einsetzte,
                    bekomme ich immer eine meldung.
                    Was denn für eine?
                    Immer noch "Notice: Undefined variable:", oder was? Die Variable in $_FILES wird natürlich nur gesetzt, wenn du tatsächlich ein Bild hochlädst.
                    Den Fehler kannst du abfangen mit isset und empty (für den Fall, dass du dass noch nicht mitbekommen hast)
                    hopka.net!

                    Kommentar


                    • #11
                      Ja, na fehlermeldungen abfangen mit if und isset und empty kann ich ja. Es stört mich ja auch erstmal eigendlich nicht wirklich, wenn er wenigstens ein hochladen würde. Er hatte ja früher immer welche hochgeladen aber er macht es einfach nicht mehr. hab auch keine hoffnung mehr, weil ich ja schon alles durch habe.
                      Gut geraten ist halb gewußt.

                      Kommentar

                      Lädt...
                      X